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 gdk4_sys as gdk;
16use gdk_pixbuf_sys as gdk_pixbuf;
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#[cfg(unix)]
25#[allow(unused_imports)]
26use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
27#[allow(unused_imports)]
28use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
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::{gboolean, gconstpointer, gpointer, GType};
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_NUM_PROPERTIES: GtkEditableProperties = 8;
437
438pub type GtkEntryIconPosition = c_int;
439pub const GTK_ENTRY_ICON_PRIMARY: GtkEntryIconPosition = 0;
440pub const GTK_ENTRY_ICON_SECONDARY: GtkEntryIconPosition = 1;
441
442pub type GtkEventSequenceState = c_int;
443pub const GTK_EVENT_SEQUENCE_NONE: GtkEventSequenceState = 0;
444pub const GTK_EVENT_SEQUENCE_CLAIMED: GtkEventSequenceState = 1;
445pub const GTK_EVENT_SEQUENCE_DENIED: GtkEventSequenceState = 2;
446
447pub type GtkFileChooserAction = c_int;
448pub const GTK_FILE_CHOOSER_ACTION_OPEN: GtkFileChooserAction = 0;
449pub const GTK_FILE_CHOOSER_ACTION_SAVE: GtkFileChooserAction = 1;
450pub const GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: GtkFileChooserAction = 2;
451
452pub type GtkFileChooserError = c_int;
453pub const GTK_FILE_CHOOSER_ERROR_NONEXISTENT: GtkFileChooserError = 0;
454pub const GTK_FILE_CHOOSER_ERROR_BAD_FILENAME: GtkFileChooserError = 1;
455pub const GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS: GtkFileChooserError = 2;
456pub const GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME: GtkFileChooserError = 3;
457
458pub type GtkFilterChange = c_int;
459pub const GTK_FILTER_CHANGE_DIFFERENT: GtkFilterChange = 0;
460pub const GTK_FILTER_CHANGE_LESS_STRICT: GtkFilterChange = 1;
461pub const GTK_FILTER_CHANGE_MORE_STRICT: GtkFilterChange = 2;
462
463pub type GtkFilterMatch = c_int;
464pub const GTK_FILTER_MATCH_SOME: GtkFilterMatch = 0;
465pub const GTK_FILTER_MATCH_NONE: GtkFilterMatch = 1;
466pub const GTK_FILTER_MATCH_ALL: GtkFilterMatch = 2;
467
468pub type GtkFontLevel = c_int;
469pub const GTK_FONT_LEVEL_FAMILY: GtkFontLevel = 0;
470pub const GTK_FONT_LEVEL_FACE: GtkFontLevel = 1;
471pub const GTK_FONT_LEVEL_FONT: GtkFontLevel = 2;
472pub const GTK_FONT_LEVEL_FEATURES: GtkFontLevel = 3;
473
474pub type GtkFontRendering = c_int;
475pub const GTK_FONT_RENDERING_AUTOMATIC: GtkFontRendering = 0;
476pub const GTK_FONT_RENDERING_MANUAL: GtkFontRendering = 1;
477
478pub type GtkGraphicsOffloadEnabled = c_int;
479pub const GTK_GRAPHICS_OFFLOAD_ENABLED: GtkGraphicsOffloadEnabled = 0;
480pub const GTK_GRAPHICS_OFFLOAD_DISABLED: GtkGraphicsOffloadEnabled = 1;
481
482pub type GtkIconSize = c_int;
483pub const GTK_ICON_SIZE_INHERIT: GtkIconSize = 0;
484pub const GTK_ICON_SIZE_NORMAL: GtkIconSize = 1;
485pub const GTK_ICON_SIZE_LARGE: GtkIconSize = 2;
486
487pub type GtkIconThemeError = c_int;
488pub const GTK_ICON_THEME_NOT_FOUND: GtkIconThemeError = 0;
489pub const GTK_ICON_THEME_FAILED: GtkIconThemeError = 1;
490
491pub type GtkIconViewDropPosition = c_int;
492pub const GTK_ICON_VIEW_NO_DROP: GtkIconViewDropPosition = 0;
493pub const GTK_ICON_VIEW_DROP_INTO: GtkIconViewDropPosition = 1;
494pub const GTK_ICON_VIEW_DROP_LEFT: GtkIconViewDropPosition = 2;
495pub const GTK_ICON_VIEW_DROP_RIGHT: GtkIconViewDropPosition = 3;
496pub const GTK_ICON_VIEW_DROP_ABOVE: GtkIconViewDropPosition = 4;
497pub const GTK_ICON_VIEW_DROP_BELOW: GtkIconViewDropPosition = 5;
498
499pub type GtkImageType = c_int;
500pub const GTK_IMAGE_EMPTY: GtkImageType = 0;
501pub const GTK_IMAGE_ICON_NAME: GtkImageType = 1;
502pub const GTK_IMAGE_GICON: GtkImageType = 2;
503pub const GTK_IMAGE_PAINTABLE: GtkImageType = 3;
504
505pub type GtkInputPurpose = c_int;
506pub const GTK_INPUT_PURPOSE_FREE_FORM: GtkInputPurpose = 0;
507pub const GTK_INPUT_PURPOSE_ALPHA: GtkInputPurpose = 1;
508pub const GTK_INPUT_PURPOSE_DIGITS: GtkInputPurpose = 2;
509pub const GTK_INPUT_PURPOSE_NUMBER: GtkInputPurpose = 3;
510pub const GTK_INPUT_PURPOSE_PHONE: GtkInputPurpose = 4;
511pub const GTK_INPUT_PURPOSE_URL: GtkInputPurpose = 5;
512pub const GTK_INPUT_PURPOSE_EMAIL: GtkInputPurpose = 6;
513pub const GTK_INPUT_PURPOSE_NAME: GtkInputPurpose = 7;
514pub const GTK_INPUT_PURPOSE_PASSWORD: GtkInputPurpose = 8;
515pub const GTK_INPUT_PURPOSE_PIN: GtkInputPurpose = 9;
516pub const GTK_INPUT_PURPOSE_TERMINAL: GtkInputPurpose = 10;
517
518pub type GtkInscriptionOverflow = c_int;
519pub const GTK_INSCRIPTION_OVERFLOW_CLIP: GtkInscriptionOverflow = 0;
520pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START: GtkInscriptionOverflow = 1;
521pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE: GtkInscriptionOverflow = 2;
522pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END: GtkInscriptionOverflow = 3;
523
524pub type GtkJustification = c_int;
525pub const GTK_JUSTIFY_LEFT: GtkJustification = 0;
526pub const GTK_JUSTIFY_RIGHT: GtkJustification = 1;
527pub const GTK_JUSTIFY_CENTER: GtkJustification = 2;
528pub const GTK_JUSTIFY_FILL: GtkJustification = 3;
529
530pub type GtkLevelBarMode = c_int;
531pub const GTK_LEVEL_BAR_MODE_CONTINUOUS: GtkLevelBarMode = 0;
532pub const GTK_LEVEL_BAR_MODE_DISCRETE: GtkLevelBarMode = 1;
533
534pub type GtkLicense = c_int;
535pub const GTK_LICENSE_UNKNOWN: GtkLicense = 0;
536pub const GTK_LICENSE_CUSTOM: GtkLicense = 1;
537pub const GTK_LICENSE_GPL_2_0: GtkLicense = 2;
538pub const GTK_LICENSE_GPL_3_0: GtkLicense = 3;
539pub const GTK_LICENSE_LGPL_2_1: GtkLicense = 4;
540pub const GTK_LICENSE_LGPL_3_0: GtkLicense = 5;
541pub const GTK_LICENSE_BSD: GtkLicense = 6;
542pub const GTK_LICENSE_MIT_X11: GtkLicense = 7;
543pub const GTK_LICENSE_ARTISTIC: GtkLicense = 8;
544pub const GTK_LICENSE_GPL_2_0_ONLY: GtkLicense = 9;
545pub const GTK_LICENSE_GPL_3_0_ONLY: GtkLicense = 10;
546pub const GTK_LICENSE_LGPL_2_1_ONLY: GtkLicense = 11;
547pub const GTK_LICENSE_LGPL_3_0_ONLY: GtkLicense = 12;
548pub const GTK_LICENSE_AGPL_3_0: GtkLicense = 13;
549pub const GTK_LICENSE_AGPL_3_0_ONLY: GtkLicense = 14;
550pub const GTK_LICENSE_BSD_3: GtkLicense = 15;
551pub const GTK_LICENSE_APACHE_2_0: GtkLicense = 16;
552pub const GTK_LICENSE_MPL_2_0: GtkLicense = 17;
553pub const GTK_LICENSE_0BSD: GtkLicense = 18;
554
555pub type GtkListTabBehavior = c_int;
556pub const GTK_LIST_TAB_ALL: GtkListTabBehavior = 0;
557pub const GTK_LIST_TAB_ITEM: GtkListTabBehavior = 1;
558pub const GTK_LIST_TAB_CELL: GtkListTabBehavior = 2;
559
560pub type GtkMessageType = c_int;
561pub const GTK_MESSAGE_INFO: GtkMessageType = 0;
562pub const GTK_MESSAGE_WARNING: GtkMessageType = 1;
563pub const GTK_MESSAGE_QUESTION: GtkMessageType = 2;
564pub const GTK_MESSAGE_ERROR: GtkMessageType = 3;
565pub const GTK_MESSAGE_OTHER: GtkMessageType = 4;
566
567pub type GtkMovementStep = c_int;
568pub const GTK_MOVEMENT_LOGICAL_POSITIONS: GtkMovementStep = 0;
569pub const GTK_MOVEMENT_VISUAL_POSITIONS: GtkMovementStep = 1;
570pub const GTK_MOVEMENT_WORDS: GtkMovementStep = 2;
571pub const GTK_MOVEMENT_DISPLAY_LINES: GtkMovementStep = 3;
572pub const GTK_MOVEMENT_DISPLAY_LINE_ENDS: GtkMovementStep = 4;
573pub const GTK_MOVEMENT_PARAGRAPHS: GtkMovementStep = 5;
574pub const GTK_MOVEMENT_PARAGRAPH_ENDS: GtkMovementStep = 6;
575pub const GTK_MOVEMENT_PAGES: GtkMovementStep = 7;
576pub const GTK_MOVEMENT_BUFFER_ENDS: GtkMovementStep = 8;
577pub const GTK_MOVEMENT_HORIZONTAL_PAGES: GtkMovementStep = 9;
578
579pub type GtkNaturalWrapMode = c_int;
580pub const GTK_NATURAL_WRAP_INHERIT: GtkNaturalWrapMode = 0;
581pub const GTK_NATURAL_WRAP_NONE: GtkNaturalWrapMode = 1;
582pub const GTK_NATURAL_WRAP_WORD: GtkNaturalWrapMode = 2;
583
584pub type GtkNotebookTab = c_int;
585pub const GTK_NOTEBOOK_TAB_FIRST: GtkNotebookTab = 0;
586pub const GTK_NOTEBOOK_TAB_LAST: GtkNotebookTab = 1;
587
588pub type GtkNumberUpLayout = c_int;
589pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM: GtkNumberUpLayout = 0;
590pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP: GtkNumberUpLayout = 1;
591pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM: GtkNumberUpLayout = 2;
592pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP: GtkNumberUpLayout = 3;
593pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT: GtkNumberUpLayout = 4;
594pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT: GtkNumberUpLayout = 5;
595pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT: GtkNumberUpLayout = 6;
596pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT: GtkNumberUpLayout = 7;
597
598pub type GtkOrdering = c_int;
599pub const GTK_ORDERING_SMALLER: GtkOrdering = -1;
600pub const GTK_ORDERING_EQUAL: GtkOrdering = 0;
601pub const GTK_ORDERING_LARGER: GtkOrdering = 1;
602
603pub type GtkOrientation = c_int;
604pub const GTK_ORIENTATION_HORIZONTAL: GtkOrientation = 0;
605pub const GTK_ORIENTATION_VERTICAL: GtkOrientation = 1;
606
607pub type GtkOverflow = c_int;
608pub const GTK_OVERFLOW_VISIBLE: GtkOverflow = 0;
609pub const GTK_OVERFLOW_HIDDEN: GtkOverflow = 1;
610
611pub type GtkPackType = c_int;
612pub const GTK_PACK_START: GtkPackType = 0;
613pub const GTK_PACK_END: GtkPackType = 1;
614
615pub type GtkPadActionType = c_int;
616pub const GTK_PAD_ACTION_BUTTON: GtkPadActionType = 0;
617pub const GTK_PAD_ACTION_RING: GtkPadActionType = 1;
618pub const GTK_PAD_ACTION_STRIP: GtkPadActionType = 2;
619
620pub type GtkPageOrientation = c_int;
621pub const GTK_PAGE_ORIENTATION_PORTRAIT: GtkPageOrientation = 0;
622pub const GTK_PAGE_ORIENTATION_LANDSCAPE: GtkPageOrientation = 1;
623pub const GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: GtkPageOrientation = 2;
624pub const GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: GtkPageOrientation = 3;
625
626pub type GtkPageSet = c_int;
627pub const GTK_PAGE_SET_ALL: GtkPageSet = 0;
628pub const GTK_PAGE_SET_EVEN: GtkPageSet = 1;
629pub const GTK_PAGE_SET_ODD: GtkPageSet = 2;
630
631pub type GtkPanDirection = c_int;
632pub const GTK_PAN_DIRECTION_LEFT: GtkPanDirection = 0;
633pub const GTK_PAN_DIRECTION_RIGHT: GtkPanDirection = 1;
634pub const GTK_PAN_DIRECTION_UP: GtkPanDirection = 2;
635pub const GTK_PAN_DIRECTION_DOWN: GtkPanDirection = 3;
636
637pub type GtkPolicyType = c_int;
638pub const GTK_POLICY_ALWAYS: GtkPolicyType = 0;
639pub const GTK_POLICY_AUTOMATIC: GtkPolicyType = 1;
640pub const GTK_POLICY_NEVER: GtkPolicyType = 2;
641pub const GTK_POLICY_EXTERNAL: GtkPolicyType = 3;
642
643pub type GtkPositionType = c_int;
644pub const GTK_POS_LEFT: GtkPositionType = 0;
645pub const GTK_POS_RIGHT: GtkPositionType = 1;
646pub const GTK_POS_TOP: GtkPositionType = 2;
647pub const GTK_POS_BOTTOM: GtkPositionType = 3;
648
649pub type GtkPrintDuplex = c_int;
650pub const GTK_PRINT_DUPLEX_SIMPLEX: GtkPrintDuplex = 0;
651pub const GTK_PRINT_DUPLEX_HORIZONTAL: GtkPrintDuplex = 1;
652pub const GTK_PRINT_DUPLEX_VERTICAL: GtkPrintDuplex = 2;
653
654pub type GtkPrintError = c_int;
655pub const GTK_PRINT_ERROR_GENERAL: GtkPrintError = 0;
656pub const GTK_PRINT_ERROR_INTERNAL_ERROR: GtkPrintError = 1;
657pub const GTK_PRINT_ERROR_NOMEM: GtkPrintError = 2;
658pub const GTK_PRINT_ERROR_INVALID_FILE: GtkPrintError = 3;
659
660pub type GtkPrintOperationAction = c_int;
661pub const GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: GtkPrintOperationAction = 0;
662pub const GTK_PRINT_OPERATION_ACTION_PRINT: GtkPrintOperationAction = 1;
663pub const GTK_PRINT_OPERATION_ACTION_PREVIEW: GtkPrintOperationAction = 2;
664pub const GTK_PRINT_OPERATION_ACTION_EXPORT: GtkPrintOperationAction = 3;
665
666pub type GtkPrintOperationResult = c_int;
667pub const GTK_PRINT_OPERATION_RESULT_ERROR: GtkPrintOperationResult = 0;
668pub const GTK_PRINT_OPERATION_RESULT_APPLY: GtkPrintOperationResult = 1;
669pub const GTK_PRINT_OPERATION_RESULT_CANCEL: GtkPrintOperationResult = 2;
670pub const GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: GtkPrintOperationResult = 3;
671
672pub type GtkPrintPages = c_int;
673pub const GTK_PRINT_PAGES_ALL: GtkPrintPages = 0;
674pub const GTK_PRINT_PAGES_CURRENT: GtkPrintPages = 1;
675pub const GTK_PRINT_PAGES_RANGES: GtkPrintPages = 2;
676pub const GTK_PRINT_PAGES_SELECTION: GtkPrintPages = 3;
677
678pub type GtkPrintQuality = c_int;
679pub const GTK_PRINT_QUALITY_LOW: GtkPrintQuality = 0;
680pub const GTK_PRINT_QUALITY_NORMAL: GtkPrintQuality = 1;
681pub const GTK_PRINT_QUALITY_HIGH: GtkPrintQuality = 2;
682pub const GTK_PRINT_QUALITY_DRAFT: GtkPrintQuality = 3;
683
684pub type GtkPrintStatus = c_int;
685pub const GTK_PRINT_STATUS_INITIAL: GtkPrintStatus = 0;
686pub const GTK_PRINT_STATUS_PREPARING: GtkPrintStatus = 1;
687pub const GTK_PRINT_STATUS_GENERATING_DATA: GtkPrintStatus = 2;
688pub const GTK_PRINT_STATUS_SENDING_DATA: GtkPrintStatus = 3;
689pub const GTK_PRINT_STATUS_PENDING: GtkPrintStatus = 4;
690pub const GTK_PRINT_STATUS_PENDING_ISSUE: GtkPrintStatus = 5;
691pub const GTK_PRINT_STATUS_PRINTING: GtkPrintStatus = 6;
692pub const GTK_PRINT_STATUS_FINISHED: GtkPrintStatus = 7;
693pub const GTK_PRINT_STATUS_FINISHED_ABORTED: GtkPrintStatus = 8;
694
695pub type GtkPropagationLimit = c_int;
696pub const GTK_LIMIT_NONE: GtkPropagationLimit = 0;
697pub const GTK_LIMIT_SAME_NATIVE: GtkPropagationLimit = 1;
698
699pub type GtkPropagationPhase = c_int;
700pub const GTK_PHASE_NONE: GtkPropagationPhase = 0;
701pub const GTK_PHASE_CAPTURE: GtkPropagationPhase = 1;
702pub const GTK_PHASE_BUBBLE: GtkPropagationPhase = 2;
703pub const GTK_PHASE_TARGET: GtkPropagationPhase = 3;
704
705pub type GtkRecentManagerError = c_int;
706pub const GTK_RECENT_MANAGER_ERROR_NOT_FOUND: GtkRecentManagerError = 0;
707pub const GTK_RECENT_MANAGER_ERROR_INVALID_URI: GtkRecentManagerError = 1;
708pub const GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: GtkRecentManagerError = 2;
709pub const GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: GtkRecentManagerError = 3;
710pub const GTK_RECENT_MANAGER_ERROR_READ: GtkRecentManagerError = 4;
711pub const GTK_RECENT_MANAGER_ERROR_WRITE: GtkRecentManagerError = 5;
712pub const GTK_RECENT_MANAGER_ERROR_UNKNOWN: GtkRecentManagerError = 6;
713
714pub type GtkResponseType = c_int;
715pub const GTK_RESPONSE_NONE: GtkResponseType = -1;
716pub const GTK_RESPONSE_REJECT: GtkResponseType = -2;
717pub const GTK_RESPONSE_ACCEPT: GtkResponseType = -3;
718pub const GTK_RESPONSE_DELETE_EVENT: GtkResponseType = -4;
719pub const GTK_RESPONSE_OK: GtkResponseType = -5;
720pub const GTK_RESPONSE_CANCEL: GtkResponseType = -6;
721pub const GTK_RESPONSE_CLOSE: GtkResponseType = -7;
722pub const GTK_RESPONSE_YES: GtkResponseType = -8;
723pub const GTK_RESPONSE_NO: GtkResponseType = -9;
724pub const GTK_RESPONSE_APPLY: GtkResponseType = -10;
725pub const GTK_RESPONSE_HELP: GtkResponseType = -11;
726
727pub type GtkRevealerTransitionType = c_int;
728pub const GTK_REVEALER_TRANSITION_TYPE_NONE: GtkRevealerTransitionType = 0;
729pub const GTK_REVEALER_TRANSITION_TYPE_CROSSFADE: GtkRevealerTransitionType = 1;
730pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT: GtkRevealerTransitionType = 2;
731pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT: GtkRevealerTransitionType = 3;
732pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP: GtkRevealerTransitionType = 4;
733pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN: GtkRevealerTransitionType = 5;
734pub const GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT: GtkRevealerTransitionType = 6;
735pub const GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT: GtkRevealerTransitionType = 7;
736pub const GTK_REVEALER_TRANSITION_TYPE_SWING_UP: GtkRevealerTransitionType = 8;
737pub const GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN: GtkRevealerTransitionType = 9;
738
739pub type GtkScrollStep = c_int;
740pub const GTK_SCROLL_STEPS: GtkScrollStep = 0;
741pub const GTK_SCROLL_PAGES: GtkScrollStep = 1;
742pub const GTK_SCROLL_ENDS: GtkScrollStep = 2;
743pub const GTK_SCROLL_HORIZONTAL_STEPS: GtkScrollStep = 3;
744pub const GTK_SCROLL_HORIZONTAL_PAGES: GtkScrollStep = 4;
745pub const GTK_SCROLL_HORIZONTAL_ENDS: GtkScrollStep = 5;
746
747pub type GtkScrollType = c_int;
748pub const GTK_SCROLL_NONE: GtkScrollType = 0;
749pub const GTK_SCROLL_JUMP: GtkScrollType = 1;
750pub const GTK_SCROLL_STEP_BACKWARD: GtkScrollType = 2;
751pub const GTK_SCROLL_STEP_FORWARD: GtkScrollType = 3;
752pub const GTK_SCROLL_PAGE_BACKWARD: GtkScrollType = 4;
753pub const GTK_SCROLL_PAGE_FORWARD: GtkScrollType = 5;
754pub const GTK_SCROLL_STEP_UP: GtkScrollType = 6;
755pub const GTK_SCROLL_STEP_DOWN: GtkScrollType = 7;
756pub const GTK_SCROLL_PAGE_UP: GtkScrollType = 8;
757pub const GTK_SCROLL_PAGE_DOWN: GtkScrollType = 9;
758pub const GTK_SCROLL_STEP_LEFT: GtkScrollType = 10;
759pub const GTK_SCROLL_STEP_RIGHT: GtkScrollType = 11;
760pub const GTK_SCROLL_PAGE_LEFT: GtkScrollType = 12;
761pub const GTK_SCROLL_PAGE_RIGHT: GtkScrollType = 13;
762pub const GTK_SCROLL_START: GtkScrollType = 14;
763pub const GTK_SCROLL_END: GtkScrollType = 15;
764
765pub type GtkScrollablePolicy = c_int;
766pub const GTK_SCROLL_MINIMUM: GtkScrollablePolicy = 0;
767pub const GTK_SCROLL_NATURAL: GtkScrollablePolicy = 1;
768
769pub type GtkSelectionMode = c_int;
770pub const GTK_SELECTION_NONE: GtkSelectionMode = 0;
771pub const GTK_SELECTION_SINGLE: GtkSelectionMode = 1;
772pub const GTK_SELECTION_BROWSE: GtkSelectionMode = 2;
773pub const GTK_SELECTION_MULTIPLE: GtkSelectionMode = 3;
774
775pub type GtkSensitivityType = c_int;
776pub const GTK_SENSITIVITY_AUTO: GtkSensitivityType = 0;
777pub const GTK_SENSITIVITY_ON: GtkSensitivityType = 1;
778pub const GTK_SENSITIVITY_OFF: GtkSensitivityType = 2;
779
780pub type GtkShortcutScope = c_int;
781pub const GTK_SHORTCUT_SCOPE_LOCAL: GtkShortcutScope = 0;
782pub const GTK_SHORTCUT_SCOPE_MANAGED: GtkShortcutScope = 1;
783pub const GTK_SHORTCUT_SCOPE_GLOBAL: GtkShortcutScope = 2;
784
785pub type GtkShortcutType = c_int;
786pub const GTK_SHORTCUT_ACCELERATOR: GtkShortcutType = 0;
787pub const GTK_SHORTCUT_GESTURE_PINCH: GtkShortcutType = 1;
788pub const GTK_SHORTCUT_GESTURE_STRETCH: GtkShortcutType = 2;
789pub const GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE: GtkShortcutType = 3;
790pub const GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE: GtkShortcutType = 4;
791pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT: GtkShortcutType = 5;
792pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT: GtkShortcutType = 6;
793pub const GTK_SHORTCUT_GESTURE: GtkShortcutType = 7;
794pub const GTK_SHORTCUT_GESTURE_SWIPE_LEFT: GtkShortcutType = 8;
795pub const GTK_SHORTCUT_GESTURE_SWIPE_RIGHT: GtkShortcutType = 9;
796
797pub type GtkSizeGroupMode = c_int;
798pub const GTK_SIZE_GROUP_NONE: GtkSizeGroupMode = 0;
799pub const GTK_SIZE_GROUP_HORIZONTAL: GtkSizeGroupMode = 1;
800pub const GTK_SIZE_GROUP_VERTICAL: GtkSizeGroupMode = 2;
801pub const GTK_SIZE_GROUP_BOTH: GtkSizeGroupMode = 3;
802
803pub type GtkSizeRequestMode = c_int;
804pub const GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: GtkSizeRequestMode = 0;
805pub const GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: GtkSizeRequestMode = 1;
806pub const GTK_SIZE_REQUEST_CONSTANT_SIZE: GtkSizeRequestMode = 2;
807
808pub type GtkSortType = c_int;
809pub const GTK_SORT_ASCENDING: GtkSortType = 0;
810pub const GTK_SORT_DESCENDING: GtkSortType = 1;
811
812pub type GtkSorterChange = c_int;
813pub const GTK_SORTER_CHANGE_DIFFERENT: GtkSorterChange = 0;
814pub const GTK_SORTER_CHANGE_INVERTED: GtkSorterChange = 1;
815pub const GTK_SORTER_CHANGE_LESS_STRICT: GtkSorterChange = 2;
816pub const GTK_SORTER_CHANGE_MORE_STRICT: GtkSorterChange = 3;
817
818pub type GtkSorterOrder = c_int;
819pub const GTK_SORTER_ORDER_PARTIAL: GtkSorterOrder = 0;
820pub const GTK_SORTER_ORDER_NONE: GtkSorterOrder = 1;
821pub const GTK_SORTER_ORDER_TOTAL: GtkSorterOrder = 2;
822
823pub type GtkSpinButtonUpdatePolicy = c_int;
824pub const GTK_UPDATE_ALWAYS: GtkSpinButtonUpdatePolicy = 0;
825pub const GTK_UPDATE_IF_VALID: GtkSpinButtonUpdatePolicy = 1;
826
827pub type GtkSpinType = c_int;
828pub const GTK_SPIN_STEP_FORWARD: GtkSpinType = 0;
829pub const GTK_SPIN_STEP_BACKWARD: GtkSpinType = 1;
830pub const GTK_SPIN_PAGE_FORWARD: GtkSpinType = 2;
831pub const GTK_SPIN_PAGE_BACKWARD: GtkSpinType = 3;
832pub const GTK_SPIN_HOME: GtkSpinType = 4;
833pub const GTK_SPIN_END: GtkSpinType = 5;
834pub const GTK_SPIN_USER_DEFINED: GtkSpinType = 6;
835
836pub type GtkStackTransitionType = c_int;
837pub const GTK_STACK_TRANSITION_TYPE_NONE: GtkStackTransitionType = 0;
838pub const GTK_STACK_TRANSITION_TYPE_CROSSFADE: GtkStackTransitionType = 1;
839pub const GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT: GtkStackTransitionType = 2;
840pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT: GtkStackTransitionType = 3;
841pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP: GtkStackTransitionType = 4;
842pub const GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: GtkStackTransitionType = 5;
843pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: GtkStackTransitionType = 6;
844pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: GtkStackTransitionType = 7;
845pub const GTK_STACK_TRANSITION_TYPE_OVER_UP: GtkStackTransitionType = 8;
846pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN: GtkStackTransitionType = 9;
847pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT: GtkStackTransitionType = 10;
848pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: GtkStackTransitionType = 11;
849pub const GTK_STACK_TRANSITION_TYPE_UNDER_UP: GtkStackTransitionType = 12;
850pub const GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: GtkStackTransitionType = 13;
851pub const GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: GtkStackTransitionType = 14;
852pub const GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: GtkStackTransitionType = 15;
853pub const GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: GtkStackTransitionType = 16;
854pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: GtkStackTransitionType = 17;
855pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: GtkStackTransitionType = 18;
856pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: GtkStackTransitionType = 19;
857pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT: GtkStackTransitionType = 20;
858pub const GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT: GtkStackTransitionType = 21;
859pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT: GtkStackTransitionType = 22;
860
861pub type GtkStringFilterMatchMode = c_int;
862pub const GTK_STRING_FILTER_MATCH_MODE_EXACT: GtkStringFilterMatchMode = 0;
863pub const GTK_STRING_FILTER_MATCH_MODE_SUBSTRING: GtkStringFilterMatchMode = 1;
864pub const GTK_STRING_FILTER_MATCH_MODE_PREFIX: GtkStringFilterMatchMode = 2;
865
866pub type GtkSymbolicColor = c_int;
867pub const GTK_SYMBOLIC_COLOR_FOREGROUND: GtkSymbolicColor = 0;
868pub const GTK_SYMBOLIC_COLOR_ERROR: GtkSymbolicColor = 1;
869pub const GTK_SYMBOLIC_COLOR_WARNING: GtkSymbolicColor = 2;
870pub const GTK_SYMBOLIC_COLOR_SUCCESS: GtkSymbolicColor = 3;
871
872pub type GtkSystemSetting = c_int;
873pub const GTK_SYSTEM_SETTING_DPI: GtkSystemSetting = 0;
874pub const GTK_SYSTEM_SETTING_FONT_NAME: GtkSystemSetting = 1;
875pub const GTK_SYSTEM_SETTING_FONT_CONFIG: GtkSystemSetting = 2;
876pub const GTK_SYSTEM_SETTING_DISPLAY: GtkSystemSetting = 3;
877pub const GTK_SYSTEM_SETTING_ICON_THEME: GtkSystemSetting = 4;
878
879pub type GtkTextDirection = c_int;
880pub const GTK_TEXT_DIR_NONE: GtkTextDirection = 0;
881pub const GTK_TEXT_DIR_LTR: GtkTextDirection = 1;
882pub const GTK_TEXT_DIR_RTL: GtkTextDirection = 2;
883
884pub type GtkTextExtendSelection = c_int;
885pub const GTK_TEXT_EXTEND_SELECTION_WORD: GtkTextExtendSelection = 0;
886pub const GTK_TEXT_EXTEND_SELECTION_LINE: GtkTextExtendSelection = 1;
887
888pub type GtkTextViewLayer = c_int;
889pub const GTK_TEXT_VIEW_LAYER_BELOW_TEXT: GtkTextViewLayer = 0;
890pub const GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: GtkTextViewLayer = 1;
891
892pub type GtkTextWindowType = c_int;
893pub const GTK_TEXT_WINDOW_WIDGET: GtkTextWindowType = 1;
894pub const GTK_TEXT_WINDOW_TEXT: GtkTextWindowType = 2;
895pub const GTK_TEXT_WINDOW_LEFT: GtkTextWindowType = 3;
896pub const GTK_TEXT_WINDOW_RIGHT: GtkTextWindowType = 4;
897pub const GTK_TEXT_WINDOW_TOP: GtkTextWindowType = 5;
898pub const GTK_TEXT_WINDOW_BOTTOM: GtkTextWindowType = 6;
899
900pub type GtkTreeViewColumnSizing = c_int;
901pub const GTK_TREE_VIEW_COLUMN_GROW_ONLY: GtkTreeViewColumnSizing = 0;
902pub const GTK_TREE_VIEW_COLUMN_AUTOSIZE: GtkTreeViewColumnSizing = 1;
903pub const GTK_TREE_VIEW_COLUMN_FIXED: GtkTreeViewColumnSizing = 2;
904
905pub type GtkTreeViewDropPosition = c_int;
906pub const GTK_TREE_VIEW_DROP_BEFORE: GtkTreeViewDropPosition = 0;
907pub const GTK_TREE_VIEW_DROP_AFTER: GtkTreeViewDropPosition = 1;
908pub const GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: GtkTreeViewDropPosition = 2;
909pub const GTK_TREE_VIEW_DROP_INTO_OR_AFTER: GtkTreeViewDropPosition = 3;
910
911pub type GtkTreeViewGridLines = c_int;
912pub const GTK_TREE_VIEW_GRID_LINES_NONE: GtkTreeViewGridLines = 0;
913pub const GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: GtkTreeViewGridLines = 1;
914pub const GTK_TREE_VIEW_GRID_LINES_VERTICAL: GtkTreeViewGridLines = 2;
915pub const GTK_TREE_VIEW_GRID_LINES_BOTH: GtkTreeViewGridLines = 3;
916
917pub type GtkUnit = c_int;
918pub const GTK_UNIT_NONE: GtkUnit = 0;
919pub const GTK_UNIT_POINTS: GtkUnit = 1;
920pub const GTK_UNIT_INCH: GtkUnit = 2;
921pub const GTK_UNIT_MM: GtkUnit = 3;
922
923pub type GtkWrapMode = c_int;
924pub const GTK_WRAP_NONE: GtkWrapMode = 0;
925pub const GTK_WRAP_CHAR: GtkWrapMode = 1;
926pub const GTK_WRAP_WORD: GtkWrapMode = 2;
927pub const GTK_WRAP_WORD_CHAR: GtkWrapMode = 3;
928
929// Constants
930pub const GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND: &[u8] = b"bg-color\0";
931pub const GTK_ACCESSIBLE_ATTRIBUTE_FAMILY: &[u8] = b"family-name\0";
932pub const GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND: &[u8] = b"fg-color\0";
933pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE: &[u8] = b"overline\0";
934pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE: &[u8] = b"none\0";
935pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE: &[u8] = b"single\0";
936pub const GTK_ACCESSIBLE_ATTRIBUTE_SIZE: &[u8] = b"size\0";
937pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH: &[u8] = b"stretch\0";
938pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED: &[u8] = b"condensed\0";
939pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED: &[u8] = b"expanded\0";
940pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED: &[u8] = b"extra_condensed\0";
941pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED: &[u8] = b"extra_expanded\0";
942pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL: &[u8] = b"normal\0";
943pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED: &[u8] = b"semi_condensed\0";
944pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED: &[u8] = b"semi_expanded\0";
945pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED: &[u8] = b"ultra_condensed\0";
946pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED: &[u8] = b"ultra_expanded\0";
947pub const GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH: &[u8] = b"strikethrough\0";
948pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE: &[u8] = b"style\0";
949pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC: &[u8] = b"italic\0";
950pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL: &[u8] = b"normal\0";
951pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE: &[u8] = b"oblique\0";
952pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE: &[u8] = b"underline\0";
953pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE: &[u8] = b"double\0";
954pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR: &[u8] = b"error\0";
955pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE: &[u8] = b"none\0";
956pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE: &[u8] = b"single\0";
957pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT: &[u8] = b"variant\0";
958pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS: &[u8] = b"all-petite-caps\0";
959pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS: &[u8] = b"all-small-caps\0";
960pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS: &[u8] = b"petite-caps\0";
961pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS: &[u8] = b"small-caps\0";
962pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS: &[u8] = b"title-caps\0";
963pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE: &[u8] = b"unicase\0";
964pub const GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT: &[u8] = b"weight\0";
965pub const GTK_ACCESSIBLE_VALUE_UNDEFINED: c_int = -1;
966pub const GTK_IM_MODULE_EXTENSION_POINT_NAME: &[u8] = b"gtk-im-module\0";
967pub const GTK_INPUT_ERROR: c_int = -1;
968pub const GTK_INVALID_LIST_POSITION: c_uint = 4294967295;
969pub const GTK_LEVEL_BAR_OFFSET_FULL: &[u8] = b"full\0";
970pub const GTK_LEVEL_BAR_OFFSET_HIGH: &[u8] = b"high\0";
971pub const GTK_LEVEL_BAR_OFFSET_LOW: &[u8] = b"low\0";
972pub const GTK_MAX_COMPOSE_LEN: c_int = 7;
973pub const GTK_MEDIA_FILE_EXTENSION_POINT_NAME: &[u8] = b"gtk-media-file\0";
974pub const GTK_PAPER_NAME_A3: &[u8] = b"iso_a3\0";
975pub const GTK_PAPER_NAME_A4: &[u8] = b"iso_a4\0";
976pub const GTK_PAPER_NAME_A5: &[u8] = b"iso_a5\0";
977pub const GTK_PAPER_NAME_B5: &[u8] = b"iso_b5\0";
978pub const GTK_PAPER_NAME_EXECUTIVE: &[u8] = b"na_executive\0";
979pub const GTK_PAPER_NAME_LEGAL: &[u8] = b"na_legal\0";
980pub const GTK_PAPER_NAME_LETTER: &[u8] = b"na_letter\0";
981pub const GTK_PRINT_SETTINGS_COLLATE: &[u8] = b"collate\0";
982pub const GTK_PRINT_SETTINGS_DEFAULT_SOURCE: &[u8] = b"default-source\0";
983pub const GTK_PRINT_SETTINGS_DITHER: &[u8] = b"dither\0";
984pub const GTK_PRINT_SETTINGS_DUPLEX: &[u8] = b"duplex\0";
985pub const GTK_PRINT_SETTINGS_FINISHINGS: &[u8] = b"finishings\0";
986pub const GTK_PRINT_SETTINGS_MEDIA_TYPE: &[u8] = b"media-type\0";
987pub const GTK_PRINT_SETTINGS_NUMBER_UP: &[u8] = b"number-up\0";
988pub const GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT: &[u8] = b"number-up-layout\0";
989pub const GTK_PRINT_SETTINGS_N_COPIES: &[u8] = b"n-copies\0";
990pub const GTK_PRINT_SETTINGS_ORIENTATION: &[u8] = b"orientation\0";
991pub const GTK_PRINT_SETTINGS_OUTPUT_BASENAME: &[u8] = b"output-basename\0";
992pub const GTK_PRINT_SETTINGS_OUTPUT_BIN: &[u8] = b"output-bin\0";
993pub const GTK_PRINT_SETTINGS_OUTPUT_DIR: &[u8] = b"output-dir\0";
994pub const GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT: &[u8] = b"output-file-format\0";
995pub const GTK_PRINT_SETTINGS_OUTPUT_URI: &[u8] = b"output-uri\0";
996pub const GTK_PRINT_SETTINGS_PAGE_RANGES: &[u8] = b"page-ranges\0";
997pub const GTK_PRINT_SETTINGS_PAGE_SET: &[u8] = b"page-set\0";
998pub const GTK_PRINT_SETTINGS_PAPER_FORMAT: &[u8] = b"paper-format\0";
999pub const GTK_PRINT_SETTINGS_PAPER_HEIGHT: &[u8] = b"paper-height\0";
1000pub const GTK_PRINT_SETTINGS_PAPER_WIDTH: &[u8] = b"paper-width\0";
1001pub const GTK_PRINT_SETTINGS_PRINTER: &[u8] = b"printer\0";
1002pub const GTK_PRINT_SETTINGS_PRINTER_LPI: &[u8] = b"printer-lpi\0";
1003pub const GTK_PRINT_SETTINGS_PRINT_PAGES: &[u8] = b"print-pages\0";
1004pub const GTK_PRINT_SETTINGS_QUALITY: &[u8] = b"quality\0";
1005pub const GTK_PRINT_SETTINGS_RESOLUTION: &[u8] = b"resolution\0";
1006pub const GTK_PRINT_SETTINGS_RESOLUTION_X: &[u8] = b"resolution-x\0";
1007pub const GTK_PRINT_SETTINGS_RESOLUTION_Y: &[u8] = b"resolution-y\0";
1008pub const GTK_PRINT_SETTINGS_REVERSE: &[u8] = b"reverse\0";
1009pub const GTK_PRINT_SETTINGS_SCALE: &[u8] = b"scale\0";
1010pub const GTK_PRINT_SETTINGS_USE_COLOR: &[u8] = b"use-color\0";
1011pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA: &[u8] = b"win32-driver-extra\0";
1012pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION: &[u8] = b"win32-driver-version\0";
1013pub const GTK_PRIORITY_RESIZE: c_int = 110;
1014pub const GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: c_int = 600;
1015pub const GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: c_int = 1;
1016pub const GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: c_int = 400;
1017pub const GTK_STYLE_PROVIDER_PRIORITY_THEME: c_int = 200;
1018pub const GTK_STYLE_PROVIDER_PRIORITY_USER: c_int = 800;
1019pub const GTK_TEXT_VIEW_PRIORITY_VALIDATE: c_int = 125;
1020pub const GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: c_int = -1;
1021pub const GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: c_int = -2;
1022
1023// Flags
1024pub type GtkApplicationInhibitFlags = c_uint;
1025pub const GTK_APPLICATION_INHIBIT_LOGOUT: GtkApplicationInhibitFlags = 1;
1026pub const GTK_APPLICATION_INHIBIT_SWITCH: GtkApplicationInhibitFlags = 2;
1027pub const GTK_APPLICATION_INHIBIT_SUSPEND: GtkApplicationInhibitFlags = 4;
1028pub const GTK_APPLICATION_INHIBIT_IDLE: GtkApplicationInhibitFlags = 8;
1029
1030pub type GtkBuilderClosureFlags = c_uint;
1031pub const GTK_BUILDER_CLOSURE_SWAPPED: GtkBuilderClosureFlags = 1;
1032
1033pub type GtkCellRendererState = c_uint;
1034pub const GTK_CELL_RENDERER_SELECTED: GtkCellRendererState = 1;
1035pub const GTK_CELL_RENDERER_PRELIT: GtkCellRendererState = 2;
1036pub const GTK_CELL_RENDERER_INSENSITIVE: GtkCellRendererState = 4;
1037pub const GTK_CELL_RENDERER_SORTED: GtkCellRendererState = 8;
1038pub const GTK_CELL_RENDERER_FOCUSED: GtkCellRendererState = 16;
1039pub const GTK_CELL_RENDERER_EXPANDABLE: GtkCellRendererState = 32;
1040pub const GTK_CELL_RENDERER_EXPANDED: GtkCellRendererState = 64;
1041
1042pub type GtkDebugFlags = c_uint;
1043pub const GTK_DEBUG_TEXT: GtkDebugFlags = 1;
1044pub const GTK_DEBUG_TREE: GtkDebugFlags = 2;
1045pub const GTK_DEBUG_KEYBINDINGS: GtkDebugFlags = 4;
1046pub const GTK_DEBUG_MODULES: GtkDebugFlags = 8;
1047pub const GTK_DEBUG_GEOMETRY: GtkDebugFlags = 16;
1048pub const GTK_DEBUG_ICONTHEME: GtkDebugFlags = 32;
1049pub const GTK_DEBUG_PRINTING: GtkDebugFlags = 64;
1050pub const GTK_DEBUG_BUILDER_TRACE: GtkDebugFlags = 128;
1051pub const GTK_DEBUG_SIZE_REQUEST: GtkDebugFlags = 256;
1052pub const GTK_DEBUG_NO_CSS_CACHE: GtkDebugFlags = 512;
1053pub const GTK_DEBUG_INTERACTIVE: GtkDebugFlags = 1024;
1054pub const GTK_DEBUG_ACTIONS: GtkDebugFlags = 4096;
1055pub const GTK_DEBUG_LAYOUT: GtkDebugFlags = 8192;
1056pub const GTK_DEBUG_SNAPSHOT: GtkDebugFlags = 16384;
1057pub const GTK_DEBUG_CONSTRAINTS: GtkDebugFlags = 32768;
1058pub const GTK_DEBUG_BUILDER_OBJECTS: GtkDebugFlags = 65536;
1059pub const GTK_DEBUG_A11Y: GtkDebugFlags = 131072;
1060#[cfg(feature = "v4_2")]
1061#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
1062pub const GTK_DEBUG_ICONFALLBACK: GtkDebugFlags = 262144;
1063#[cfg(feature = "v4_8")]
1064#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
1065pub const GTK_DEBUG_INVERT_TEXT_DIR: GtkDebugFlags = 524288;
1066#[cfg(feature = "v4_16")]
1067#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
1068pub const GTK_DEBUG_CSS: GtkDebugFlags = 1048576;
1069pub const GTK_DEBUG_BUILDER: GtkDebugFlags = 2097152;
1070
1071pub type GtkDialogFlags = c_uint;
1072pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1073pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1074pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1075
1076pub type GtkEventControllerScrollFlags = c_uint;
1077pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1078pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1079pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1080pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1081pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1082pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1083
1084pub type GtkFontChooserLevel = c_uint;
1085pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1086pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1087pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1088pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1089pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1090
1091pub type GtkIconLookupFlags = c_uint;
1092#[cfg(feature = "v4_18")]
1093#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1094pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1095pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1096pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1097pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1098
1099pub type GtkInputHints = c_uint;
1100pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1101pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1102pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1103pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1104pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1105pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1106pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1107pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1108pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1109pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1110pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1111pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1112pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1113
1114pub type GtkListScrollFlags = c_uint;
1115pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1116pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1117pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1118
1119pub type GtkPickFlags = c_uint;
1120pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1121pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1122pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1123
1124pub type GtkPopoverMenuFlags = c_uint;
1125#[cfg(feature = "v4_14")]
1126#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1127pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1128pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1129
1130pub type GtkPrintCapabilities = c_uint;
1131pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1132pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1133pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1134pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1135pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1136pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1137pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1138pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1139pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1140pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1141
1142pub type GtkShortcutActionFlags = c_uint;
1143pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1144
1145pub type GtkStateFlags = c_uint;
1146pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1147pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1148pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1149pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1150pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1151pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1152pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1153pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1154pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1155pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1156pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1157pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1158pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1159pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1160pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1161pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1162
1163pub type GtkStyleContextPrintFlags = c_uint;
1164pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1165pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1166pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1167pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1168
1169pub type GtkTextBufferNotifyFlags = c_uint;
1170pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1171pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1172pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1173pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1174
1175pub type GtkTextSearchFlags = c_uint;
1176pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1177pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1178pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1179
1180pub type GtkTreeModelFlags = c_uint;
1181pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1182pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1183
1184// Callbacks
1185pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1186pub type GtkCellAllocCallback = Option<
1187    unsafe extern "C" fn(
1188        *mut GtkCellRenderer,
1189        *const gdk::GdkRectangle,
1190        *const gdk::GdkRectangle,
1191        gpointer,
1192    ) -> gboolean,
1193>;
1194pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1195pub type GtkCellLayoutDataFunc = Option<
1196    unsafe extern "C" fn(
1197        *mut GtkCellLayout,
1198        *mut GtkCellRenderer,
1199        *mut GtkTreeModel,
1200        *mut GtkTreeIter,
1201        gpointer,
1202    ),
1203>;
1204pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1205pub type GtkCustomFilterFunc =
1206    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1207pub type GtkCustomMeasureFunc = Option<
1208    unsafe extern "C" fn(
1209        *mut GtkWidget,
1210        GtkOrientation,
1211        c_int,
1212        *mut c_int,
1213        *mut c_int,
1214        *mut c_int,
1215        *mut c_int,
1216    ),
1217>;
1218pub type GtkCustomRequestModeFunc =
1219    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1220pub type GtkDrawingAreaDrawFunc =
1221    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1222pub type GtkEntryCompletionMatchFunc = Option<
1223    unsafe extern "C" fn(
1224        *mut GtkEntryCompletion,
1225        *const c_char,
1226        *mut GtkTreeIter,
1227        gpointer,
1228    ) -> gboolean,
1229>;
1230pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1231pub type GtkFlowBoxCreateWidgetFunc =
1232    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1233pub type GtkFlowBoxFilterFunc =
1234    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1235pub type GtkFlowBoxForeachFunc =
1236    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1237pub type GtkFlowBoxSortFunc =
1238    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1239pub type GtkFontFilterFunc = Option<
1240    unsafe extern "C" fn(
1241        *const pango::PangoFontFamily,
1242        *const pango::PangoFontFace,
1243        gpointer,
1244    ) -> gboolean,
1245>;
1246pub type GtkIconViewForeachFunc =
1247    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1248pub type GtkListBoxCreateWidgetFunc =
1249    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1250pub type GtkListBoxFilterFunc =
1251    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1252pub type GtkListBoxForeachFunc =
1253    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1254pub type GtkListBoxSortFunc =
1255    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1256pub type GtkListBoxUpdateHeaderFunc =
1257    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1258pub type GtkMapListModelMapFunc =
1259    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1260pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1261pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1262pub type GtkPrintJobCompleteFunc =
1263    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1264pub type GtkPrintSettingsFunc =
1265    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1266pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1267pub type GtkScaleFormatValueFunc =
1268    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1269pub type GtkShortcutFunc =
1270    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1271pub type GtkTextBufferCommitNotify = Option<
1272    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1273>;
1274pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1275pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1276pub type GtkTickCallback =
1277    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1278pub type GtkTreeCellDataFunc = Option<
1279    unsafe extern "C" fn(
1280        *mut GtkTreeViewColumn,
1281        *mut GtkCellRenderer,
1282        *mut GtkTreeModel,
1283        *mut GtkTreeIter,
1284        gpointer,
1285    ),
1286>;
1287pub type GtkTreeIterCompareFunc = Option<
1288    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1289>;
1290pub type GtkTreeListModelCreateModelFunc =
1291    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1292pub type GtkTreeModelFilterModifyFunc = Option<
1293    unsafe extern "C" fn(
1294        *mut GtkTreeModel,
1295        *mut GtkTreeIter,
1296        *mut gobject::GValue,
1297        c_int,
1298        gpointer,
1299    ),
1300>;
1301pub type GtkTreeModelFilterVisibleFunc =
1302    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1303pub type GtkTreeModelForeachFunc = Option<
1304    unsafe extern "C" fn(
1305        *mut GtkTreeModel,
1306        *mut GtkTreePath,
1307        *mut GtkTreeIter,
1308        gpointer,
1309    ) -> gboolean,
1310>;
1311pub type GtkTreeSelectionForeachFunc =
1312    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1313pub type GtkTreeSelectionFunc = Option<
1314    unsafe extern "C" fn(
1315        *mut GtkTreeSelection,
1316        *mut GtkTreeModel,
1317        *mut GtkTreePath,
1318        gboolean,
1319        gpointer,
1320    ) -> gboolean,
1321>;
1322pub type GtkTreeViewColumnDropFunc = Option<
1323    unsafe extern "C" fn(
1324        *mut GtkTreeView,
1325        *mut GtkTreeViewColumn,
1326        *mut GtkTreeViewColumn,
1327        *mut GtkTreeViewColumn,
1328        gpointer,
1329    ) -> gboolean,
1330>;
1331pub type GtkTreeViewMappingFunc =
1332    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1333pub type GtkTreeViewRowSeparatorFunc =
1334    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1335pub type GtkTreeViewSearchEqualFunc = Option<
1336    unsafe extern "C" fn(
1337        *mut GtkTreeModel,
1338        c_int,
1339        *const c_char,
1340        *mut GtkTreeIter,
1341        gpointer,
1342    ) -> gboolean,
1343>;
1344pub type GtkWidgetActionActivateFunc =
1345    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1346
1347// Records
1348#[repr(C)]
1349#[allow(dead_code)]
1350pub struct _GtkATContextClass {
1351    _data: [u8; 0],
1352    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1353}
1354
1355pub type GtkATContextClass = _GtkATContextClass;
1356
1357#[derive(Copy, Clone)]
1358#[repr(C)]
1359pub struct GtkAccessibleInterface {
1360    pub g_iface: gobject::GTypeInterface,
1361    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1362    pub get_platform_state:
1363        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1364    pub get_accessible_parent:
1365        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1366    pub get_first_accessible_child:
1367        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1368    pub get_next_accessible_sibling:
1369        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1370    pub get_bounds: Option<
1371        unsafe extern "C" fn(
1372            *mut GtkAccessible,
1373            *mut c_int,
1374            *mut c_int,
1375            *mut c_int,
1376            *mut c_int,
1377        ) -> gboolean,
1378    >,
1379}
1380
1381impl ::std::fmt::Debug for GtkAccessibleInterface {
1382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1383        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1384            .field("g_iface", &self.g_iface)
1385            .field("get_at_context", &self.get_at_context)
1386            .field("get_platform_state", &self.get_platform_state)
1387            .field("get_accessible_parent", &self.get_accessible_parent)
1388            .field(
1389                "get_first_accessible_child",
1390                &self.get_first_accessible_child,
1391            )
1392            .field(
1393                "get_next_accessible_sibling",
1394                &self.get_next_accessible_sibling,
1395            )
1396            .field("get_bounds", &self.get_bounds)
1397            .finish()
1398    }
1399}
1400
1401#[repr(C)]
1402#[allow(dead_code)]
1403pub struct GtkAccessibleList {
1404    _data: [u8; 0],
1405    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1406}
1407
1408impl ::std::fmt::Debug for GtkAccessibleList {
1409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1410        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1411            .finish()
1412    }
1413}
1414
1415#[derive(Copy, Clone)]
1416#[repr(C)]
1417pub struct GtkAccessibleRangeInterface {
1418    pub g_iface: gobject::GTypeInterface,
1419    pub set_current_value:
1420        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1421}
1422
1423impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1424    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1425        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1426            .field("g_iface", &self.g_iface)
1427            .field("set_current_value", &self.set_current_value)
1428            .finish()
1429    }
1430}
1431
1432#[derive(Copy, Clone)]
1433#[repr(C)]
1434pub struct GtkAccessibleTextInterface {
1435    pub g_iface: gobject::GTypeInterface,
1436    pub get_contents:
1437        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1438    pub get_contents_at: Option<
1439        unsafe extern "C" fn(
1440            *mut GtkAccessibleText,
1441            c_uint,
1442            GtkAccessibleTextGranularity,
1443            *mut c_uint,
1444            *mut c_uint,
1445        ) -> *mut glib::GBytes,
1446    >,
1447    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1448    pub get_selection: Option<
1449        unsafe extern "C" fn(
1450            *mut GtkAccessibleText,
1451            *mut size_t,
1452            *mut *mut GtkAccessibleTextRange,
1453        ) -> gboolean,
1454    >,
1455    pub get_attributes: Option<
1456        unsafe extern "C" fn(
1457            *mut GtkAccessibleText,
1458            c_uint,
1459            *mut size_t,
1460            *mut *mut GtkAccessibleTextRange,
1461            *mut *mut *mut c_char,
1462            *mut *mut *mut c_char,
1463        ) -> gboolean,
1464    >,
1465    pub get_default_attributes: Option<
1466        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1467    >,
1468    pub get_extents: Option<
1469        unsafe extern "C" fn(
1470            *mut GtkAccessibleText,
1471            c_uint,
1472            c_uint,
1473            *mut graphene::graphene_rect_t,
1474        ) -> gboolean,
1475    >,
1476    pub get_offset: Option<
1477        unsafe extern "C" fn(
1478            *mut GtkAccessibleText,
1479            *const graphene::graphene_point_t,
1480            *mut c_uint,
1481        ) -> gboolean,
1482    >,
1483}
1484
1485impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1486    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1487        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1488            .field("get_contents", &self.get_contents)
1489            .field("get_contents_at", &self.get_contents_at)
1490            .field("get_caret_position", &self.get_caret_position)
1491            .field("get_selection", &self.get_selection)
1492            .field("get_attributes", &self.get_attributes)
1493            .field("get_default_attributes", &self.get_default_attributes)
1494            .field("get_extents", &self.get_extents)
1495            .field("get_offset", &self.get_offset)
1496            .finish()
1497    }
1498}
1499
1500#[derive(Copy, Clone)]
1501#[repr(C)]
1502pub struct GtkAccessibleTextRange {
1503    pub start: size_t,
1504    pub length: size_t,
1505}
1506
1507impl ::std::fmt::Debug for GtkAccessibleTextRange {
1508    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1509        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1510            .field("start", &self.start)
1511            .field("length", &self.length)
1512            .finish()
1513    }
1514}
1515
1516#[derive(Copy, Clone)]
1517#[repr(C)]
1518pub struct GtkActionableInterface {
1519    pub g_iface: gobject::GTypeInterface,
1520    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1521    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1522    pub get_action_target_value:
1523        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1524    pub set_action_target_value:
1525        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1526}
1527
1528impl ::std::fmt::Debug for GtkActionableInterface {
1529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1530        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1531            .field("get_action_name", &self.get_action_name)
1532            .field("set_action_name", &self.set_action_name)
1533            .field("get_action_target_value", &self.get_action_target_value)
1534            .field("set_action_target_value", &self.set_action_target_value)
1535            .finish()
1536    }
1537}
1538
1539#[repr(C)]
1540#[allow(dead_code)]
1541pub struct _GtkActivateActionClass {
1542    _data: [u8; 0],
1543    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1544}
1545
1546pub type GtkActivateActionClass = _GtkActivateActionClass;
1547
1548#[derive(Copy, Clone)]
1549#[repr(C)]
1550pub struct GtkAdjustmentClass {
1551    pub parent_class: gobject::GInitiallyUnownedClass,
1552    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1553    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1554    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1555    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1556    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1557    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1558}
1559
1560impl ::std::fmt::Debug for GtkAdjustmentClass {
1561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1562        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1563            .field("parent_class", &self.parent_class)
1564            .field("changed", &self.changed)
1565            .field("value_changed", &self.value_changed)
1566            .field("_gtk_reserved1", &self._gtk_reserved1)
1567            .field("_gtk_reserved2", &self._gtk_reserved2)
1568            .field("_gtk_reserved3", &self._gtk_reserved3)
1569            .field("_gtk_reserved4", &self._gtk_reserved4)
1570            .finish()
1571    }
1572}
1573
1574#[derive(Copy, Clone)]
1575#[repr(C)]
1576pub struct GtkAlertDialogClass {
1577    pub parent_class: gobject::GObjectClass,
1578}
1579
1580impl ::std::fmt::Debug for GtkAlertDialogClass {
1581    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1582        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1583            .field("parent_class", &self.parent_class)
1584            .finish()
1585    }
1586}
1587
1588#[repr(C)]
1589#[allow(dead_code)]
1590pub struct _GtkAlternativeTriggerClass {
1591    _data: [u8; 0],
1592    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1593}
1594
1595pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1596
1597#[repr(C)]
1598#[allow(dead_code)]
1599pub struct _GtkAnyFilterClass {
1600    _data: [u8; 0],
1601    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1602}
1603
1604pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1605
1606#[derive(Copy, Clone)]
1607#[repr(C)]
1608pub struct GtkApplicationClass {
1609    pub parent_class: gio::GApplicationClass,
1610    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1611    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1612    pub padding: [gpointer; 8],
1613}
1614
1615impl ::std::fmt::Debug for GtkApplicationClass {
1616    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1617        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1618            .field("parent_class", &self.parent_class)
1619            .field("window_added", &self.window_added)
1620            .field("window_removed", &self.window_removed)
1621            .finish()
1622    }
1623}
1624
1625#[derive(Copy, Clone)]
1626#[repr(C)]
1627pub struct GtkApplicationWindowClass {
1628    pub parent_class: GtkWindowClass,
1629    pub padding: [gpointer; 8],
1630}
1631
1632impl ::std::fmt::Debug for GtkApplicationWindowClass {
1633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1634        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1635            .field("parent_class", &self.parent_class)
1636            .finish()
1637    }
1638}
1639
1640#[derive(Copy, Clone)]
1641#[repr(C)]
1642pub struct GtkBinLayoutClass {
1643    pub parent_class: GtkLayoutManagerClass,
1644}
1645
1646impl ::std::fmt::Debug for GtkBinLayoutClass {
1647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1648        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1649            .field("parent_class", &self.parent_class)
1650            .finish()
1651    }
1652}
1653
1654#[repr(C)]
1655#[allow(dead_code)]
1656pub struct GtkBitset {
1657    _data: [u8; 0],
1658    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1659}
1660
1661impl ::std::fmt::Debug for GtkBitset {
1662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1663        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1664    }
1665}
1666
1667#[derive(Copy, Clone)]
1668#[repr(C)]
1669pub struct GtkBitsetIter {
1670    pub private_data: [gpointer; 10],
1671}
1672
1673impl ::std::fmt::Debug for GtkBitsetIter {
1674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1675        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1676            .finish()
1677    }
1678}
1679
1680#[derive(Copy, Clone)]
1681#[repr(C)]
1682pub struct GtkBookmarkListClass {
1683    pub parent_class: gobject::GObjectClass,
1684}
1685
1686impl ::std::fmt::Debug for GtkBookmarkListClass {
1687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1688        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1689            .field("parent_class", &self.parent_class)
1690            .finish()
1691    }
1692}
1693
1694#[derive(Copy, Clone)]
1695#[repr(C)]
1696pub struct GtkBoolFilterClass {
1697    pub parent_class: GtkFilterClass,
1698}
1699
1700impl ::std::fmt::Debug for GtkBoolFilterClass {
1701    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1702        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1703            .field("parent_class", &self.parent_class)
1704            .finish()
1705    }
1706}
1707
1708#[derive(Copy, Clone)]
1709#[repr(C)]
1710pub struct GtkBorder {
1711    pub left: i16,
1712    pub right: i16,
1713    pub top: i16,
1714    pub bottom: i16,
1715}
1716
1717impl ::std::fmt::Debug for GtkBorder {
1718    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1719        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1720            .field("left", &self.left)
1721            .field("right", &self.right)
1722            .field("top", &self.top)
1723            .field("bottom", &self.bottom)
1724            .finish()
1725    }
1726}
1727
1728#[derive(Copy, Clone)]
1729#[repr(C)]
1730pub struct GtkBoxClass {
1731    pub parent_class: GtkWidgetClass,
1732    pub padding: [gpointer; 8],
1733}
1734
1735impl ::std::fmt::Debug for GtkBoxClass {
1736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1737        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1738            .field("parent_class", &self.parent_class)
1739            .finish()
1740    }
1741}
1742
1743#[derive(Copy, Clone)]
1744#[repr(C)]
1745pub struct GtkBoxLayoutClass {
1746    pub parent_class: GtkLayoutManagerClass,
1747}
1748
1749impl ::std::fmt::Debug for GtkBoxLayoutClass {
1750    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1751        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1752            .field("parent_class", &self.parent_class)
1753            .finish()
1754    }
1755}
1756
1757#[derive(Copy, Clone)]
1758#[repr(C)]
1759pub struct GtkBuildableIface {
1760    pub g_iface: gobject::GTypeInterface,
1761    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1762    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1763    pub add_child: Option<
1764        unsafe extern "C" fn(
1765            *mut GtkBuildable,
1766            *mut GtkBuilder,
1767            *mut gobject::GObject,
1768            *const c_char,
1769        ),
1770    >,
1771    pub set_buildable_property: Option<
1772        unsafe extern "C" fn(
1773            *mut GtkBuildable,
1774            *mut GtkBuilder,
1775            *const c_char,
1776            *const gobject::GValue,
1777        ),
1778    >,
1779    pub construct_child: Option<
1780        unsafe extern "C" fn(
1781            *mut GtkBuildable,
1782            *mut GtkBuilder,
1783            *const c_char,
1784        ) -> *mut gobject::GObject,
1785    >,
1786    pub custom_tag_start: Option<
1787        unsafe extern "C" fn(
1788            *mut GtkBuildable,
1789            *mut GtkBuilder,
1790            *mut gobject::GObject,
1791            *const c_char,
1792            *mut GtkBuildableParser,
1793            *mut gpointer,
1794        ) -> gboolean,
1795    >,
1796    pub custom_tag_end: Option<
1797        unsafe extern "C" fn(
1798            *mut GtkBuildable,
1799            *mut GtkBuilder,
1800            *mut gobject::GObject,
1801            *const c_char,
1802            gpointer,
1803        ),
1804    >,
1805    pub custom_finished: Option<
1806        unsafe extern "C" fn(
1807            *mut GtkBuildable,
1808            *mut GtkBuilder,
1809            *mut gobject::GObject,
1810            *const c_char,
1811            gpointer,
1812        ),
1813    >,
1814    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1815    pub get_internal_child: Option<
1816        unsafe extern "C" fn(
1817            *mut GtkBuildable,
1818            *mut GtkBuilder,
1819            *const c_char,
1820        ) -> *mut gobject::GObject,
1821    >,
1822}
1823
1824impl ::std::fmt::Debug for GtkBuildableIface {
1825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1826        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1827            .field("g_iface", &self.g_iface)
1828            .field("set_id", &self.set_id)
1829            .field("get_id", &self.get_id)
1830            .field("add_child", &self.add_child)
1831            .field("set_buildable_property", &self.set_buildable_property)
1832            .field("construct_child", &self.construct_child)
1833            .field("custom_tag_start", &self.custom_tag_start)
1834            .field("custom_tag_end", &self.custom_tag_end)
1835            .field("custom_finished", &self.custom_finished)
1836            .field("parser_finished", &self.parser_finished)
1837            .field("get_internal_child", &self.get_internal_child)
1838            .finish()
1839    }
1840}
1841
1842#[repr(C)]
1843#[allow(dead_code)]
1844pub struct _GtkBuildableParseContext {
1845    _data: [u8; 0],
1846    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1847}
1848
1849pub type GtkBuildableParseContext = _GtkBuildableParseContext;
1850
1851#[derive(Copy, Clone)]
1852#[repr(C)]
1853pub struct GtkBuildableParser {
1854    pub start_element: Option<
1855        unsafe extern "C" fn(
1856            *mut GtkBuildableParseContext,
1857            *const c_char,
1858            *mut *const c_char,
1859            *mut *const c_char,
1860            gpointer,
1861            *mut *mut glib::GError,
1862        ),
1863    >,
1864    pub end_element: Option<
1865        unsafe extern "C" fn(
1866            *mut GtkBuildableParseContext,
1867            *const c_char,
1868            gpointer,
1869            *mut *mut glib::GError,
1870        ),
1871    >,
1872    pub text: Option<
1873        unsafe extern "C" fn(
1874            *mut GtkBuildableParseContext,
1875            *const c_char,
1876            size_t,
1877            gpointer,
1878            *mut *mut glib::GError,
1879        ),
1880    >,
1881    pub error:
1882        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
1883    pub padding: [gpointer; 4],
1884}
1885
1886impl ::std::fmt::Debug for GtkBuildableParser {
1887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1888        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
1889            .field("start_element", &self.start_element)
1890            .field("end_element", &self.end_element)
1891            .field("text", &self.text)
1892            .field("error", &self.error)
1893            .finish()
1894    }
1895}
1896
1897#[derive(Copy, Clone)]
1898#[repr(C)]
1899pub struct GtkBuilderCScopeClass {
1900    pub parent_class: gobject::GObjectClass,
1901}
1902
1903impl ::std::fmt::Debug for GtkBuilderCScopeClass {
1904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1905        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
1906            .field("parent_class", &self.parent_class)
1907            .finish()
1908    }
1909}
1910
1911#[repr(C)]
1912#[allow(dead_code)]
1913pub struct _GtkBuilderClass {
1914    _data: [u8; 0],
1915    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1916}
1917
1918pub type GtkBuilderClass = _GtkBuilderClass;
1919
1920#[repr(C)]
1921#[allow(dead_code)]
1922pub struct _GtkBuilderListItemFactoryClass {
1923    _data: [u8; 0],
1924    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1925}
1926
1927pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
1928
1929#[derive(Copy, Clone)]
1930#[repr(C)]
1931pub struct GtkBuilderScopeInterface {
1932    pub g_iface: gobject::GTypeInterface,
1933    pub get_type_from_name:
1934        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
1935    pub get_type_from_function:
1936        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
1937    pub create_closure: Option<
1938        unsafe extern "C" fn(
1939            *mut GtkBuilderScope,
1940            *mut GtkBuilder,
1941            *const c_char,
1942            GtkBuilderClosureFlags,
1943            *mut gobject::GObject,
1944            *mut *mut glib::GError,
1945        ) -> *mut gobject::GClosure,
1946    >,
1947}
1948
1949impl ::std::fmt::Debug for GtkBuilderScopeInterface {
1950    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1951        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
1952            .field("get_type_from_name", &self.get_type_from_name)
1953            .field("get_type_from_function", &self.get_type_from_function)
1954            .field("create_closure", &self.create_closure)
1955            .finish()
1956    }
1957}
1958
1959#[derive(Copy, Clone)]
1960#[repr(C)]
1961pub struct GtkButtonClass {
1962    pub parent_class: GtkWidgetClass,
1963    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
1964    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
1965    pub padding: [gpointer; 8],
1966}
1967
1968impl ::std::fmt::Debug for GtkButtonClass {
1969    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1970        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
1971            .field("parent_class", &self.parent_class)
1972            .field("clicked", &self.clicked)
1973            .field("activate", &self.activate)
1974            .finish()
1975    }
1976}
1977
1978#[repr(C)]
1979#[allow(dead_code)]
1980pub struct _GtkButtonPrivate {
1981    _data: [u8; 0],
1982    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1983}
1984
1985pub type GtkButtonPrivate = _GtkButtonPrivate;
1986
1987#[repr(C)]
1988#[allow(dead_code)]
1989pub struct _GtkCallbackActionClass {
1990    _data: [u8; 0],
1991    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1992}
1993
1994pub type GtkCallbackActionClass = _GtkCallbackActionClass;
1995
1996#[derive(Copy, Clone)]
1997#[repr(C)]
1998pub struct GtkCellAreaClass {
1999    pub parent_class: gobject::GInitiallyUnownedClass,
2000    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2001    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2002    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2003    pub foreach_alloc: Option<
2004        unsafe extern "C" fn(
2005            *mut GtkCellArea,
2006            *mut GtkCellAreaContext,
2007            *mut GtkWidget,
2008            *const gdk::GdkRectangle,
2009            *const gdk::GdkRectangle,
2010            GtkCellAllocCallback,
2011            gpointer,
2012        ),
2013    >,
2014    pub event: Option<
2015        unsafe extern "C" fn(
2016            *mut GtkCellArea,
2017            *mut GtkCellAreaContext,
2018            *mut GtkWidget,
2019            *mut gdk::GdkEvent,
2020            *const gdk::GdkRectangle,
2021            GtkCellRendererState,
2022        ) -> c_int,
2023    >,
2024    pub snapshot: Option<
2025        unsafe extern "C" fn(
2026            *mut GtkCellArea,
2027            *mut GtkCellAreaContext,
2028            *mut GtkWidget,
2029            *mut GtkSnapshot,
2030            *const gdk::GdkRectangle,
2031            *const gdk::GdkRectangle,
2032            GtkCellRendererState,
2033            gboolean,
2034        ),
2035    >,
2036    pub apply_attributes: Option<
2037        unsafe extern "C" fn(
2038            *mut GtkCellArea,
2039            *mut GtkTreeModel,
2040            *mut GtkTreeIter,
2041            gboolean,
2042            gboolean,
2043        ),
2044    >,
2045    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2046    pub copy_context: Option<
2047        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2048    >,
2049    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2050    pub get_preferred_width: Option<
2051        unsafe extern "C" fn(
2052            *mut GtkCellArea,
2053            *mut GtkCellAreaContext,
2054            *mut GtkWidget,
2055            *mut c_int,
2056            *mut c_int,
2057        ),
2058    >,
2059    pub get_preferred_height_for_width: Option<
2060        unsafe extern "C" fn(
2061            *mut GtkCellArea,
2062            *mut GtkCellAreaContext,
2063            *mut GtkWidget,
2064            c_int,
2065            *mut c_int,
2066            *mut c_int,
2067        ),
2068    >,
2069    pub get_preferred_height: Option<
2070        unsafe extern "C" fn(
2071            *mut GtkCellArea,
2072            *mut GtkCellAreaContext,
2073            *mut GtkWidget,
2074            *mut c_int,
2075            *mut c_int,
2076        ),
2077    >,
2078    pub get_preferred_width_for_height: Option<
2079        unsafe extern "C" fn(
2080            *mut GtkCellArea,
2081            *mut GtkCellAreaContext,
2082            *mut GtkWidget,
2083            c_int,
2084            *mut c_int,
2085            *mut c_int,
2086        ),
2087    >,
2088    pub set_cell_property: Option<
2089        unsafe extern "C" fn(
2090            *mut GtkCellArea,
2091            *mut GtkCellRenderer,
2092            c_uint,
2093            *mut gobject::GValue,
2094            *mut gobject::GParamSpec,
2095        ),
2096    >,
2097    pub get_cell_property: Option<
2098        unsafe extern "C" fn(
2099            *mut GtkCellArea,
2100            *mut GtkCellRenderer,
2101            c_uint,
2102            *mut gobject::GValue,
2103            *mut gobject::GParamSpec,
2104        ),
2105    >,
2106    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2107    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2108    pub activate: Option<
2109        unsafe extern "C" fn(
2110            *mut GtkCellArea,
2111            *mut GtkCellAreaContext,
2112            *mut GtkWidget,
2113            *const gdk::GdkRectangle,
2114            GtkCellRendererState,
2115            gboolean,
2116        ) -> gboolean,
2117    >,
2118    pub padding: [gpointer; 8],
2119}
2120
2121impl ::std::fmt::Debug for GtkCellAreaClass {
2122    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2123        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2124            .field("add", &self.add)
2125            .field("remove", &self.remove)
2126            .field("foreach", &self.foreach)
2127            .field("foreach_alloc", &self.foreach_alloc)
2128            .field("event", &self.event)
2129            .field("snapshot", &self.snapshot)
2130            .field("apply_attributes", &self.apply_attributes)
2131            .field("create_context", &self.create_context)
2132            .field("copy_context", &self.copy_context)
2133            .field("get_request_mode", &self.get_request_mode)
2134            .field("get_preferred_width", &self.get_preferred_width)
2135            .field(
2136                "get_preferred_height_for_width",
2137                &self.get_preferred_height_for_width,
2138            )
2139            .field("get_preferred_height", &self.get_preferred_height)
2140            .field(
2141                "get_preferred_width_for_height",
2142                &self.get_preferred_width_for_height,
2143            )
2144            .field("set_cell_property", &self.set_cell_property)
2145            .field("get_cell_property", &self.get_cell_property)
2146            .field("focus", &self.focus)
2147            .field("is_activatable", &self.is_activatable)
2148            .field("activate", &self.activate)
2149            .finish()
2150    }
2151}
2152
2153#[derive(Copy, Clone)]
2154#[repr(C)]
2155pub struct GtkCellAreaContextClass {
2156    pub parent_class: gobject::GObjectClass,
2157    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2158    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2159    pub get_preferred_height_for_width:
2160        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2161    pub get_preferred_width_for_height:
2162        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2163    pub padding: [gpointer; 8],
2164}
2165
2166impl ::std::fmt::Debug for GtkCellAreaContextClass {
2167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2168        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2169            .field("allocate", &self.allocate)
2170            .field("reset", &self.reset)
2171            .field(
2172                "get_preferred_height_for_width",
2173                &self.get_preferred_height_for_width,
2174            )
2175            .field(
2176                "get_preferred_width_for_height",
2177                &self.get_preferred_width_for_height,
2178            )
2179            .finish()
2180    }
2181}
2182
2183#[repr(C)]
2184#[allow(dead_code)]
2185pub struct _GtkCellAreaContextPrivate {
2186    _data: [u8; 0],
2187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2188}
2189
2190pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2191
2192#[derive(Copy, Clone)]
2193#[repr(C)]
2194pub struct GtkCellEditableIface {
2195    pub g_iface: gobject::GTypeInterface,
2196    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2197    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2198    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2199}
2200
2201impl ::std::fmt::Debug for GtkCellEditableIface {
2202    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2203        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2204            .field("editing_done", &self.editing_done)
2205            .field("remove_widget", &self.remove_widget)
2206            .field("start_editing", &self.start_editing)
2207            .finish()
2208    }
2209}
2210
2211#[derive(Copy, Clone)]
2212#[repr(C)]
2213pub struct GtkCellLayoutIface {
2214    pub g_iface: gobject::GTypeInterface,
2215    pub pack_start:
2216        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2217    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2218    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2219    pub add_attribute: Option<
2220        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2221    >,
2222    pub set_cell_data_func: Option<
2223        unsafe extern "C" fn(
2224            *mut GtkCellLayout,
2225            *mut GtkCellRenderer,
2226            GtkCellLayoutDataFunc,
2227            gpointer,
2228            glib::GDestroyNotify,
2229        ),
2230    >,
2231    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2232    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2233    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2234    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2235}
2236
2237impl ::std::fmt::Debug for GtkCellLayoutIface {
2238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2239        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2240            .field("pack_start", &self.pack_start)
2241            .field("pack_end", &self.pack_end)
2242            .field("clear", &self.clear)
2243            .field("add_attribute", &self.add_attribute)
2244            .field("set_cell_data_func", &self.set_cell_data_func)
2245            .field("clear_attributes", &self.clear_attributes)
2246            .field("reorder", &self.reorder)
2247            .field("get_cells", &self.get_cells)
2248            .field("get_area", &self.get_area)
2249            .finish()
2250    }
2251}
2252
2253#[derive(Copy, Clone)]
2254#[repr(C)]
2255pub struct GtkCellRendererClass {
2256    pub parent_class: gobject::GInitiallyUnownedClass,
2257    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2258    pub get_preferred_width:
2259        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2260    pub get_preferred_height_for_width: Option<
2261        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2262    >,
2263    pub get_preferred_height:
2264        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2265    pub get_preferred_width_for_height: Option<
2266        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2267    >,
2268    pub get_aligned_area: Option<
2269        unsafe extern "C" fn(
2270            *mut GtkCellRenderer,
2271            *mut GtkWidget,
2272            GtkCellRendererState,
2273            *const gdk::GdkRectangle,
2274            *mut gdk::GdkRectangle,
2275        ),
2276    >,
2277    pub snapshot: Option<
2278        unsafe extern "C" fn(
2279            *mut GtkCellRenderer,
2280            *mut GtkSnapshot,
2281            *mut GtkWidget,
2282            *const gdk::GdkRectangle,
2283            *const gdk::GdkRectangle,
2284            GtkCellRendererState,
2285        ),
2286    >,
2287    pub activate: Option<
2288        unsafe extern "C" fn(
2289            *mut GtkCellRenderer,
2290            *mut gdk::GdkEvent,
2291            *mut GtkWidget,
2292            *const c_char,
2293            *const gdk::GdkRectangle,
2294            *const gdk::GdkRectangle,
2295            GtkCellRendererState,
2296        ) -> gboolean,
2297    >,
2298    pub start_editing: Option<
2299        unsafe extern "C" fn(
2300            *mut GtkCellRenderer,
2301            *mut gdk::GdkEvent,
2302            *mut GtkWidget,
2303            *const c_char,
2304            *const gdk::GdkRectangle,
2305            *const gdk::GdkRectangle,
2306            GtkCellRendererState,
2307        ) -> *mut GtkCellEditable,
2308    >,
2309    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2310    pub editing_started:
2311        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2312    pub padding: [gpointer; 8],
2313}
2314
2315impl ::std::fmt::Debug for GtkCellRendererClass {
2316    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2317        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2318            .field("get_request_mode", &self.get_request_mode)
2319            .field("get_preferred_width", &self.get_preferred_width)
2320            .field(
2321                "get_preferred_height_for_width",
2322                &self.get_preferred_height_for_width,
2323            )
2324            .field("get_preferred_height", &self.get_preferred_height)
2325            .field(
2326                "get_preferred_width_for_height",
2327                &self.get_preferred_width_for_height,
2328            )
2329            .field("get_aligned_area", &self.get_aligned_area)
2330            .field("snapshot", &self.snapshot)
2331            .field("activate", &self.activate)
2332            .field("start_editing", &self.start_editing)
2333            .field("editing_canceled", &self.editing_canceled)
2334            .field("editing_started", &self.editing_started)
2335            .finish()
2336    }
2337}
2338
2339#[repr(C)]
2340#[allow(dead_code)]
2341pub struct _GtkCellRendererClassPrivate {
2342    _data: [u8; 0],
2343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2344}
2345
2346pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2347
2348#[repr(C)]
2349#[allow(dead_code)]
2350pub struct _GtkCellRendererPrivate {
2351    _data: [u8; 0],
2352    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2353}
2354
2355pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2356
2357#[derive(Copy, Clone)]
2358#[repr(C)]
2359pub struct GtkCellRendererTextClass {
2360    pub parent_class: GtkCellRendererClass,
2361    pub edited:
2362        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2363    pub padding: [gpointer; 8],
2364}
2365
2366impl ::std::fmt::Debug for GtkCellRendererTextClass {
2367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2368        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2369            .field("parent_class", &self.parent_class)
2370            .field("edited", &self.edited)
2371            .finish()
2372    }
2373}
2374
2375#[repr(C)]
2376#[allow(dead_code)]
2377pub struct _GtkCenterBoxClass {
2378    _data: [u8; 0],
2379    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2380}
2381
2382pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2383
2384#[derive(Copy, Clone)]
2385#[repr(C)]
2386pub struct GtkCenterLayoutClass {
2387    pub parent_class: GtkLayoutManagerClass,
2388}
2389
2390impl ::std::fmt::Debug for GtkCenterLayoutClass {
2391    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2392        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2393            .field("parent_class", &self.parent_class)
2394            .finish()
2395    }
2396}
2397
2398#[derive(Copy, Clone)]
2399#[repr(C)]
2400pub struct GtkCheckButtonClass {
2401    pub parent_class: GtkWidgetClass,
2402    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2403    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2404    pub padding: [gpointer; 7],
2405}
2406
2407impl ::std::fmt::Debug for GtkCheckButtonClass {
2408    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2409        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2410            .field("parent_class", &self.parent_class)
2411            .field("toggled", &self.toggled)
2412            .field("activate", &self.activate)
2413            .finish()
2414    }
2415}
2416
2417#[derive(Copy, Clone)]
2418#[repr(C)]
2419pub struct GtkColorChooserInterface {
2420    pub base_interface: gobject::GTypeInterface,
2421    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2422    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2423    pub add_palette: Option<
2424        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2425    >,
2426    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2427    pub padding: [gpointer; 12],
2428}
2429
2430impl ::std::fmt::Debug for GtkColorChooserInterface {
2431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2432        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2433            .field("base_interface", &self.base_interface)
2434            .field("get_rgba", &self.get_rgba)
2435            .field("set_rgba", &self.set_rgba)
2436            .field("add_palette", &self.add_palette)
2437            .field("color_activated", &self.color_activated)
2438            .finish()
2439    }
2440}
2441
2442#[derive(Copy, Clone)]
2443#[repr(C)]
2444pub struct GtkColorDialogButtonClass {
2445    pub parent_class: GtkWidgetClass,
2446}
2447
2448impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2449    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2450        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2451            .field("parent_class", &self.parent_class)
2452            .finish()
2453    }
2454}
2455
2456#[derive(Copy, Clone)]
2457#[repr(C)]
2458pub struct GtkColorDialogClass {
2459    pub parent_class: gobject::GObjectClass,
2460}
2461
2462impl ::std::fmt::Debug for GtkColorDialogClass {
2463    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2464        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2465            .field("parent_class", &self.parent_class)
2466            .finish()
2467    }
2468}
2469
2470#[repr(C)]
2471#[allow(dead_code)]
2472pub struct _GtkColumnViewCellClass {
2473    _data: [u8; 0],
2474    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2475}
2476
2477pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2478
2479#[repr(C)]
2480#[allow(dead_code)]
2481pub struct _GtkColumnViewClass {
2482    _data: [u8; 0],
2483    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2484}
2485
2486pub type GtkColumnViewClass = _GtkColumnViewClass;
2487
2488#[repr(C)]
2489#[allow(dead_code)]
2490pub struct _GtkColumnViewColumnClass {
2491    _data: [u8; 0],
2492    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2493}
2494
2495pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2496
2497#[repr(C)]
2498#[allow(dead_code)]
2499pub struct _GtkColumnViewRowClass {
2500    _data: [u8; 0],
2501    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2502}
2503
2504pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2505
2506#[derive(Copy, Clone)]
2507#[repr(C)]
2508pub struct GtkColumnViewSorterClass {
2509    pub parent_class: GtkSorterClass,
2510}
2511
2512impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2514        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2515            .field("parent_class", &self.parent_class)
2516            .finish()
2517    }
2518}
2519
2520#[derive(Copy, Clone)]
2521#[repr(C)]
2522pub struct GtkComboBoxClass {
2523    pub parent_class: GtkWidgetClass,
2524    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2525    pub format_entry_text:
2526        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2527    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2528    pub padding: [gpointer; 7],
2529}
2530
2531impl ::std::fmt::Debug for GtkComboBoxClass {
2532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2533        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2534            .field("parent_class", &self.parent_class)
2535            .field("changed", &self.changed)
2536            .field("format_entry_text", &self.format_entry_text)
2537            .field("activate", &self.activate)
2538            .finish()
2539    }
2540}
2541
2542#[derive(Copy, Clone)]
2543#[repr(C)]
2544pub struct GtkConstraintClass {
2545    pub parent_class: gobject::GObjectClass,
2546}
2547
2548impl ::std::fmt::Debug for GtkConstraintClass {
2549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2550        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2551            .field("parent_class", &self.parent_class)
2552            .finish()
2553    }
2554}
2555
2556#[derive(Copy, Clone)]
2557#[repr(C)]
2558pub struct GtkConstraintGuideClass {
2559    pub parent_class: gobject::GObjectClass,
2560}
2561
2562impl ::std::fmt::Debug for GtkConstraintGuideClass {
2563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2564        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2565            .field("parent_class", &self.parent_class)
2566            .finish()
2567    }
2568}
2569
2570#[derive(Copy, Clone)]
2571#[repr(C)]
2572pub struct GtkConstraintLayoutChildClass {
2573    pub parent_class: GtkLayoutChildClass,
2574}
2575
2576impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2578        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2579            .field("parent_class", &self.parent_class)
2580            .finish()
2581    }
2582}
2583
2584#[derive(Copy, Clone)]
2585#[repr(C)]
2586pub struct GtkConstraintLayoutClass {
2587    pub parent_class: GtkLayoutManagerClass,
2588}
2589
2590impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2592        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2593            .field("parent_class", &self.parent_class)
2594            .finish()
2595    }
2596}
2597
2598#[repr(C)]
2599#[allow(dead_code)]
2600pub struct _GtkConstraintTargetInterface {
2601    _data: [u8; 0],
2602    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2603}
2604
2605pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2606
2607#[derive(Copy, Clone)]
2608#[repr(C)]
2609pub struct GtkCssLocation {
2610    pub bytes: size_t,
2611    pub chars: size_t,
2612    pub lines: size_t,
2613    pub line_bytes: size_t,
2614    pub line_chars: size_t,
2615}
2616
2617impl ::std::fmt::Debug for GtkCssLocation {
2618    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2619        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2620            .field("bytes", &self.bytes)
2621            .field("chars", &self.chars)
2622            .field("lines", &self.lines)
2623            .field("line_bytes", &self.line_bytes)
2624            .field("line_chars", &self.line_chars)
2625            .finish()
2626    }
2627}
2628
2629#[repr(C)]
2630#[allow(dead_code)]
2631pub struct _GtkCssProviderClass {
2632    _data: [u8; 0],
2633    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2634}
2635
2636pub type GtkCssProviderClass = _GtkCssProviderClass;
2637
2638#[repr(C)]
2639#[allow(dead_code)]
2640pub struct _GtkCssProviderPrivate {
2641    _data: [u8; 0],
2642    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2643}
2644
2645pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2646
2647#[repr(C)]
2648#[allow(dead_code)]
2649pub struct GtkCssSection {
2650    _data: [u8; 0],
2651    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2652}
2653
2654impl ::std::fmt::Debug for GtkCssSection {
2655    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2656        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2657            .finish()
2658    }
2659}
2660
2661#[repr(C)]
2662#[allow(dead_code)]
2663pub struct _GtkCssStyleChange {
2664    _data: [u8; 0],
2665    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2666}
2667
2668pub type GtkCssStyleChange = _GtkCssStyleChange;
2669
2670#[derive(Copy, Clone)]
2671#[repr(C)]
2672pub struct GtkCustomFilterClass {
2673    pub parent_class: GtkFilterClass,
2674}
2675
2676impl ::std::fmt::Debug for GtkCustomFilterClass {
2677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2678        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2679            .field("parent_class", &self.parent_class)
2680            .finish()
2681    }
2682}
2683
2684#[derive(Copy, Clone)]
2685#[repr(C)]
2686pub struct GtkCustomLayoutClass {
2687    pub parent_class: GtkLayoutManagerClass,
2688}
2689
2690impl ::std::fmt::Debug for GtkCustomLayoutClass {
2691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2692        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2693            .field("parent_class", &self.parent_class)
2694            .finish()
2695    }
2696}
2697
2698#[derive(Copy, Clone)]
2699#[repr(C)]
2700pub struct GtkCustomSorterClass {
2701    pub parent_class: GtkSorterClass,
2702}
2703
2704impl ::std::fmt::Debug for GtkCustomSorterClass {
2705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2706        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2707            .field("parent_class", &self.parent_class)
2708            .finish()
2709    }
2710}
2711
2712#[derive(Copy, Clone)]
2713#[repr(C)]
2714pub struct GtkDialogClass {
2715    pub parent_class: GtkWindowClass,
2716    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2717    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2718    pub padding: [gpointer; 8],
2719}
2720
2721impl ::std::fmt::Debug for GtkDialogClass {
2722    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2723        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2724            .field("parent_class", &self.parent_class)
2725            .field("response", &self.response)
2726            .field("close", &self.close)
2727            .finish()
2728    }
2729}
2730
2731#[derive(Copy, Clone)]
2732#[repr(C)]
2733pub struct GtkDirectoryListClass {
2734    pub parent_class: gobject::GObjectClass,
2735}
2736
2737impl ::std::fmt::Debug for GtkDirectoryListClass {
2738    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2739        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2740            .field("parent_class", &self.parent_class)
2741            .finish()
2742    }
2743}
2744
2745#[derive(Copy, Clone)]
2746#[repr(C)]
2747pub struct GtkDragIconClass {
2748    pub parent_class: GtkWidgetClass,
2749}
2750
2751impl ::std::fmt::Debug for GtkDragIconClass {
2752    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2753        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2754            .field("parent_class", &self.parent_class)
2755            .finish()
2756    }
2757}
2758
2759#[repr(C)]
2760#[allow(dead_code)]
2761pub struct _GtkDragSourceClass {
2762    _data: [u8; 0],
2763    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2764}
2765
2766pub type GtkDragSourceClass = _GtkDragSourceClass;
2767
2768#[derive(Copy, Clone)]
2769#[repr(C)]
2770pub struct GtkDrawingAreaClass {
2771    pub parent_class: GtkWidgetClass,
2772    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2773    pub padding: [gpointer; 8],
2774}
2775
2776impl ::std::fmt::Debug for GtkDrawingAreaClass {
2777    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2778        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2779            .field("parent_class", &self.parent_class)
2780            .field("resize", &self.resize)
2781            .finish()
2782    }
2783}
2784
2785#[repr(C)]
2786#[allow(dead_code)]
2787pub struct _GtkDropControllerMotionClass {
2788    _data: [u8; 0],
2789    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2790}
2791
2792pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2793
2794#[derive(Copy, Clone)]
2795#[repr(C)]
2796pub struct GtkDropDownClass {
2797    pub parent_class: GtkWidgetClass,
2798}
2799
2800impl ::std::fmt::Debug for GtkDropDownClass {
2801    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2802        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2803            .field("parent_class", &self.parent_class)
2804            .finish()
2805    }
2806}
2807
2808#[repr(C)]
2809#[allow(dead_code)]
2810pub struct _GtkDropTargetAsyncClass {
2811    _data: [u8; 0],
2812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2813}
2814
2815pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2816
2817#[repr(C)]
2818#[allow(dead_code)]
2819pub struct _GtkDropTargetClass {
2820    _data: [u8; 0],
2821    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2822}
2823
2824pub type GtkDropTargetClass = _GtkDropTargetClass;
2825
2826#[derive(Copy, Clone)]
2827#[repr(C)]
2828pub struct GtkEditableInterface {
2829    pub base_iface: gobject::GTypeInterface,
2830    pub insert_text:
2831        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2832    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2833    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
2834    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *const c_char>,
2835    pub do_insert_text:
2836        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2837    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2838    pub get_selection_bounds:
2839        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
2840    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2841    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
2842}
2843
2844impl ::std::fmt::Debug for GtkEditableInterface {
2845    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2846        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
2847            .field("base_iface", &self.base_iface)
2848            .field("insert_text", &self.insert_text)
2849            .field("delete_text", &self.delete_text)
2850            .field("changed", &self.changed)
2851            .field("get_text", &self.get_text)
2852            .field("do_insert_text", &self.do_insert_text)
2853            .field("do_delete_text", &self.do_delete_text)
2854            .field("get_selection_bounds", &self.get_selection_bounds)
2855            .field("set_selection_bounds", &self.set_selection_bounds)
2856            .field("get_delegate", &self.get_delegate)
2857            .finish()
2858    }
2859}
2860
2861#[derive(Copy, Clone)]
2862#[repr(C)]
2863pub struct GtkEditableLabelClass {
2864    pub parent_class: GtkWidgetClass,
2865}
2866
2867impl ::std::fmt::Debug for GtkEditableLabelClass {
2868    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2869        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
2870            .field("parent_class", &self.parent_class)
2871            .finish()
2872    }
2873}
2874
2875#[repr(C)]
2876#[allow(dead_code)]
2877pub struct _GtkEmojiChooserClass {
2878    _data: [u8; 0],
2879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2880}
2881
2882pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
2883
2884#[derive(Copy, Clone)]
2885#[repr(C)]
2886pub struct GtkEntryBufferClass {
2887    pub parent_class: gobject::GObjectClass,
2888    pub inserted_text:
2889        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
2890    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
2891    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
2892    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
2893    pub insert_text:
2894        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
2895    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
2896    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2897    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2898    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2899    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2900    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
2901    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
2902    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
2903    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
2904}
2905
2906impl ::std::fmt::Debug for GtkEntryBufferClass {
2907    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2908        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
2909            .field("parent_class", &self.parent_class)
2910            .field("inserted_text", &self.inserted_text)
2911            .field("deleted_text", &self.deleted_text)
2912            .field("get_text", &self.get_text)
2913            .field("get_length", &self.get_length)
2914            .field("insert_text", &self.insert_text)
2915            .field("delete_text", &self.delete_text)
2916            .field("_gtk_reserved1", &self._gtk_reserved1)
2917            .field("_gtk_reserved2", &self._gtk_reserved2)
2918            .field("_gtk_reserved3", &self._gtk_reserved3)
2919            .field("_gtk_reserved4", &self._gtk_reserved4)
2920            .field("_gtk_reserved5", &self._gtk_reserved5)
2921            .field("_gtk_reserved6", &self._gtk_reserved6)
2922            .field("_gtk_reserved7", &self._gtk_reserved7)
2923            .field("_gtk_reserved8", &self._gtk_reserved8)
2924            .finish()
2925    }
2926}
2927
2928#[derive(Copy, Clone)]
2929#[repr(C)]
2930pub struct GtkEntryClass {
2931    pub parent_class: GtkWidgetClass,
2932    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
2933    pub padding: [gpointer; 8],
2934}
2935
2936impl ::std::fmt::Debug for GtkEntryClass {
2937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2938        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
2939            .field("parent_class", &self.parent_class)
2940            .field("activate", &self.activate)
2941            .finish()
2942    }
2943}
2944
2945#[repr(C)]
2946#[allow(dead_code)]
2947pub struct _GtkEventControllerClass {
2948    _data: [u8; 0],
2949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2950}
2951
2952pub type GtkEventControllerClass = _GtkEventControllerClass;
2953
2954#[repr(C)]
2955#[allow(dead_code)]
2956pub struct _GtkEventControllerFocusClass {
2957    _data: [u8; 0],
2958    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2959}
2960
2961pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
2962
2963#[repr(C)]
2964#[allow(dead_code)]
2965pub struct _GtkEventControllerKeyClass {
2966    _data: [u8; 0],
2967    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2968}
2969
2970pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
2971
2972#[repr(C)]
2973#[allow(dead_code)]
2974pub struct _GtkEventControllerLegacyClass {
2975    _data: [u8; 0],
2976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2977}
2978
2979pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
2980
2981#[repr(C)]
2982#[allow(dead_code)]
2983pub struct _GtkEventControllerMotionClass {
2984    _data: [u8; 0],
2985    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2986}
2987
2988pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
2989
2990#[repr(C)]
2991#[allow(dead_code)]
2992pub struct _GtkEventControllerScrollClass {
2993    _data: [u8; 0],
2994    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2995}
2996
2997pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
2998
2999#[repr(C)]
3000#[allow(dead_code)]
3001pub struct _GtkEveryFilterClass {
3002    _data: [u8; 0],
3003    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3004}
3005
3006pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3007
3008#[repr(C)]
3009#[allow(dead_code)]
3010pub struct GtkExpressionWatch {
3011    _data: [u8; 0],
3012    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3013}
3014
3015impl ::std::fmt::Debug for GtkExpressionWatch {
3016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3017        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3018            .finish()
3019    }
3020}
3021
3022#[derive(Copy, Clone)]
3023#[repr(C)]
3024pub struct GtkFileChooserNativeClass {
3025    pub parent_class: GtkNativeDialogClass,
3026}
3027
3028impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3029    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3030        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3031            .field("parent_class", &self.parent_class)
3032            .finish()
3033    }
3034}
3035
3036#[derive(Copy, Clone)]
3037#[repr(C)]
3038pub struct GtkFileDialogClass {
3039    pub parent_class: gobject::GObjectClass,
3040}
3041
3042impl ::std::fmt::Debug for GtkFileDialogClass {
3043    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3044        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3045            .field("parent_class", &self.parent_class)
3046            .finish()
3047    }
3048}
3049
3050#[derive(Copy, Clone)]
3051#[repr(C)]
3052pub struct GtkFileLauncherClass {
3053    pub parent_class: gobject::GObjectClass,
3054}
3055
3056impl ::std::fmt::Debug for GtkFileLauncherClass {
3057    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3058        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3059            .field("parent_class", &self.parent_class)
3060            .finish()
3061    }
3062}
3063
3064#[derive(Copy, Clone)]
3065#[repr(C)]
3066pub struct GtkFilterClass {
3067    pub parent_class: gobject::GObjectClass,
3068    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3069    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3070    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3071    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3072    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3073    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3074    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3075    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3076    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3077    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3078}
3079
3080impl ::std::fmt::Debug for GtkFilterClass {
3081    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3082        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3083            .field("parent_class", &self.parent_class)
3084            .field("match_", &self.match_)
3085            .field("get_strictness", &self.get_strictness)
3086            .field("_gtk_reserved1", &self._gtk_reserved1)
3087            .field("_gtk_reserved2", &self._gtk_reserved2)
3088            .field("_gtk_reserved3", &self._gtk_reserved3)
3089            .field("_gtk_reserved4", &self._gtk_reserved4)
3090            .field("_gtk_reserved5", &self._gtk_reserved5)
3091            .field("_gtk_reserved6", &self._gtk_reserved6)
3092            .field("_gtk_reserved7", &self._gtk_reserved7)
3093            .field("_gtk_reserved8", &self._gtk_reserved8)
3094            .finish()
3095    }
3096}
3097
3098#[derive(Copy, Clone)]
3099#[repr(C)]
3100pub struct GtkFilterListModelClass {
3101    pub parent_class: gobject::GObjectClass,
3102}
3103
3104impl ::std::fmt::Debug for GtkFilterListModelClass {
3105    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3106        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3107            .field("parent_class", &self.parent_class)
3108            .finish()
3109    }
3110}
3111
3112#[derive(Copy, Clone)]
3113#[repr(C)]
3114pub struct GtkFixedClass {
3115    pub parent_class: GtkWidgetClass,
3116    pub padding: [gpointer; 8],
3117}
3118
3119impl ::std::fmt::Debug for GtkFixedClass {
3120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3121        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3122            .field("parent_class", &self.parent_class)
3123            .finish()
3124    }
3125}
3126
3127#[derive(Copy, Clone)]
3128#[repr(C)]
3129pub struct GtkFixedLayoutChildClass {
3130    pub parent_class: GtkLayoutChildClass,
3131}
3132
3133impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3135        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3136            .field("parent_class", &self.parent_class)
3137            .finish()
3138    }
3139}
3140
3141#[derive(Copy, Clone)]
3142#[repr(C)]
3143pub struct GtkFixedLayoutClass {
3144    pub parent_class: GtkLayoutManagerClass,
3145}
3146
3147impl ::std::fmt::Debug for GtkFixedLayoutClass {
3148    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3149        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3150            .field("parent_class", &self.parent_class)
3151            .finish()
3152    }
3153}
3154
3155#[derive(Copy, Clone)]
3156#[repr(C)]
3157pub struct GtkFlattenListModelClass {
3158    pub parent_class: gobject::GObjectClass,
3159}
3160
3161impl ::std::fmt::Debug for GtkFlattenListModelClass {
3162    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3163        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3164            .field("parent_class", &self.parent_class)
3165            .finish()
3166    }
3167}
3168
3169#[derive(Copy, Clone)]
3170#[repr(C)]
3171pub struct GtkFlowBoxChildClass {
3172    pub parent_class: GtkWidgetClass,
3173    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3174    pub padding: [gpointer; 8],
3175}
3176
3177impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3179        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3180            .field("activate", &self.activate)
3181            .finish()
3182    }
3183}
3184
3185#[derive(Copy, Clone)]
3186#[repr(C)]
3187pub struct GtkFontChooserIface {
3188    pub base_iface: gobject::GTypeInterface,
3189    pub get_font_family:
3190        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3191    pub get_font_face:
3192        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3193    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3194    pub set_filter_func: Option<
3195        unsafe extern "C" fn(
3196            *mut GtkFontChooser,
3197            GtkFontFilterFunc,
3198            gpointer,
3199            glib::GDestroyNotify,
3200        ),
3201    >,
3202    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3203    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3204    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3205    pub padding: [gpointer; 10],
3206}
3207
3208impl ::std::fmt::Debug for GtkFontChooserIface {
3209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3210        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3211            .field("base_iface", &self.base_iface)
3212            .field("get_font_family", &self.get_font_family)
3213            .field("get_font_face", &self.get_font_face)
3214            .field("get_font_size", &self.get_font_size)
3215            .field("set_filter_func", &self.set_filter_func)
3216            .field("font_activated", &self.font_activated)
3217            .field("set_font_map", &self.set_font_map)
3218            .field("get_font_map", &self.get_font_map)
3219            .finish()
3220    }
3221}
3222
3223#[derive(Copy, Clone)]
3224#[repr(C)]
3225pub struct GtkFontDialogButtonClass {
3226    pub parent_class: GtkWidgetClass,
3227}
3228
3229impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3231        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3232            .field("parent_class", &self.parent_class)
3233            .finish()
3234    }
3235}
3236
3237#[derive(Copy, Clone)]
3238#[repr(C)]
3239pub struct GtkFontDialogClass {
3240    pub parent_class: gobject::GObjectClass,
3241}
3242
3243impl ::std::fmt::Debug for GtkFontDialogClass {
3244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3245        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3246            .field("parent_class", &self.parent_class)
3247            .finish()
3248    }
3249}
3250
3251#[derive(Copy, Clone)]
3252#[repr(C)]
3253pub struct GtkFrameClass {
3254    pub parent_class: GtkWidgetClass,
3255    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3256    pub padding: [gpointer; 8],
3257}
3258
3259impl ::std::fmt::Debug for GtkFrameClass {
3260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3261        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3262            .field("parent_class", &self.parent_class)
3263            .field("compute_child_allocation", &self.compute_child_allocation)
3264            .finish()
3265    }
3266}
3267
3268#[derive(Copy, Clone)]
3269#[repr(C)]
3270pub struct GtkGLAreaClass {
3271    pub parent_class: GtkWidgetClass,
3272    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3273    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3274    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3275    pub _padding: [gpointer; 8],
3276}
3277
3278impl ::std::fmt::Debug for GtkGLAreaClass {
3279    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3280        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3281            .field("render", &self.render)
3282            .field("resize", &self.resize)
3283            .field("create_context", &self.create_context)
3284            .finish()
3285    }
3286}
3287
3288#[repr(C)]
3289#[allow(dead_code)]
3290pub struct _GtkGestureClass {
3291    _data: [u8; 0],
3292    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3293}
3294
3295pub type GtkGestureClass = _GtkGestureClass;
3296
3297#[repr(C)]
3298#[allow(dead_code)]
3299pub struct _GtkGestureClickClass {
3300    _data: [u8; 0],
3301    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3302}
3303
3304pub type GtkGestureClickClass = _GtkGestureClickClass;
3305
3306#[repr(C)]
3307#[allow(dead_code)]
3308pub struct _GtkGestureDragClass {
3309    _data: [u8; 0],
3310    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3311}
3312
3313pub type GtkGestureDragClass = _GtkGestureDragClass;
3314
3315#[repr(C)]
3316#[allow(dead_code)]
3317pub struct _GtkGestureLongPressClass {
3318    _data: [u8; 0],
3319    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3320}
3321
3322pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3323
3324#[repr(C)]
3325#[allow(dead_code)]
3326pub struct _GtkGesturePanClass {
3327    _data: [u8; 0],
3328    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3329}
3330
3331pub type GtkGesturePanClass = _GtkGesturePanClass;
3332
3333#[repr(C)]
3334#[allow(dead_code)]
3335pub struct _GtkGestureRotateClass {
3336    _data: [u8; 0],
3337    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3338}
3339
3340pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3341
3342#[repr(C)]
3343#[allow(dead_code)]
3344pub struct _GtkGestureSingleClass {
3345    _data: [u8; 0],
3346    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3347}
3348
3349pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3350
3351#[repr(C)]
3352#[allow(dead_code)]
3353pub struct _GtkGestureStylusClass {
3354    _data: [u8; 0],
3355    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3356}
3357
3358pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3359
3360#[repr(C)]
3361#[allow(dead_code)]
3362pub struct _GtkGestureSwipeClass {
3363    _data: [u8; 0],
3364    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3365}
3366
3367pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3368
3369#[repr(C)]
3370#[allow(dead_code)]
3371pub struct _GtkGestureZoomClass {
3372    _data: [u8; 0],
3373    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3374}
3375
3376pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3377
3378#[derive(Copy, Clone)]
3379#[repr(C)]
3380pub struct GtkGraphicsOffloadClass {
3381    pub parent_class: GtkWidgetClass,
3382}
3383
3384impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3385    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3386        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3387            .field("parent_class", &self.parent_class)
3388            .finish()
3389    }
3390}
3391
3392#[derive(Copy, Clone)]
3393#[repr(C)]
3394pub struct GtkGridClass {
3395    pub parent_class: GtkWidgetClass,
3396    pub padding: [gpointer; 8],
3397}
3398
3399impl ::std::fmt::Debug for GtkGridClass {
3400    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3401        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3402            .field("parent_class", &self.parent_class)
3403            .finish()
3404    }
3405}
3406
3407#[derive(Copy, Clone)]
3408#[repr(C)]
3409pub struct GtkGridLayoutChildClass {
3410    pub parent_class: GtkLayoutChildClass,
3411}
3412
3413impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3414    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3415        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3416            .field("parent_class", &self.parent_class)
3417            .finish()
3418    }
3419}
3420
3421#[derive(Copy, Clone)]
3422#[repr(C)]
3423pub struct GtkGridLayoutClass {
3424    pub parent_class: GtkLayoutManagerClass,
3425}
3426
3427impl ::std::fmt::Debug for GtkGridLayoutClass {
3428    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3429        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3430            .field("parent_class", &self.parent_class)
3431            .finish()
3432    }
3433}
3434
3435#[repr(C)]
3436#[allow(dead_code)]
3437pub struct _GtkGridViewClass {
3438    _data: [u8; 0],
3439    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3440}
3441
3442pub type GtkGridViewClass = _GtkGridViewClass;
3443
3444#[derive(Copy, Clone)]
3445#[repr(C)]
3446pub struct GtkIMContextClass {
3447    pub parent_class: gobject::GObjectClass,
3448    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3449    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3450    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3451    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3452    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3453    pub delete_surrounding:
3454        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3455    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3456    pub get_preedit_string: Option<
3457        unsafe extern "C" fn(
3458            *mut GtkIMContext,
3459            *mut *mut c_char,
3460            *mut *mut pango::PangoAttrList,
3461            *mut c_int,
3462        ),
3463    >,
3464    pub filter_keypress:
3465        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3466    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3467    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3468    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3469    pub set_cursor_location:
3470        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3471    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3472    pub set_surrounding:
3473        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3474    pub get_surrounding:
3475        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3476    pub set_surrounding_with_selection:
3477        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3478    pub get_surrounding_with_selection: Option<
3479        unsafe extern "C" fn(
3480            *mut GtkIMContext,
3481            *mut *mut c_char,
3482            *mut c_int,
3483            *mut c_int,
3484        ) -> gboolean,
3485    >,
3486    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3487    pub activate_osk_with_event:
3488        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3489    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3490    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3491    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3492}
3493
3494impl ::std::fmt::Debug for GtkIMContextClass {
3495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3496        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3497            .field("preedit_start", &self.preedit_start)
3498            .field("preedit_end", &self.preedit_end)
3499            .field("preedit_changed", &self.preedit_changed)
3500            .field("commit", &self.commit)
3501            .field("retrieve_surrounding", &self.retrieve_surrounding)
3502            .field("delete_surrounding", &self.delete_surrounding)
3503            .field("set_client_widget", &self.set_client_widget)
3504            .field("get_preedit_string", &self.get_preedit_string)
3505            .field("filter_keypress", &self.filter_keypress)
3506            .field("focus_in", &self.focus_in)
3507            .field("focus_out", &self.focus_out)
3508            .field("reset", &self.reset)
3509            .field("set_cursor_location", &self.set_cursor_location)
3510            .field("set_use_preedit", &self.set_use_preedit)
3511            .field("set_surrounding", &self.set_surrounding)
3512            .field("get_surrounding", &self.get_surrounding)
3513            .field(
3514                "set_surrounding_with_selection",
3515                &self.set_surrounding_with_selection,
3516            )
3517            .field(
3518                "get_surrounding_with_selection",
3519                &self.get_surrounding_with_selection,
3520            )
3521            .field("activate_osk", &self.activate_osk)
3522            .field("activate_osk_with_event", &self.activate_osk_with_event)
3523            .field("_gtk_reserved2", &self._gtk_reserved2)
3524            .field("_gtk_reserved3", &self._gtk_reserved3)
3525            .field("_gtk_reserved4", &self._gtk_reserved4)
3526            .finish()
3527    }
3528}
3529
3530#[derive(Copy, Clone)]
3531#[repr(C)]
3532pub struct GtkIMContextSimpleClass {
3533    pub parent_class: GtkIMContextClass,
3534}
3535
3536impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3538        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3539            .field("parent_class", &self.parent_class)
3540            .finish()
3541    }
3542}
3543
3544#[repr(C)]
3545#[allow(dead_code)]
3546pub struct _GtkIMContextSimplePrivate {
3547    _data: [u8; 0],
3548    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3549}
3550
3551pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3552
3553#[derive(Copy, Clone)]
3554#[repr(C)]
3555pub struct GtkIMMulticontextClass {
3556    pub parent_class: GtkIMContextClass,
3557    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3558    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3559    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3560    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3561}
3562
3563impl ::std::fmt::Debug for GtkIMMulticontextClass {
3564    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3565        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3566            .field("parent_class", &self.parent_class)
3567            .field("_gtk_reserved1", &self._gtk_reserved1)
3568            .field("_gtk_reserved2", &self._gtk_reserved2)
3569            .field("_gtk_reserved3", &self._gtk_reserved3)
3570            .field("_gtk_reserved4", &self._gtk_reserved4)
3571            .finish()
3572    }
3573}
3574
3575#[repr(C)]
3576#[allow(dead_code)]
3577pub struct _GtkIMMulticontextPrivate {
3578    _data: [u8; 0],
3579    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3580}
3581
3582pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3583
3584#[derive(Copy, Clone)]
3585#[repr(C)]
3586pub struct GtkInscriptionClass {
3587    pub parent_class: GtkWidgetClass,
3588}
3589
3590impl ::std::fmt::Debug for GtkInscriptionClass {
3591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3592        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3593            .field("parent_class", &self.parent_class)
3594            .finish()
3595    }
3596}
3597
3598#[repr(C)]
3599#[allow(dead_code)]
3600pub struct _GtkKeyvalTriggerClass {
3601    _data: [u8; 0],
3602    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3603}
3604
3605pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3606
3607#[derive(Copy, Clone)]
3608#[repr(C)]
3609pub struct GtkLayoutChildClass {
3610    pub parent_class: gobject::GObjectClass,
3611}
3612
3613impl ::std::fmt::Debug for GtkLayoutChildClass {
3614    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3615        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3616            .finish()
3617    }
3618}
3619
3620#[derive(Copy, Clone)]
3621#[repr(C)]
3622pub struct GtkLayoutManagerClass {
3623    pub parent_class: gobject::GObjectClass,
3624    pub get_request_mode:
3625        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3626    pub measure: Option<
3627        unsafe extern "C" fn(
3628            *mut GtkLayoutManager,
3629            *mut GtkWidget,
3630            GtkOrientation,
3631            c_int,
3632            *mut c_int,
3633            *mut c_int,
3634            *mut c_int,
3635            *mut c_int,
3636        ),
3637    >,
3638    pub allocate:
3639        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3640    pub layout_child_type: GType,
3641    pub create_layout_child: Option<
3642        unsafe extern "C" fn(
3643            *mut GtkLayoutManager,
3644            *mut GtkWidget,
3645            *mut GtkWidget,
3646        ) -> *mut GtkLayoutChild,
3647    >,
3648    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3649    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3650    pub _padding: [gpointer; 16],
3651}
3652
3653impl ::std::fmt::Debug for GtkLayoutManagerClass {
3654    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3655        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3656            .field("get_request_mode", &self.get_request_mode)
3657            .field("measure", &self.measure)
3658            .field("allocate", &self.allocate)
3659            .field("layout_child_type", &self.layout_child_type)
3660            .field("create_layout_child", &self.create_layout_child)
3661            .field("root", &self.root)
3662            .field("unroot", &self.unroot)
3663            .finish()
3664    }
3665}
3666
3667#[repr(C)]
3668#[allow(dead_code)]
3669pub struct _GtkListBaseClass {
3670    _data: [u8; 0],
3671    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3672}
3673
3674pub type GtkListBaseClass = _GtkListBaseClass;
3675
3676#[derive(Copy, Clone)]
3677#[repr(C)]
3678pub struct GtkListBoxRowClass {
3679    pub parent_class: GtkWidgetClass,
3680    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3681    pub padding: [gpointer; 8],
3682}
3683
3684impl ::std::fmt::Debug for GtkListBoxRowClass {
3685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3686        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3687            .field("parent_class", &self.parent_class)
3688            .field("activate", &self.activate)
3689            .finish()
3690    }
3691}
3692
3693#[repr(C)]
3694#[allow(dead_code)]
3695pub struct _GtkListHeaderClass {
3696    _data: [u8; 0],
3697    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3698}
3699
3700pub type GtkListHeaderClass = _GtkListHeaderClass;
3701
3702#[repr(C)]
3703#[allow(dead_code)]
3704pub struct _GtkListItemClass {
3705    _data: [u8; 0],
3706    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3707}
3708
3709pub type GtkListItemClass = _GtkListItemClass;
3710
3711#[repr(C)]
3712#[allow(dead_code)]
3713pub struct _GtkListItemFactoryClass {
3714    _data: [u8; 0],
3715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3716}
3717
3718pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3719
3720#[derive(Copy, Clone)]
3721#[repr(C)]
3722pub struct GtkListStoreClass {
3723    pub parent_class: gobject::GObjectClass,
3724    pub padding: [gpointer; 8],
3725}
3726
3727impl ::std::fmt::Debug for GtkListStoreClass {
3728    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3729        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3730            .field("parent_class", &self.parent_class)
3731            .finish()
3732    }
3733}
3734
3735#[repr(C)]
3736#[allow(dead_code)]
3737pub struct _GtkListStorePrivate {
3738    _data: [u8; 0],
3739    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3740}
3741
3742pub type GtkListStorePrivate = _GtkListStorePrivate;
3743
3744#[repr(C)]
3745#[allow(dead_code)]
3746pub struct _GtkListViewClass {
3747    _data: [u8; 0],
3748    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3749}
3750
3751pub type GtkListViewClass = _GtkListViewClass;
3752
3753#[derive(Copy, Clone)]
3754#[repr(C)]
3755pub struct GtkMapListModelClass {
3756    pub parent_class: gobject::GObjectClass,
3757}
3758
3759impl ::std::fmt::Debug for GtkMapListModelClass {
3760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3761        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3762            .field("parent_class", &self.parent_class)
3763            .finish()
3764    }
3765}
3766
3767#[derive(Copy, Clone)]
3768#[repr(C)]
3769pub struct GtkMediaControlsClass {
3770    pub parent_class: GtkWidgetClass,
3771}
3772
3773impl ::std::fmt::Debug for GtkMediaControlsClass {
3774    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3775        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3776            .field("parent_class", &self.parent_class)
3777            .finish()
3778    }
3779}
3780
3781#[derive(Copy, Clone)]
3782#[repr(C)]
3783pub struct GtkMediaFileClass {
3784    pub parent_class: GtkMediaStreamClass,
3785    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3786    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3787    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3788    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3789    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3790    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3791}
3792
3793impl ::std::fmt::Debug for GtkMediaFileClass {
3794    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3795        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
3796            .field("parent_class", &self.parent_class)
3797            .field("open", &self.open)
3798            .field("close", &self.close)
3799            .field("_gtk_reserved1", &self._gtk_reserved1)
3800            .field("_gtk_reserved2", &self._gtk_reserved2)
3801            .field("_gtk_reserved3", &self._gtk_reserved3)
3802            .field("_gtk_reserved4", &self._gtk_reserved4)
3803            .finish()
3804    }
3805}
3806
3807#[derive(Copy, Clone)]
3808#[repr(C)]
3809pub struct GtkMediaStreamClass {
3810    pub parent_class: gobject::GObjectClass,
3811    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
3812    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
3813    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
3814    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
3815    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
3816    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
3817    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3818    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3819    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3820    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3821    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3822    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3823    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3824    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3825}
3826
3827impl ::std::fmt::Debug for GtkMediaStreamClass {
3828    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3829        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
3830            .field("parent_class", &self.parent_class)
3831            .field("play", &self.play)
3832            .field("pause", &self.pause)
3833            .field("seek", &self.seek)
3834            .field("update_audio", &self.update_audio)
3835            .field("realize", &self.realize)
3836            .field("unrealize", &self.unrealize)
3837            .field("_gtk_reserved1", &self._gtk_reserved1)
3838            .field("_gtk_reserved2", &self._gtk_reserved2)
3839            .field("_gtk_reserved3", &self._gtk_reserved3)
3840            .field("_gtk_reserved4", &self._gtk_reserved4)
3841            .field("_gtk_reserved5", &self._gtk_reserved5)
3842            .field("_gtk_reserved6", &self._gtk_reserved6)
3843            .field("_gtk_reserved7", &self._gtk_reserved7)
3844            .field("_gtk_reserved8", &self._gtk_reserved8)
3845            .finish()
3846    }
3847}
3848
3849#[repr(C)]
3850#[allow(dead_code)]
3851pub struct _GtkMessageDialogClass {
3852    _data: [u8; 0],
3853    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3854}
3855
3856pub type GtkMessageDialogClass = _GtkMessageDialogClass;
3857
3858#[repr(C)]
3859#[allow(dead_code)]
3860pub struct _GtkMnemonicActionClass {
3861    _data: [u8; 0],
3862    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3863}
3864
3865pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
3866
3867#[repr(C)]
3868#[allow(dead_code)]
3869pub struct _GtkMnemonicTriggerClass {
3870    _data: [u8; 0],
3871    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3872}
3873
3874pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
3875
3876#[derive(Copy, Clone)]
3877#[repr(C)]
3878pub struct GtkMountOperationClass {
3879    pub parent_class: gio::GMountOperationClass,
3880    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3881    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3882    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3883    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3884}
3885
3886impl ::std::fmt::Debug for GtkMountOperationClass {
3887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3888        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
3889            .field("parent_class", &self.parent_class)
3890            .field("_gtk_reserved1", &self._gtk_reserved1)
3891            .field("_gtk_reserved2", &self._gtk_reserved2)
3892            .field("_gtk_reserved3", &self._gtk_reserved3)
3893            .field("_gtk_reserved4", &self._gtk_reserved4)
3894            .finish()
3895    }
3896}
3897
3898#[repr(C)]
3899#[allow(dead_code)]
3900pub struct _GtkMountOperationPrivate {
3901    _data: [u8; 0],
3902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3903}
3904
3905pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
3906
3907#[repr(C)]
3908#[allow(dead_code)]
3909pub struct _GtkMultiFilterClass {
3910    _data: [u8; 0],
3911    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3912}
3913
3914pub type GtkMultiFilterClass = _GtkMultiFilterClass;
3915
3916#[derive(Copy, Clone)]
3917#[repr(C)]
3918pub struct GtkMultiSelectionClass {
3919    pub parent_class: gobject::GObjectClass,
3920}
3921
3922impl ::std::fmt::Debug for GtkMultiSelectionClass {
3923    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3924        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
3925            .field("parent_class", &self.parent_class)
3926            .finish()
3927    }
3928}
3929
3930#[derive(Copy, Clone)]
3931#[repr(C)]
3932pub struct GtkMultiSorterClass {
3933    pub parent_class: GtkSorterClass,
3934}
3935
3936impl ::std::fmt::Debug for GtkMultiSorterClass {
3937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3938        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
3939            .field("parent_class", &self.parent_class)
3940            .finish()
3941    }
3942}
3943
3944#[repr(C)]
3945#[allow(dead_code)]
3946pub struct _GtkNamedActionClass {
3947    _data: [u8; 0],
3948    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3949}
3950
3951pub type GtkNamedActionClass = _GtkNamedActionClass;
3952
3953#[derive(Copy, Clone)]
3954#[repr(C)]
3955pub struct GtkNativeDialogClass {
3956    pub parent_class: gobject::GObjectClass,
3957    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
3958    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
3959    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
3960    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3961    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3962    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3963    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3964}
3965
3966impl ::std::fmt::Debug for GtkNativeDialogClass {
3967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3968        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
3969            .field("response", &self.response)
3970            .field("show", &self.show)
3971            .field("hide", &self.hide)
3972            .field("_gtk_reserved1", &self._gtk_reserved1)
3973            .field("_gtk_reserved2", &self._gtk_reserved2)
3974            .field("_gtk_reserved3", &self._gtk_reserved3)
3975            .field("_gtk_reserved4", &self._gtk_reserved4)
3976            .finish()
3977    }
3978}
3979
3980#[repr(C)]
3981#[allow(dead_code)]
3982pub struct _GtkNativeInterface {
3983    _data: [u8; 0],
3984    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3985}
3986
3987pub type GtkNativeInterface = _GtkNativeInterface;
3988
3989#[repr(C)]
3990#[allow(dead_code)]
3991pub struct _GtkNeverTriggerClass {
3992    _data: [u8; 0],
3993    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3994}
3995
3996pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
3997
3998#[derive(Copy, Clone)]
3999#[repr(C)]
4000pub struct GtkNoSelectionClass {
4001    pub parent_class: gobject::GObjectClass,
4002}
4003
4004impl ::std::fmt::Debug for GtkNoSelectionClass {
4005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4006        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4007            .field("parent_class", &self.parent_class)
4008            .finish()
4009    }
4010}
4011
4012#[repr(C)]
4013#[allow(dead_code)]
4014pub struct _GtkNothingActionClass {
4015    _data: [u8; 0],
4016    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4017}
4018
4019pub type GtkNothingActionClass = _GtkNothingActionClass;
4020
4021#[derive(Copy, Clone)]
4022#[repr(C)]
4023pub struct GtkNumericSorterClass {
4024    pub parent_class: GtkSorterClass,
4025}
4026
4027impl ::std::fmt::Debug for GtkNumericSorterClass {
4028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4029        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4030            .field("parent_class", &self.parent_class)
4031            .finish()
4032    }
4033}
4034
4035#[derive(Copy, Clone)]
4036#[repr(C)]
4037pub struct GtkOrientableIface {
4038    pub base_iface: gobject::GTypeInterface,
4039}
4040
4041impl ::std::fmt::Debug for GtkOrientableIface {
4042    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4043        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4044            .field("base_iface", &self.base_iface)
4045            .finish()
4046    }
4047}
4048
4049#[derive(Copy, Clone)]
4050#[repr(C)]
4051pub struct GtkOverlayLayoutChildClass {
4052    pub parent_class: GtkLayoutChildClass,
4053}
4054
4055impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4056    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4057        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4058            .field("parent_class", &self.parent_class)
4059            .finish()
4060    }
4061}
4062
4063#[derive(Copy, Clone)]
4064#[repr(C)]
4065pub struct GtkOverlayLayoutClass {
4066    pub parent_class: GtkLayoutManagerClass,
4067}
4068
4069impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4071        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4072            .field("parent_class", &self.parent_class)
4073            .finish()
4074    }
4075}
4076
4077#[derive(Copy, Clone)]
4078#[repr(C)]
4079pub struct GtkPadActionEntry {
4080    pub type_: GtkPadActionType,
4081    pub index: c_int,
4082    pub mode: c_int,
4083    pub label: *const c_char,
4084    pub action_name: *const c_char,
4085}
4086
4087impl ::std::fmt::Debug for GtkPadActionEntry {
4088    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4089        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4090            .field("type_", &self.type_)
4091            .field("index", &self.index)
4092            .field("mode", &self.mode)
4093            .field("label", &self.label)
4094            .field("action_name", &self.action_name)
4095            .finish()
4096    }
4097}
4098
4099#[repr(C)]
4100#[allow(dead_code)]
4101pub struct _GtkPadControllerClass {
4102    _data: [u8; 0],
4103    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4104}
4105
4106pub type GtkPadControllerClass = _GtkPadControllerClass;
4107
4108#[derive(Copy, Clone)]
4109#[repr(C)]
4110pub struct GtkPageRange {
4111    pub start: c_int,
4112    pub end: c_int,
4113}
4114
4115impl ::std::fmt::Debug for GtkPageRange {
4116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4117        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4118            .field("start", &self.start)
4119            .field("end", &self.end)
4120            .finish()
4121    }
4122}
4123
4124#[repr(C)]
4125#[allow(dead_code)]
4126pub struct GtkPaperSize {
4127    _data: [u8; 0],
4128    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4129}
4130
4131impl ::std::fmt::Debug for GtkPaperSize {
4132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4133        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4134    }
4135}
4136
4137#[derive(Copy, Clone)]
4138#[repr(C)]
4139pub struct GtkPasswordEntryBufferClass {
4140    pub parent_class: GtkEntryBufferClass,
4141}
4142
4143impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4144    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4145        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4146            .field("parent_class", &self.parent_class)
4147            .finish()
4148    }
4149}
4150
4151#[repr(C)]
4152#[allow(dead_code)]
4153pub struct _GtkPasswordEntryClass {
4154    _data: [u8; 0],
4155    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4156}
4157
4158pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4159
4160#[derive(Copy, Clone)]
4161#[repr(C)]
4162pub struct GtkPictureClass {
4163    pub parent_class: GtkWidgetClass,
4164}
4165
4166impl ::std::fmt::Debug for GtkPictureClass {
4167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4168        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4169            .field("parent_class", &self.parent_class)
4170            .finish()
4171    }
4172}
4173
4174#[derive(Copy, Clone)]
4175#[repr(C)]
4176pub struct GtkPopoverClass {
4177    pub parent_class: GtkWidgetClass,
4178    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4179    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4180    pub reserved: [gpointer; 8],
4181}
4182
4183impl ::std::fmt::Debug for GtkPopoverClass {
4184    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4185        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4186            .field("parent_class", &self.parent_class)
4187            .field("closed", &self.closed)
4188            .field("activate_default", &self.activate_default)
4189            .finish()
4190    }
4191}
4192
4193#[repr(C)]
4194#[allow(dead_code)]
4195pub struct _GtkPrintBackend {
4196    _data: [u8; 0],
4197    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4198}
4199
4200pub type GtkPrintBackend = _GtkPrintBackend;
4201
4202#[derive(Copy, Clone)]
4203#[repr(C)]
4204pub struct GtkPrintDialogClass {
4205    pub parent_class: gobject::GObjectClass,
4206}
4207
4208impl ::std::fmt::Debug for GtkPrintDialogClass {
4209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4210        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4211            .field("parent_class", &self.parent_class)
4212            .finish()
4213    }
4214}
4215
4216#[derive(Copy, Clone)]
4217#[repr(C)]
4218pub struct GtkPrintOperationClass {
4219    pub parent_class: gobject::GObjectClass,
4220    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4221    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4222    pub paginate:
4223        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4224    pub request_page_setup: Option<
4225        unsafe extern "C" fn(
4226            *mut GtkPrintOperation,
4227            *mut GtkPrintContext,
4228            c_int,
4229            *mut GtkPageSetup,
4230        ),
4231    >,
4232    pub draw_page:
4233        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4234    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4235    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4236    pub create_custom_widget:
4237        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4238    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4239    pub preview: Option<
4240        unsafe extern "C" fn(
4241            *mut GtkPrintOperation,
4242            *mut GtkPrintOperationPreview,
4243            *mut GtkPrintContext,
4244            *mut GtkWindow,
4245        ) -> gboolean,
4246    >,
4247    pub update_custom_widget: Option<
4248        unsafe extern "C" fn(
4249            *mut GtkPrintOperation,
4250            *mut GtkWidget,
4251            *mut GtkPageSetup,
4252            *mut GtkPrintSettings,
4253        ),
4254    >,
4255    pub padding: [gpointer; 8],
4256}
4257
4258impl ::std::fmt::Debug for GtkPrintOperationClass {
4259    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4260        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4261            .field("parent_class", &self.parent_class)
4262            .field("done", &self.done)
4263            .field("begin_print", &self.begin_print)
4264            .field("paginate", &self.paginate)
4265            .field("request_page_setup", &self.request_page_setup)
4266            .field("draw_page", &self.draw_page)
4267            .field("end_print", &self.end_print)
4268            .field("status_changed", &self.status_changed)
4269            .field("create_custom_widget", &self.create_custom_widget)
4270            .field("custom_widget_apply", &self.custom_widget_apply)
4271            .field("preview", &self.preview)
4272            .field("update_custom_widget", &self.update_custom_widget)
4273            .finish()
4274    }
4275}
4276
4277#[derive(Copy, Clone)]
4278#[repr(C)]
4279pub struct GtkPrintOperationPreviewIface {
4280    pub g_iface: gobject::GTypeInterface,
4281    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4282    pub got_page_size: Option<
4283        unsafe extern "C" fn(
4284            *mut GtkPrintOperationPreview,
4285            *mut GtkPrintContext,
4286            *mut GtkPageSetup,
4287        ),
4288    >,
4289    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4290    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4291    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4292    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4293    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4294    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4295    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4296    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4297    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4298    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4299    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4300}
4301
4302impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4303    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4304        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4305            .field("g_iface", &self.g_iface)
4306            .field("ready", &self.ready)
4307            .field("got_page_size", &self.got_page_size)
4308            .field("render_page", &self.render_page)
4309            .field("is_selected", &self.is_selected)
4310            .field("end_preview", &self.end_preview)
4311            .field("_gtk_reserved1", &self._gtk_reserved1)
4312            .field("_gtk_reserved2", &self._gtk_reserved2)
4313            .field("_gtk_reserved3", &self._gtk_reserved3)
4314            .field("_gtk_reserved4", &self._gtk_reserved4)
4315            .field("_gtk_reserved5", &self._gtk_reserved5)
4316            .field("_gtk_reserved6", &self._gtk_reserved6)
4317            .field("_gtk_reserved7", &self._gtk_reserved7)
4318            .field("_gtk_reserved8", &self._gtk_reserved8)
4319            .finish()
4320    }
4321}
4322
4323#[repr(C)]
4324#[allow(dead_code)]
4325pub struct _GtkPrintOperationPrivate {
4326    _data: [u8; 0],
4327    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4328}
4329
4330pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4331
4332#[repr(C)]
4333#[allow(dead_code)]
4334pub struct GtkPrintSetup {
4335    _data: [u8; 0],
4336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4337}
4338
4339impl ::std::fmt::Debug for GtkPrintSetup {
4340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4341        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4342            .finish()
4343    }
4344}
4345
4346#[derive(Copy, Clone)]
4347#[repr(C)]
4348pub struct GtkRangeClass {
4349    pub parent_class: GtkWidgetClass,
4350    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4351    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4352    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4353    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4354    pub change_value:
4355        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4356    pub padding: [gpointer; 8],
4357}
4358
4359impl ::std::fmt::Debug for GtkRangeClass {
4360    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4361        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4362            .field("parent_class", &self.parent_class)
4363            .field("value_changed", &self.value_changed)
4364            .field("adjust_bounds", &self.adjust_bounds)
4365            .field("move_slider", &self.move_slider)
4366            .field("get_range_border", &self.get_range_border)
4367            .field("change_value", &self.change_value)
4368            .finish()
4369    }
4370}
4371
4372#[derive(Copy, Clone)]
4373#[repr(C)]
4374pub struct GtkRecentData {
4375    pub display_name: *mut c_char,
4376    pub description: *mut c_char,
4377    pub mime_type: *mut c_char,
4378    pub app_name: *mut c_char,
4379    pub app_exec: *mut c_char,
4380    pub groups: *mut *mut c_char,
4381    pub is_private: gboolean,
4382}
4383
4384impl ::std::fmt::Debug for GtkRecentData {
4385    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4386        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4387            .field("display_name", &self.display_name)
4388            .field("description", &self.description)
4389            .field("mime_type", &self.mime_type)
4390            .field("app_name", &self.app_name)
4391            .field("app_exec", &self.app_exec)
4392            .field("groups", &self.groups)
4393            .field("is_private", &self.is_private)
4394            .finish()
4395    }
4396}
4397
4398#[repr(C)]
4399#[allow(dead_code)]
4400pub struct GtkRecentInfo {
4401    _data: [u8; 0],
4402    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4403}
4404
4405impl ::std::fmt::Debug for GtkRecentInfo {
4406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4407        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4408            .finish()
4409    }
4410}
4411
4412#[derive(Copy, Clone)]
4413#[repr(C)]
4414pub struct GtkRecentManagerClass {
4415    pub parent_class: gobject::GObjectClass,
4416    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4417    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4418    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4419    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4420    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4421}
4422
4423impl ::std::fmt::Debug for GtkRecentManagerClass {
4424    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4425        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4426            .field("changed", &self.changed)
4427            .field("_gtk_recent1", &self._gtk_recent1)
4428            .field("_gtk_recent2", &self._gtk_recent2)
4429            .field("_gtk_recent3", &self._gtk_recent3)
4430            .field("_gtk_recent4", &self._gtk_recent4)
4431            .finish()
4432    }
4433}
4434
4435#[repr(C)]
4436#[allow(dead_code)]
4437pub struct _GtkRecentManagerPrivate {
4438    _data: [u8; 0],
4439    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4440}
4441
4442pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4443
4444#[derive(Copy, Clone)]
4445#[repr(C)]
4446pub struct GtkRequestedSize {
4447    pub data: gpointer,
4448    pub minimum_size: c_int,
4449    pub natural_size: c_int,
4450}
4451
4452impl ::std::fmt::Debug for GtkRequestedSize {
4453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4454        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4455            .field("data", &self.data)
4456            .field("minimum_size", &self.minimum_size)
4457            .field("natural_size", &self.natural_size)
4458            .finish()
4459    }
4460}
4461
4462#[derive(Copy, Clone)]
4463#[repr(C)]
4464pub struct GtkRequisition {
4465    pub width: c_int,
4466    pub height: c_int,
4467}
4468
4469impl ::std::fmt::Debug for GtkRequisition {
4470    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4471        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4472            .field("width", &self.width)
4473            .field("height", &self.height)
4474            .finish()
4475    }
4476}
4477
4478#[repr(C)]
4479#[allow(dead_code)]
4480pub struct _GtkRootInterface {
4481    _data: [u8; 0],
4482    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4483}
4484
4485pub type GtkRootInterface = _GtkRootInterface;
4486
4487#[derive(Copy, Clone)]
4488#[repr(C)]
4489pub struct GtkScaleButtonClass {
4490    pub parent_class: GtkWidgetClass,
4491    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4492    pub padding: [gpointer; 8],
4493}
4494
4495impl ::std::fmt::Debug for GtkScaleButtonClass {
4496    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4497        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4498            .field("parent_class", &self.parent_class)
4499            .field("value_changed", &self.value_changed)
4500            .finish()
4501    }
4502}
4503
4504#[derive(Copy, Clone)]
4505#[repr(C)]
4506pub struct GtkScaleClass {
4507    pub parent_class: GtkRangeClass,
4508    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4509    pub padding: [gpointer; 8],
4510}
4511
4512impl ::std::fmt::Debug for GtkScaleClass {
4513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4514        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4515            .field("parent_class", &self.parent_class)
4516            .field("get_layout_offsets", &self.get_layout_offsets)
4517            .finish()
4518    }
4519}
4520
4521#[repr(C)]
4522#[allow(dead_code)]
4523pub struct GtkScrollInfo {
4524    _data: [u8; 0],
4525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4526}
4527
4528impl ::std::fmt::Debug for GtkScrollInfo {
4529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4530        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4531            .finish()
4532    }
4533}
4534
4535#[derive(Copy, Clone)]
4536#[repr(C)]
4537pub struct GtkScrollableInterface {
4538    pub base_iface: gobject::GTypeInterface,
4539    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4540}
4541
4542impl ::std::fmt::Debug for GtkScrollableInterface {
4543    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4544        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4545            .field("base_iface", &self.base_iface)
4546            .field("get_border", &self.get_border)
4547            .finish()
4548    }
4549}
4550
4551#[derive(Copy, Clone)]
4552#[repr(C)]
4553pub struct GtkSectionModelInterface {
4554    pub g_iface: gobject::GTypeInterface,
4555    pub get_section:
4556        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4557}
4558
4559impl ::std::fmt::Debug for GtkSectionModelInterface {
4560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4561        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4562            .field("get_section", &self.get_section)
4563            .finish()
4564    }
4565}
4566
4567#[derive(Copy, Clone)]
4568#[repr(C)]
4569pub struct GtkSelectionFilterModelClass {
4570    pub parent_class: gobject::GObjectClass,
4571}
4572
4573impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4574    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4575        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4576            .field("parent_class", &self.parent_class)
4577            .finish()
4578    }
4579}
4580
4581#[derive(Copy, Clone)]
4582#[repr(C)]
4583pub struct GtkSelectionModelInterface {
4584    pub g_iface: gobject::GTypeInterface,
4585    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4586    pub get_selection_in_range:
4587        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4588    pub select_item:
4589        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4590    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4591    pub select_range:
4592        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4593    pub unselect_range:
4594        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4595    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4596    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4597    pub set_selection: Option<
4598        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4599    >,
4600}
4601
4602impl ::std::fmt::Debug for GtkSelectionModelInterface {
4603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4604        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4605            .field("is_selected", &self.is_selected)
4606            .field("get_selection_in_range", &self.get_selection_in_range)
4607            .field("select_item", &self.select_item)
4608            .field("unselect_item", &self.unselect_item)
4609            .field("select_range", &self.select_range)
4610            .field("unselect_range", &self.unselect_range)
4611            .field("select_all", &self.select_all)
4612            .field("unselect_all", &self.unselect_all)
4613            .field("set_selection", &self.set_selection)
4614            .finish()
4615    }
4616}
4617
4618#[repr(C)]
4619#[allow(dead_code)]
4620pub struct _GtkShortcutActionClass {
4621    _data: [u8; 0],
4622    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4623}
4624
4625pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4626
4627#[derive(Copy, Clone)]
4628#[repr(C)]
4629pub struct GtkShortcutClass {
4630    pub parent_class: gobject::GObjectClass,
4631}
4632
4633impl ::std::fmt::Debug for GtkShortcutClass {
4634    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4635        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4636            .field("parent_class", &self.parent_class)
4637            .finish()
4638    }
4639}
4640
4641#[repr(C)]
4642#[allow(dead_code)]
4643pub struct _GtkShortcutControllerClass {
4644    _data: [u8; 0],
4645    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4646}
4647
4648pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4649
4650#[repr(C)]
4651#[allow(dead_code)]
4652pub struct _GtkShortcutLabelClass {
4653    _data: [u8; 0],
4654    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4655}
4656
4657pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4658
4659#[derive(Copy, Clone)]
4660#[repr(C)]
4661pub struct GtkShortcutManagerInterface {
4662    pub g_iface: gobject::GTypeInterface,
4663    pub add_controller:
4664        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4665    pub remove_controller:
4666        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4667}
4668
4669impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4670    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4671        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4672            .field("add_controller", &self.add_controller)
4673            .field("remove_controller", &self.remove_controller)
4674            .finish()
4675    }
4676}
4677
4678#[repr(C)]
4679#[allow(dead_code)]
4680pub struct _GtkShortcutTriggerClass {
4681    _data: [u8; 0],
4682    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4683}
4684
4685pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4686
4687#[repr(C)]
4688#[allow(dead_code)]
4689pub struct _GtkShortcutsGroupClass {
4690    _data: [u8; 0],
4691    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4692}
4693
4694pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4695
4696#[repr(C)]
4697#[allow(dead_code)]
4698pub struct _GtkShortcutsSectionClass {
4699    _data: [u8; 0],
4700    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4701}
4702
4703pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4704
4705#[repr(C)]
4706#[allow(dead_code)]
4707pub struct _GtkShortcutsShortcutClass {
4708    _data: [u8; 0],
4709    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4710}
4711
4712pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4713
4714#[repr(C)]
4715#[allow(dead_code)]
4716pub struct _GtkSignalActionClass {
4717    _data: [u8; 0],
4718    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4719}
4720
4721pub type GtkSignalActionClass = _GtkSignalActionClass;
4722
4723#[repr(C)]
4724#[allow(dead_code)]
4725pub struct _GtkSignalListItemFactoryClass {
4726    _data: [u8; 0],
4727    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4728}
4729
4730pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4731
4732#[derive(Copy, Clone)]
4733#[repr(C)]
4734pub struct GtkSingleSelectionClass {
4735    pub parent_class: gobject::GObjectClass,
4736}
4737
4738impl ::std::fmt::Debug for GtkSingleSelectionClass {
4739    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4740        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4741            .field("parent_class", &self.parent_class)
4742            .finish()
4743    }
4744}
4745
4746#[derive(Copy, Clone)]
4747#[repr(C)]
4748pub struct GtkSliceListModelClass {
4749    pub parent_class: gobject::GObjectClass,
4750}
4751
4752impl ::std::fmt::Debug for GtkSliceListModelClass {
4753    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4754        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4755            .field("parent_class", &self.parent_class)
4756            .finish()
4757    }
4758}
4759
4760#[repr(C)]
4761#[allow(dead_code)]
4762pub struct _GtkSnapshotClass {
4763    _data: [u8; 0],
4764    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4765}
4766
4767pub type GtkSnapshotClass = _GtkSnapshotClass;
4768
4769#[derive(Copy, Clone)]
4770#[repr(C)]
4771pub struct GtkSortListModelClass {
4772    pub parent_class: gobject::GObjectClass,
4773}
4774
4775impl ::std::fmt::Debug for GtkSortListModelClass {
4776    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4777        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
4778            .field("parent_class", &self.parent_class)
4779            .finish()
4780    }
4781}
4782
4783#[derive(Copy, Clone)]
4784#[repr(C)]
4785pub struct GtkSorterClass {
4786    pub parent_class: gobject::GObjectClass,
4787    pub compare: Option<
4788        unsafe extern "C" fn(
4789            *mut GtkSorter,
4790            *mut gobject::GObject,
4791            *mut gobject::GObject,
4792        ) -> GtkOrdering,
4793    >,
4794    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
4795    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4796    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4797    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4798    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4799    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4800    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4801    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4802    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4803}
4804
4805impl ::std::fmt::Debug for GtkSorterClass {
4806    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4807        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
4808            .field("parent_class", &self.parent_class)
4809            .field("compare", &self.compare)
4810            .field("get_order", &self.get_order)
4811            .field("_gtk_reserved1", &self._gtk_reserved1)
4812            .field("_gtk_reserved2", &self._gtk_reserved2)
4813            .field("_gtk_reserved3", &self._gtk_reserved3)
4814            .field("_gtk_reserved4", &self._gtk_reserved4)
4815            .field("_gtk_reserved5", &self._gtk_reserved5)
4816            .field("_gtk_reserved6", &self._gtk_reserved6)
4817            .field("_gtk_reserved7", &self._gtk_reserved7)
4818            .field("_gtk_reserved8", &self._gtk_reserved8)
4819            .finish()
4820    }
4821}
4822
4823#[derive(Copy, Clone)]
4824#[repr(C)]
4825pub struct GtkStringFilterClass {
4826    pub parent_class: GtkFilterClass,
4827}
4828
4829impl ::std::fmt::Debug for GtkStringFilterClass {
4830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4831        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
4832            .field("parent_class", &self.parent_class)
4833            .finish()
4834    }
4835}
4836
4837#[derive(Copy, Clone)]
4838#[repr(C)]
4839pub struct GtkStringListClass {
4840    pub parent_class: gobject::GObjectClass,
4841}
4842
4843impl ::std::fmt::Debug for GtkStringListClass {
4844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4845        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
4846            .field("parent_class", &self.parent_class)
4847            .finish()
4848    }
4849}
4850
4851#[derive(Copy, Clone)]
4852#[repr(C)]
4853pub struct GtkStringObjectClass {
4854    pub parent_class: gobject::GObjectClass,
4855}
4856
4857impl ::std::fmt::Debug for GtkStringObjectClass {
4858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4859        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
4860            .field("parent_class", &self.parent_class)
4861            .finish()
4862    }
4863}
4864
4865#[derive(Copy, Clone)]
4866#[repr(C)]
4867pub struct GtkStringSorterClass {
4868    pub parent_class: GtkSorterClass,
4869}
4870
4871impl ::std::fmt::Debug for GtkStringSorterClass {
4872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4873        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
4874            .field("parent_class", &self.parent_class)
4875            .finish()
4876    }
4877}
4878
4879#[derive(Copy, Clone)]
4880#[repr(C)]
4881pub struct GtkStyleContextClass {
4882    pub parent_class: gobject::GObjectClass,
4883    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
4884    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4885    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4886    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4887    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4888}
4889
4890impl ::std::fmt::Debug for GtkStyleContextClass {
4891    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4892        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
4893            .field("parent_class", &self.parent_class)
4894            .field("changed", &self.changed)
4895            .field("_gtk_reserved1", &self._gtk_reserved1)
4896            .field("_gtk_reserved2", &self._gtk_reserved2)
4897            .field("_gtk_reserved3", &self._gtk_reserved3)
4898            .field("_gtk_reserved4", &self._gtk_reserved4)
4899            .finish()
4900    }
4901}
4902
4903#[derive(Copy, Clone)]
4904#[repr(C)]
4905pub struct GtkSymbolicPaintableInterface {
4906    pub g_iface: gobject::GTypeInterface,
4907    pub snapshot_symbolic: Option<
4908        unsafe extern "C" fn(
4909            *mut GtkSymbolicPaintable,
4910            *mut gdk::GdkSnapshot,
4911            c_double,
4912            c_double,
4913            *const gdk::GdkRGBA,
4914            size_t,
4915        ),
4916    >,
4917}
4918
4919impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
4920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4921        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
4922            .field("snapshot_symbolic", &self.snapshot_symbolic)
4923            .finish()
4924    }
4925}
4926
4927#[derive(Copy, Clone)]
4928#[repr(C)]
4929pub struct GtkTextBufferClass {
4930    pub parent_class: gobject::GObjectClass,
4931    pub insert_text:
4932        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
4933    pub insert_paintable:
4934        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
4935    pub insert_child_anchor:
4936        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
4937    pub delete_range:
4938        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
4939    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4940    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4941    pub mark_set:
4942        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
4943    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
4944    pub apply_tag: Option<
4945        unsafe extern "C" fn(
4946            *mut GtkTextBuffer,
4947            *mut GtkTextTag,
4948            *const GtkTextIter,
4949            *const GtkTextIter,
4950        ),
4951    >,
4952    pub remove_tag: Option<
4953        unsafe extern "C" fn(
4954            *mut GtkTextBuffer,
4955            *mut GtkTextTag,
4956            *const GtkTextIter,
4957            *const GtkTextIter,
4958        ),
4959    >,
4960    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4961    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4962    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
4963    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4964    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
4965    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4966    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4967    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4968    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4969}
4970
4971impl ::std::fmt::Debug for GtkTextBufferClass {
4972    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4973        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
4974            .field("parent_class", &self.parent_class)
4975            .field("insert_text", &self.insert_text)
4976            .field("insert_paintable", &self.insert_paintable)
4977            .field("insert_child_anchor", &self.insert_child_anchor)
4978            .field("delete_range", &self.delete_range)
4979            .field("changed", &self.changed)
4980            .field("modified_changed", &self.modified_changed)
4981            .field("mark_set", &self.mark_set)
4982            .field("mark_deleted", &self.mark_deleted)
4983            .field("apply_tag", &self.apply_tag)
4984            .field("remove_tag", &self.remove_tag)
4985            .field("begin_user_action", &self.begin_user_action)
4986            .field("end_user_action", &self.end_user_action)
4987            .field("paste_done", &self.paste_done)
4988            .field("undo", &self.undo)
4989            .field("redo", &self.redo)
4990            .field("_gtk_reserved1", &self._gtk_reserved1)
4991            .field("_gtk_reserved2", &self._gtk_reserved2)
4992            .field("_gtk_reserved3", &self._gtk_reserved3)
4993            .field("_gtk_reserved4", &self._gtk_reserved4)
4994            .finish()
4995    }
4996}
4997
4998#[repr(C)]
4999#[allow(dead_code)]
5000pub struct _GtkTextBufferPrivate {
5001    _data: [u8; 0],
5002    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5003}
5004
5005pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5006
5007#[derive(Copy, Clone)]
5008#[repr(C)]
5009pub struct GtkTextChildAnchorClass {
5010    pub parent_class: gobject::GObjectClass,
5011    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5012    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5013    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5014    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5015}
5016
5017impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5018    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5019        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5020            .field("parent_class", &self.parent_class)
5021            .field("_gtk_reserved1", &self._gtk_reserved1)
5022            .field("_gtk_reserved2", &self._gtk_reserved2)
5023            .field("_gtk_reserved3", &self._gtk_reserved3)
5024            .field("_gtk_reserved4", &self._gtk_reserved4)
5025            .finish()
5026    }
5027}
5028
5029#[derive(Copy, Clone)]
5030#[repr(C)]
5031pub struct GtkTextIter {
5032    pub dummy1: gpointer,
5033    pub dummy2: gpointer,
5034    pub dummy3: c_int,
5035    pub dummy4: c_int,
5036    pub dummy5: c_int,
5037    pub dummy6: c_int,
5038    pub dummy7: c_int,
5039    pub dummy8: c_int,
5040    pub dummy9: gpointer,
5041    pub dummy10: gpointer,
5042    pub dummy11: c_int,
5043    pub dummy12: c_int,
5044    pub dummy13: c_int,
5045    pub dummy14: gpointer,
5046}
5047
5048impl ::std::fmt::Debug for GtkTextIter {
5049    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5050        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5051    }
5052}
5053
5054#[derive(Copy, Clone)]
5055#[repr(C)]
5056pub struct GtkTextMarkClass {
5057    pub parent_class: gobject::GObjectClass,
5058    pub padding: [gpointer; 8],
5059}
5060
5061impl ::std::fmt::Debug for GtkTextMarkClass {
5062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5063        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5064            .field("parent_class", &self.parent_class)
5065            .finish()
5066    }
5067}
5068
5069#[derive(Copy, Clone)]
5070#[repr(C)]
5071pub struct GtkTextTagClass {
5072    pub parent_class: gobject::GObjectClass,
5073    pub padding: [gpointer; 8],
5074}
5075
5076impl ::std::fmt::Debug for GtkTextTagClass {
5077    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5078        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5079            .field("parent_class", &self.parent_class)
5080            .finish()
5081    }
5082}
5083
5084#[repr(C)]
5085#[allow(dead_code)]
5086pub struct _GtkTextTagPrivate {
5087    _data: [u8; 0],
5088    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5089}
5090
5091pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5092
5093#[derive(Copy, Clone)]
5094#[repr(C)]
5095pub struct GtkTextViewClass {
5096    pub parent_class: GtkWidgetClass,
5097    pub move_cursor:
5098        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5099    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5100    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5101    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5102    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5103    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5104    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5105    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5106    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5107    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5108    pub snapshot_layer:
5109        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5110    pub extend_selection: Option<
5111        unsafe extern "C" fn(
5112            *mut GtkTextView,
5113            GtkTextExtendSelection,
5114            *const GtkTextIter,
5115            *mut GtkTextIter,
5116            *mut GtkTextIter,
5117        ) -> gboolean,
5118    >,
5119    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5120    pub padding: [gpointer; 8],
5121}
5122
5123impl ::std::fmt::Debug for GtkTextViewClass {
5124    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5125        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5126            .field("parent_class", &self.parent_class)
5127            .field("move_cursor", &self.move_cursor)
5128            .field("set_anchor", &self.set_anchor)
5129            .field("insert_at_cursor", &self.insert_at_cursor)
5130            .field("delete_from_cursor", &self.delete_from_cursor)
5131            .field("backspace", &self.backspace)
5132            .field("cut_clipboard", &self.cut_clipboard)
5133            .field("copy_clipboard", &self.copy_clipboard)
5134            .field("paste_clipboard", &self.paste_clipboard)
5135            .field("toggle_overwrite", &self.toggle_overwrite)
5136            .field("create_buffer", &self.create_buffer)
5137            .field("snapshot_layer", &self.snapshot_layer)
5138            .field("extend_selection", &self.extend_selection)
5139            .field("insert_emoji", &self.insert_emoji)
5140            .finish()
5141    }
5142}
5143
5144#[repr(C)]
5145#[allow(dead_code)]
5146pub struct _GtkTextViewPrivate {
5147    _data: [u8; 0],
5148    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5149}
5150
5151pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5152
5153#[derive(Copy, Clone)]
5154#[repr(C)]
5155pub struct GtkToggleButtonClass {
5156    pub parent_class: GtkButtonClass,
5157    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5158    pub padding: [gpointer; 8],
5159}
5160
5161impl ::std::fmt::Debug for GtkToggleButtonClass {
5162    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5163        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5164            .field("parent_class", &self.parent_class)
5165            .field("toggled", &self.toggled)
5166            .finish()
5167    }
5168}
5169
5170#[derive(Copy, Clone)]
5171#[repr(C)]
5172pub struct GtkTreeDragDestIface {
5173    pub g_iface: gobject::GTypeInterface,
5174    pub drag_data_received: Option<
5175        unsafe extern "C" fn(
5176            *mut GtkTreeDragDest,
5177            *mut GtkTreePath,
5178            *const gobject::GValue,
5179        ) -> gboolean,
5180    >,
5181    pub row_drop_possible: Option<
5182        unsafe extern "C" fn(
5183            *mut GtkTreeDragDest,
5184            *mut GtkTreePath,
5185            *const gobject::GValue,
5186        ) -> gboolean,
5187    >,
5188}
5189
5190impl ::std::fmt::Debug for GtkTreeDragDestIface {
5191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5192        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5193            .field("drag_data_received", &self.drag_data_received)
5194            .field("row_drop_possible", &self.row_drop_possible)
5195            .finish()
5196    }
5197}
5198
5199#[derive(Copy, Clone)]
5200#[repr(C)]
5201pub struct GtkTreeDragSourceIface {
5202    pub g_iface: gobject::GTypeInterface,
5203    pub row_draggable:
5204        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5205    pub drag_data_get: Option<
5206        unsafe extern "C" fn(
5207            *mut GtkTreeDragSource,
5208            *mut GtkTreePath,
5209        ) -> *mut gdk::GdkContentProvider,
5210    >,
5211    pub drag_data_delete:
5212        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5213}
5214
5215impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5217        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5218            .field("row_draggable", &self.row_draggable)
5219            .field("drag_data_get", &self.drag_data_get)
5220            .field("drag_data_delete", &self.drag_data_delete)
5221            .finish()
5222    }
5223}
5224
5225#[derive(Copy, Clone)]
5226#[repr(C)]
5227pub struct GtkTreeExpanderClass {
5228    pub parent_class: GtkWidgetClass,
5229}
5230
5231impl ::std::fmt::Debug for GtkTreeExpanderClass {
5232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5233        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5234            .field("parent_class", &self.parent_class)
5235            .finish()
5236    }
5237}
5238
5239#[derive(Copy, Clone)]
5240#[repr(C)]
5241pub struct GtkTreeIter {
5242    pub stamp: c_int,
5243    pub user_data: gpointer,
5244    pub user_data2: gpointer,
5245    pub user_data3: gpointer,
5246}
5247
5248impl ::std::fmt::Debug for GtkTreeIter {
5249    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5250        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5251            .field("stamp", &self.stamp)
5252            .field("user_data", &self.user_data)
5253            .field("user_data2", &self.user_data2)
5254            .field("user_data3", &self.user_data3)
5255            .finish()
5256    }
5257}
5258
5259#[derive(Copy, Clone)]
5260#[repr(C)]
5261pub struct GtkTreeListModelClass {
5262    pub parent_class: gobject::GObjectClass,
5263}
5264
5265impl ::std::fmt::Debug for GtkTreeListModelClass {
5266    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5267        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5268            .field("parent_class", &self.parent_class)
5269            .finish()
5270    }
5271}
5272
5273#[derive(Copy, Clone)]
5274#[repr(C)]
5275pub struct GtkTreeListRowClass {
5276    pub parent_class: gobject::GObjectClass,
5277}
5278
5279impl ::std::fmt::Debug for GtkTreeListRowClass {
5280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5281        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5282            .field("parent_class", &self.parent_class)
5283            .finish()
5284    }
5285}
5286
5287#[derive(Copy, Clone)]
5288#[repr(C)]
5289pub struct GtkTreeListRowSorterClass {
5290    pub parent_class: GtkSorterClass,
5291}
5292
5293impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5294    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5295        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5296            .field("parent_class", &self.parent_class)
5297            .finish()
5298    }
5299}
5300
5301#[derive(Copy, Clone)]
5302#[repr(C)]
5303pub struct GtkTreeModelFilterClass {
5304    pub parent_class: gobject::GObjectClass,
5305    pub visible: Option<
5306        unsafe extern "C" fn(
5307            *mut GtkTreeModelFilter,
5308            *mut GtkTreeModel,
5309            *mut GtkTreeIter,
5310        ) -> gboolean,
5311    >,
5312    pub modify: Option<
5313        unsafe extern "C" fn(
5314            *mut GtkTreeModelFilter,
5315            *mut GtkTreeModel,
5316            *mut GtkTreeIter,
5317            *mut gobject::GValue,
5318            c_int,
5319        ),
5320    >,
5321    pub padding: [gpointer; 8],
5322}
5323
5324impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5325    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5326        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5327            .field("parent_class", &self.parent_class)
5328            .field("visible", &self.visible)
5329            .field("modify", &self.modify)
5330            .finish()
5331    }
5332}
5333
5334#[repr(C)]
5335#[allow(dead_code)]
5336pub struct _GtkTreeModelFilterPrivate {
5337    _data: [u8; 0],
5338    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5339}
5340
5341pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5342
5343#[derive(Copy, Clone)]
5344#[repr(C)]
5345pub struct GtkTreeModelIface {
5346    pub g_iface: gobject::GTypeInterface,
5347    pub row_changed:
5348        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5349    pub row_inserted:
5350        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5351    pub row_has_child_toggled:
5352        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5353    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5354    pub rows_reordered: Option<
5355        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5356    >,
5357    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5358    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5359    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5360    pub get_iter: Option<
5361        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5362    >,
5363    pub get_path:
5364        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5365    pub get_value: Option<
5366        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5367    >,
5368    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5369    pub iter_previous:
5370        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5371    pub iter_children: Option<
5372        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5373    >,
5374    pub iter_has_child:
5375        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5376    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5377    pub iter_nth_child: Option<
5378        unsafe extern "C" fn(
5379            *mut GtkTreeModel,
5380            *mut GtkTreeIter,
5381            *mut GtkTreeIter,
5382            c_int,
5383        ) -> gboolean,
5384    >,
5385    pub iter_parent: Option<
5386        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5387    >,
5388    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5389    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5390}
5391
5392impl ::std::fmt::Debug for GtkTreeModelIface {
5393    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5394        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5395            .field("row_changed", &self.row_changed)
5396            .field("row_inserted", &self.row_inserted)
5397            .field("row_has_child_toggled", &self.row_has_child_toggled)
5398            .field("row_deleted", &self.row_deleted)
5399            .field("rows_reordered", &self.rows_reordered)
5400            .field("get_flags", &self.get_flags)
5401            .field("get_n_columns", &self.get_n_columns)
5402            .field("get_column_type", &self.get_column_type)
5403            .field("get_iter", &self.get_iter)
5404            .field("get_path", &self.get_path)
5405            .field("get_value", &self.get_value)
5406            .field("iter_next", &self.iter_next)
5407            .field("iter_previous", &self.iter_previous)
5408            .field("iter_children", &self.iter_children)
5409            .field("iter_has_child", &self.iter_has_child)
5410            .field("iter_n_children", &self.iter_n_children)
5411            .field("iter_nth_child", &self.iter_nth_child)
5412            .field("iter_parent", &self.iter_parent)
5413            .field("ref_node", &self.ref_node)
5414            .field("unref_node", &self.unref_node)
5415            .finish()
5416    }
5417}
5418
5419#[derive(Copy, Clone)]
5420#[repr(C)]
5421pub struct GtkTreeModelSortClass {
5422    pub parent_class: gobject::GObjectClass,
5423    pub padding: [gpointer; 8],
5424}
5425
5426impl ::std::fmt::Debug for GtkTreeModelSortClass {
5427    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5428        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5429            .field("parent_class", &self.parent_class)
5430            .finish()
5431    }
5432}
5433
5434#[repr(C)]
5435#[allow(dead_code)]
5436pub struct _GtkTreeModelSortPrivate {
5437    _data: [u8; 0],
5438    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5439}
5440
5441pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5442
5443#[repr(C)]
5444#[allow(dead_code)]
5445pub struct GtkTreePath {
5446    _data: [u8; 0],
5447    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5448}
5449
5450impl ::std::fmt::Debug for GtkTreePath {
5451    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5452        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5453    }
5454}
5455
5456#[repr(C)]
5457#[allow(dead_code)]
5458pub struct GtkTreeRowReference {
5459    _data: [u8; 0],
5460    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5461}
5462
5463impl ::std::fmt::Debug for GtkTreeRowReference {
5464    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5465        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5466            .finish()
5467    }
5468}
5469
5470#[derive(Copy, Clone)]
5471#[repr(C)]
5472pub struct GtkTreeSortableIface {
5473    pub g_iface: gobject::GTypeInterface,
5474    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5475    pub get_sort_column_id: Option<
5476        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5477    >,
5478    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5479    pub set_sort_func: Option<
5480        unsafe extern "C" fn(
5481            *mut GtkTreeSortable,
5482            c_int,
5483            GtkTreeIterCompareFunc,
5484            gpointer,
5485            glib::GDestroyNotify,
5486        ),
5487    >,
5488    pub set_default_sort_func: Option<
5489        unsafe extern "C" fn(
5490            *mut GtkTreeSortable,
5491            GtkTreeIterCompareFunc,
5492            gpointer,
5493            glib::GDestroyNotify,
5494        ),
5495    >,
5496    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5497}
5498
5499impl ::std::fmt::Debug for GtkTreeSortableIface {
5500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5501        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5502            .field("sort_column_changed", &self.sort_column_changed)
5503            .field("get_sort_column_id", &self.get_sort_column_id)
5504            .field("set_sort_column_id", &self.set_sort_column_id)
5505            .field("set_sort_func", &self.set_sort_func)
5506            .field("set_default_sort_func", &self.set_default_sort_func)
5507            .field("has_default_sort_func", &self.has_default_sort_func)
5508            .finish()
5509    }
5510}
5511
5512#[derive(Copy, Clone)]
5513#[repr(C)]
5514pub struct GtkTreeStoreClass {
5515    pub parent_class: gobject::GObjectClass,
5516    pub padding: [gpointer; 8],
5517}
5518
5519impl ::std::fmt::Debug for GtkTreeStoreClass {
5520    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5521        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5522            .field("parent_class", &self.parent_class)
5523            .finish()
5524    }
5525}
5526
5527#[repr(C)]
5528#[allow(dead_code)]
5529pub struct _GtkTreeStorePrivate {
5530    _data: [u8; 0],
5531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5532}
5533
5534pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5535
5536#[derive(Copy, Clone)]
5537#[repr(C)]
5538pub struct GtkTreeViewClass {
5539    pub parent_class: GtkWidgetClass,
5540    pub row_activated:
5541        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5542    pub test_expand_row: Option<
5543        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5544    >,
5545    pub test_collapse_row: Option<
5546        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5547    >,
5548    pub row_expanded:
5549        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5550    pub row_collapsed:
5551        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5552    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5553    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5554    pub move_cursor: Option<
5555        unsafe extern "C" fn(
5556            *mut GtkTreeView,
5557            GtkMovementStep,
5558            c_int,
5559            gboolean,
5560            gboolean,
5561        ) -> gboolean,
5562    >,
5563    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5564    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5565    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5566    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5567    pub expand_collapse_cursor_row:
5568        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5569    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5570    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5571    pub _reserved: [gpointer; 16],
5572}
5573
5574impl ::std::fmt::Debug for GtkTreeViewClass {
5575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5576        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5577            .field("parent_class", &self.parent_class)
5578            .field("row_activated", &self.row_activated)
5579            .field("test_expand_row", &self.test_expand_row)
5580            .field("test_collapse_row", &self.test_collapse_row)
5581            .field("row_expanded", &self.row_expanded)
5582            .field("row_collapsed", &self.row_collapsed)
5583            .field("columns_changed", &self.columns_changed)
5584            .field("cursor_changed", &self.cursor_changed)
5585            .field("move_cursor", &self.move_cursor)
5586            .field("select_all", &self.select_all)
5587            .field("unselect_all", &self.unselect_all)
5588            .field("select_cursor_row", &self.select_cursor_row)
5589            .field("toggle_cursor_row", &self.toggle_cursor_row)
5590            .field(
5591                "expand_collapse_cursor_row",
5592                &self.expand_collapse_cursor_row,
5593            )
5594            .field("select_cursor_parent", &self.select_cursor_parent)
5595            .field("start_interactive_search", &self.start_interactive_search)
5596            .finish()
5597    }
5598}
5599
5600#[derive(Copy, Clone)]
5601#[repr(C)]
5602pub struct GtkUriLauncherClass {
5603    pub parent_class: gobject::GObjectClass,
5604}
5605
5606impl ::std::fmt::Debug for GtkUriLauncherClass {
5607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5608        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5609            .field("parent_class", &self.parent_class)
5610            .finish()
5611    }
5612}
5613
5614#[derive(Copy, Clone)]
5615#[repr(C)]
5616pub struct GtkVideoClass {
5617    pub parent_class: GtkWidgetClass,
5618}
5619
5620impl ::std::fmt::Debug for GtkVideoClass {
5621    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5622        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5623            .field("parent_class", &self.parent_class)
5624            .finish()
5625    }
5626}
5627
5628#[derive(Copy, Clone)]
5629#[repr(C)]
5630pub struct GtkWidgetClass {
5631    pub parent_class: gobject::GInitiallyUnownedClass,
5632    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5633    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5634    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5635    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5636    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5637    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5638    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5639    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5640    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5641    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5642    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5643    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5644    pub measure: Option<
5645        unsafe extern "C" fn(
5646            *mut GtkWidget,
5647            GtkOrientation,
5648            c_int,
5649            *mut c_int,
5650            *mut c_int,
5651            *mut c_int,
5652            *mut c_int,
5653        ),
5654    >,
5655    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5656    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5657    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5658    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5659    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5660    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5661    pub query_tooltip: Option<
5662        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5663    >,
5664    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5665    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5666    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5667    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5668    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5669    pub priv_: *mut GtkWidgetClassPrivate,
5670    pub padding: [gpointer; 8],
5671}
5672
5673impl ::std::fmt::Debug for GtkWidgetClass {
5674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5675        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5676            .field("parent_class", &self.parent_class)
5677            .field("show", &self.show)
5678            .field("hide", &self.hide)
5679            .field("map", &self.map)
5680            .field("unmap", &self.unmap)
5681            .field("realize", &self.realize)
5682            .field("unrealize", &self.unrealize)
5683            .field("root", &self.root)
5684            .field("unroot", &self.unroot)
5685            .field("size_allocate", &self.size_allocate)
5686            .field("state_flags_changed", &self.state_flags_changed)
5687            .field("direction_changed", &self.direction_changed)
5688            .field("get_request_mode", &self.get_request_mode)
5689            .field("measure", &self.measure)
5690            .field("mnemonic_activate", &self.mnemonic_activate)
5691            .field("grab_focus", &self.grab_focus)
5692            .field("focus", &self.focus)
5693            .field("set_focus_child", &self.set_focus_child)
5694            .field("move_focus", &self.move_focus)
5695            .field("keynav_failed", &self.keynav_failed)
5696            .field("query_tooltip", &self.query_tooltip)
5697            .field("compute_expand", &self.compute_expand)
5698            .field("css_changed", &self.css_changed)
5699            .field("system_setting_changed", &self.system_setting_changed)
5700            .field("snapshot", &self.snapshot)
5701            .field("contains", &self.contains)
5702            .finish()
5703    }
5704}
5705
5706#[repr(C)]
5707#[allow(dead_code)]
5708pub struct _GtkWidgetClassPrivate {
5709    _data: [u8; 0],
5710    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5711}
5712
5713pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5714
5715#[derive(Copy, Clone)]
5716#[repr(C)]
5717pub struct GtkWidgetPaintableClass {
5718    pub parent_class: gobject::GObjectClass,
5719}
5720
5721impl ::std::fmt::Debug for GtkWidgetPaintableClass {
5722    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5723        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
5724            .field("parent_class", &self.parent_class)
5725            .finish()
5726    }
5727}
5728
5729#[repr(C)]
5730#[allow(dead_code)]
5731pub struct _GtkWidgetPrivate {
5732    _data: [u8; 0],
5733    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5734}
5735
5736pub type GtkWidgetPrivate = _GtkWidgetPrivate;
5737
5738#[derive(Copy, Clone)]
5739#[repr(C)]
5740pub struct GtkWindowClass {
5741    pub parent_class: GtkWidgetClass,
5742    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5743    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5744    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5745    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
5746    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
5747    pub padding: [gpointer; 8],
5748}
5749
5750impl ::std::fmt::Debug for GtkWindowClass {
5751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5752        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
5753            .field("parent_class", &self.parent_class)
5754            .field("activate_focus", &self.activate_focus)
5755            .field("activate_default", &self.activate_default)
5756            .field("keys_changed", &self.keys_changed)
5757            .field("enable_debugging", &self.enable_debugging)
5758            .field("close_request", &self.close_request)
5759            .finish()
5760    }
5761}
5762
5763#[derive(Copy, Clone)]
5764#[repr(C)]
5765pub struct GtkWindowControlsClass {
5766    pub parent_class: GtkWidgetClass,
5767}
5768
5769impl ::std::fmt::Debug for GtkWindowControlsClass {
5770    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5771        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
5772            .field("parent_class", &self.parent_class)
5773            .finish()
5774    }
5775}
5776
5777#[derive(Copy, Clone)]
5778#[repr(C)]
5779pub struct GtkWindowGroupClass {
5780    pub parent_class: gobject::GObjectClass,
5781    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5782    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5783    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5784    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5785}
5786
5787impl ::std::fmt::Debug for GtkWindowGroupClass {
5788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5789        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
5790            .field("parent_class", &self.parent_class)
5791            .field("_gtk_reserved1", &self._gtk_reserved1)
5792            .field("_gtk_reserved2", &self._gtk_reserved2)
5793            .field("_gtk_reserved3", &self._gtk_reserved3)
5794            .field("_gtk_reserved4", &self._gtk_reserved4)
5795            .finish()
5796    }
5797}
5798
5799#[repr(C)]
5800#[allow(dead_code)]
5801pub struct _GtkWindowGroupPrivate {
5802    _data: [u8; 0],
5803    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5804}
5805
5806pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
5807
5808#[derive(Copy, Clone)]
5809#[repr(C)]
5810pub struct GtkWindowHandleClass {
5811    pub parent_class: GtkWidgetClass,
5812}
5813
5814impl ::std::fmt::Debug for GtkWindowHandleClass {
5815    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5816        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
5817            .field("parent_class", &self.parent_class)
5818            .finish()
5819    }
5820}
5821
5822// Classes
5823#[repr(C)]
5824#[allow(dead_code)]
5825pub struct GtkATContext {
5826    _data: [u8; 0],
5827    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5828}
5829
5830impl ::std::fmt::Debug for GtkATContext {
5831    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5832        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
5833    }
5834}
5835
5836#[repr(C)]
5837#[allow(dead_code)]
5838pub struct GtkAboutDialog {
5839    _data: [u8; 0],
5840    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5841}
5842
5843impl ::std::fmt::Debug for GtkAboutDialog {
5844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5845        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
5846            .finish()
5847    }
5848}
5849
5850#[repr(C)]
5851#[allow(dead_code)]
5852pub struct GtkActionBar {
5853    _data: [u8; 0],
5854    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5855}
5856
5857impl ::std::fmt::Debug for GtkActionBar {
5858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5859        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
5860    }
5861}
5862
5863#[repr(C)]
5864#[allow(dead_code)]
5865pub struct GtkActivateAction {
5866    _data: [u8; 0],
5867    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5868}
5869
5870impl ::std::fmt::Debug for GtkActivateAction {
5871    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5872        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
5873            .finish()
5874    }
5875}
5876
5877#[derive(Copy, Clone)]
5878#[repr(C)]
5879pub struct GtkAdjustment {
5880    pub parent_instance: gobject::GInitiallyUnowned,
5881}
5882
5883impl ::std::fmt::Debug for GtkAdjustment {
5884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5885        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
5886            .field("parent_instance", &self.parent_instance)
5887            .finish()
5888    }
5889}
5890
5891#[repr(C)]
5892#[allow(dead_code)]
5893pub struct GtkAlertDialog {
5894    _data: [u8; 0],
5895    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5896}
5897
5898impl ::std::fmt::Debug for GtkAlertDialog {
5899    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5900        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
5901            .finish()
5902    }
5903}
5904
5905#[repr(C)]
5906#[allow(dead_code)]
5907pub struct GtkAlternativeTrigger {
5908    _data: [u8; 0],
5909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5910}
5911
5912impl ::std::fmt::Debug for GtkAlternativeTrigger {
5913    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5914        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
5915            .finish()
5916    }
5917}
5918
5919#[repr(C)]
5920#[allow(dead_code)]
5921pub struct GtkAnyFilter {
5922    _data: [u8; 0],
5923    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5924}
5925
5926impl ::std::fmt::Debug for GtkAnyFilter {
5927    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5928        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
5929    }
5930}
5931
5932#[repr(C)]
5933#[allow(dead_code)]
5934pub struct GtkAppChooserButton {
5935    _data: [u8; 0],
5936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5937}
5938
5939impl ::std::fmt::Debug for GtkAppChooserButton {
5940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5941        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
5942            .finish()
5943    }
5944}
5945
5946#[repr(C)]
5947#[allow(dead_code)]
5948pub struct GtkAppChooserDialog {
5949    _data: [u8; 0],
5950    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5951}
5952
5953impl ::std::fmt::Debug for GtkAppChooserDialog {
5954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5955        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
5956            .finish()
5957    }
5958}
5959
5960#[repr(C)]
5961#[allow(dead_code)]
5962pub struct GtkAppChooserWidget {
5963    _data: [u8; 0],
5964    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5965}
5966
5967impl ::std::fmt::Debug for GtkAppChooserWidget {
5968    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5969        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
5970            .finish()
5971    }
5972}
5973
5974#[derive(Copy, Clone)]
5975#[repr(C)]
5976pub struct GtkApplication {
5977    pub parent_instance: gio::GApplication,
5978}
5979
5980impl ::std::fmt::Debug for GtkApplication {
5981    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5982        f.debug_struct(&format!("GtkApplication @ {self:p}"))
5983            .field("parent_instance", &self.parent_instance)
5984            .finish()
5985    }
5986}
5987
5988#[derive(Copy, Clone)]
5989#[repr(C)]
5990pub struct GtkApplicationWindow {
5991    pub parent_instance: GtkWindow,
5992}
5993
5994impl ::std::fmt::Debug for GtkApplicationWindow {
5995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5996        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
5997            .field("parent_instance", &self.parent_instance)
5998            .finish()
5999    }
6000}
6001
6002#[repr(C)]
6003#[allow(dead_code)]
6004pub struct GtkAspectFrame {
6005    _data: [u8; 0],
6006    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6007}
6008
6009impl ::std::fmt::Debug for GtkAspectFrame {
6010    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6011        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6012            .finish()
6013    }
6014}
6015
6016#[repr(C)]
6017#[allow(dead_code)]
6018pub struct GtkAssistant {
6019    _data: [u8; 0],
6020    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6021}
6022
6023impl ::std::fmt::Debug for GtkAssistant {
6024    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6025        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6026    }
6027}
6028
6029#[repr(C)]
6030#[allow(dead_code)]
6031pub struct GtkAssistantPage {
6032    _data: [u8; 0],
6033    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6034}
6035
6036impl ::std::fmt::Debug for GtkAssistantPage {
6037    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6038        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6039            .finish()
6040    }
6041}
6042
6043#[repr(C)]
6044#[allow(dead_code)]
6045pub struct GtkBinLayout {
6046    _data: [u8; 0],
6047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6048}
6049
6050impl ::std::fmt::Debug for GtkBinLayout {
6051    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6052        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6053    }
6054}
6055
6056#[repr(C)]
6057#[allow(dead_code)]
6058pub struct GtkBookmarkList {
6059    _data: [u8; 0],
6060    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6061}
6062
6063impl ::std::fmt::Debug for GtkBookmarkList {
6064    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6065        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6066            .finish()
6067    }
6068}
6069
6070#[repr(C)]
6071#[allow(dead_code)]
6072pub struct GtkBoolFilter {
6073    _data: [u8; 0],
6074    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6075}
6076
6077impl ::std::fmt::Debug for GtkBoolFilter {
6078    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6079        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6080            .finish()
6081    }
6082}
6083
6084#[derive(Copy, Clone)]
6085#[repr(C)]
6086pub struct GtkBox {
6087    pub parent_instance: GtkWidget,
6088}
6089
6090impl ::std::fmt::Debug for GtkBox {
6091    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6092        f.debug_struct(&format!("GtkBox @ {self:p}"))
6093            .field("parent_instance", &self.parent_instance)
6094            .finish()
6095    }
6096}
6097
6098#[repr(C)]
6099#[allow(dead_code)]
6100pub struct GtkBoxLayout {
6101    _data: [u8; 0],
6102    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6103}
6104
6105impl ::std::fmt::Debug for GtkBoxLayout {
6106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6107        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6108    }
6109}
6110
6111#[repr(C)]
6112#[allow(dead_code)]
6113pub struct GtkBuilder {
6114    _data: [u8; 0],
6115    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6116}
6117
6118impl ::std::fmt::Debug for GtkBuilder {
6119    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6120        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6121    }
6122}
6123
6124#[derive(Copy, Clone)]
6125#[repr(C)]
6126pub struct GtkBuilderCScope {
6127    pub parent_instance: gobject::GObject,
6128}
6129
6130impl ::std::fmt::Debug for GtkBuilderCScope {
6131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6132        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6133            .field("parent_instance", &self.parent_instance)
6134            .finish()
6135    }
6136}
6137
6138#[repr(C)]
6139#[allow(dead_code)]
6140pub struct GtkBuilderListItemFactory {
6141    _data: [u8; 0],
6142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6143}
6144
6145impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6146    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6147        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6148            .finish()
6149    }
6150}
6151
6152#[derive(Copy, Clone)]
6153#[repr(C)]
6154pub struct GtkButton {
6155    pub parent_instance: GtkWidget,
6156}
6157
6158impl ::std::fmt::Debug for GtkButton {
6159    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6160        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6161    }
6162}
6163
6164#[repr(C)]
6165#[allow(dead_code)]
6166pub struct GtkCClosureExpression {
6167    _data: [u8; 0],
6168    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6169}
6170
6171impl ::std::fmt::Debug for GtkCClosureExpression {
6172    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6173        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6174            .finish()
6175    }
6176}
6177
6178#[repr(C)]
6179#[allow(dead_code)]
6180pub struct GtkCalendar {
6181    _data: [u8; 0],
6182    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6183}
6184
6185impl ::std::fmt::Debug for GtkCalendar {
6186    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6187        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6188    }
6189}
6190
6191#[repr(C)]
6192#[allow(dead_code)]
6193pub struct GtkCallbackAction {
6194    _data: [u8; 0],
6195    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6196}
6197
6198impl ::std::fmt::Debug for GtkCallbackAction {
6199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6200        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6201            .finish()
6202    }
6203}
6204
6205#[derive(Copy, Clone)]
6206#[repr(C)]
6207pub struct GtkCellArea {
6208    pub parent_instance: gobject::GInitiallyUnowned,
6209}
6210
6211impl ::std::fmt::Debug for GtkCellArea {
6212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6213        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6214    }
6215}
6216
6217#[repr(C)]
6218#[allow(dead_code)]
6219pub struct GtkCellAreaBox {
6220    _data: [u8; 0],
6221    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6222}
6223
6224impl ::std::fmt::Debug for GtkCellAreaBox {
6225    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6226        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6227            .finish()
6228    }
6229}
6230
6231#[derive(Copy, Clone)]
6232#[repr(C)]
6233pub struct GtkCellAreaContext {
6234    pub parent_instance: gobject::GObject,
6235}
6236
6237impl ::std::fmt::Debug for GtkCellAreaContext {
6238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6239        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6240            .finish()
6241    }
6242}
6243
6244#[derive(Copy, Clone)]
6245#[repr(C)]
6246pub struct GtkCellRenderer {
6247    pub parent_instance: gobject::GInitiallyUnowned,
6248    pub priv_: *mut GtkCellRendererPrivate,
6249}
6250
6251impl ::std::fmt::Debug for GtkCellRenderer {
6252    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6253        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6254            .field("parent_instance", &self.parent_instance)
6255            .finish()
6256    }
6257}
6258
6259#[repr(C)]
6260#[allow(dead_code)]
6261pub struct GtkCellRendererAccel {
6262    _data: [u8; 0],
6263    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6264}
6265
6266impl ::std::fmt::Debug for GtkCellRendererAccel {
6267    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6268        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6269            .finish()
6270    }
6271}
6272
6273#[repr(C)]
6274#[allow(dead_code)]
6275pub struct GtkCellRendererCombo {
6276    _data: [u8; 0],
6277    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6278}
6279
6280impl ::std::fmt::Debug for GtkCellRendererCombo {
6281    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6282        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6283            .finish()
6284    }
6285}
6286
6287#[repr(C)]
6288#[allow(dead_code)]
6289pub struct GtkCellRendererPixbuf {
6290    _data: [u8; 0],
6291    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6292}
6293
6294impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6295    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6296        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6297            .finish()
6298    }
6299}
6300
6301#[repr(C)]
6302#[allow(dead_code)]
6303pub struct GtkCellRendererProgress {
6304    _data: [u8; 0],
6305    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6306}
6307
6308impl ::std::fmt::Debug for GtkCellRendererProgress {
6309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6310        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6311            .finish()
6312    }
6313}
6314
6315#[repr(C)]
6316#[allow(dead_code)]
6317pub struct GtkCellRendererSpin {
6318    _data: [u8; 0],
6319    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6320}
6321
6322impl ::std::fmt::Debug for GtkCellRendererSpin {
6323    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6324        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6325            .finish()
6326    }
6327}
6328
6329#[repr(C)]
6330#[allow(dead_code)]
6331pub struct GtkCellRendererSpinner {
6332    _data: [u8; 0],
6333    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6334}
6335
6336impl ::std::fmt::Debug for GtkCellRendererSpinner {
6337    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6338        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6339            .finish()
6340    }
6341}
6342
6343#[derive(Copy, Clone)]
6344#[repr(C)]
6345pub struct GtkCellRendererText {
6346    pub parent: GtkCellRenderer,
6347}
6348
6349impl ::std::fmt::Debug for GtkCellRendererText {
6350    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6351        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6352            .field("parent", &self.parent)
6353            .finish()
6354    }
6355}
6356
6357#[repr(C)]
6358#[allow(dead_code)]
6359pub struct GtkCellRendererToggle {
6360    _data: [u8; 0],
6361    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6362}
6363
6364impl ::std::fmt::Debug for GtkCellRendererToggle {
6365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6366        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6367            .finish()
6368    }
6369}
6370
6371#[repr(C)]
6372#[allow(dead_code)]
6373pub struct GtkCellView {
6374    _data: [u8; 0],
6375    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6376}
6377
6378impl ::std::fmt::Debug for GtkCellView {
6379    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6380        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6381    }
6382}
6383
6384#[repr(C)]
6385#[allow(dead_code)]
6386pub struct GtkCenterBox {
6387    _data: [u8; 0],
6388    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6389}
6390
6391impl ::std::fmt::Debug for GtkCenterBox {
6392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6393        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6394    }
6395}
6396
6397#[repr(C)]
6398#[allow(dead_code)]
6399pub struct GtkCenterLayout {
6400    _data: [u8; 0],
6401    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6402}
6403
6404impl ::std::fmt::Debug for GtkCenterLayout {
6405    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6406        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6407            .finish()
6408    }
6409}
6410
6411#[derive(Copy, Clone)]
6412#[repr(C)]
6413pub struct GtkCheckButton {
6414    pub parent_instance: GtkWidget,
6415}
6416
6417impl ::std::fmt::Debug for GtkCheckButton {
6418    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6419        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6420            .field("parent_instance", &self.parent_instance)
6421            .finish()
6422    }
6423}
6424
6425#[repr(C)]
6426#[allow(dead_code)]
6427pub struct GtkClosureExpression {
6428    _data: [u8; 0],
6429    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6430}
6431
6432impl ::std::fmt::Debug for GtkClosureExpression {
6433    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6434        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6435            .finish()
6436    }
6437}
6438
6439#[repr(C)]
6440#[allow(dead_code)]
6441pub struct GtkColorButton {
6442    _data: [u8; 0],
6443    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6444}
6445
6446impl ::std::fmt::Debug for GtkColorButton {
6447    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6448        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6449            .finish()
6450    }
6451}
6452
6453#[repr(C)]
6454#[allow(dead_code)]
6455pub struct GtkColorChooserDialog {
6456    _data: [u8; 0],
6457    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6458}
6459
6460impl ::std::fmt::Debug for GtkColorChooserDialog {
6461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6462        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6463            .finish()
6464    }
6465}
6466
6467#[repr(C)]
6468#[allow(dead_code)]
6469pub struct GtkColorChooserWidget {
6470    _data: [u8; 0],
6471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6472}
6473
6474impl ::std::fmt::Debug for GtkColorChooserWidget {
6475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6476        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6477            .finish()
6478    }
6479}
6480
6481#[repr(C)]
6482#[allow(dead_code)]
6483pub struct GtkColorDialog {
6484    _data: [u8; 0],
6485    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6486}
6487
6488impl ::std::fmt::Debug for GtkColorDialog {
6489    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6490        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6491            .finish()
6492    }
6493}
6494
6495#[repr(C)]
6496#[allow(dead_code)]
6497pub struct GtkColorDialogButton {
6498    _data: [u8; 0],
6499    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6500}
6501
6502impl ::std::fmt::Debug for GtkColorDialogButton {
6503    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6504        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6505            .finish()
6506    }
6507}
6508
6509#[repr(C)]
6510#[allow(dead_code)]
6511pub struct GtkColumnView {
6512    _data: [u8; 0],
6513    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6514}
6515
6516impl ::std::fmt::Debug for GtkColumnView {
6517    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6518        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6519            .finish()
6520    }
6521}
6522
6523#[repr(C)]
6524#[allow(dead_code)]
6525pub struct GtkColumnViewCell {
6526    _data: [u8; 0],
6527    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6528}
6529
6530impl ::std::fmt::Debug for GtkColumnViewCell {
6531    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6532        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6533            .finish()
6534    }
6535}
6536
6537#[repr(C)]
6538#[allow(dead_code)]
6539pub struct GtkColumnViewColumn {
6540    _data: [u8; 0],
6541    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6542}
6543
6544impl ::std::fmt::Debug for GtkColumnViewColumn {
6545    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6546        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6547            .finish()
6548    }
6549}
6550
6551#[repr(C)]
6552#[allow(dead_code)]
6553pub struct GtkColumnViewRow {
6554    _data: [u8; 0],
6555    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6556}
6557
6558impl ::std::fmt::Debug for GtkColumnViewRow {
6559    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6560        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6561            .finish()
6562    }
6563}
6564
6565#[repr(C)]
6566#[allow(dead_code)]
6567pub struct GtkColumnViewSorter {
6568    _data: [u8; 0],
6569    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6570}
6571
6572impl ::std::fmt::Debug for GtkColumnViewSorter {
6573    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6574        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6575            .finish()
6576    }
6577}
6578
6579#[derive(Copy, Clone)]
6580#[repr(C)]
6581pub struct GtkComboBox {
6582    pub parent_instance: GtkWidget,
6583}
6584
6585impl ::std::fmt::Debug for GtkComboBox {
6586    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6587        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6588            .field("parent_instance", &self.parent_instance)
6589            .finish()
6590    }
6591}
6592
6593#[repr(C)]
6594#[allow(dead_code)]
6595pub struct GtkComboBoxText {
6596    _data: [u8; 0],
6597    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6598}
6599
6600impl ::std::fmt::Debug for GtkComboBoxText {
6601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6602        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6603            .finish()
6604    }
6605}
6606
6607#[repr(C)]
6608#[allow(dead_code)]
6609pub struct GtkConstantExpression {
6610    _data: [u8; 0],
6611    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6612}
6613
6614impl ::std::fmt::Debug for GtkConstantExpression {
6615    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6616        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6617            .finish()
6618    }
6619}
6620
6621#[repr(C)]
6622#[allow(dead_code)]
6623pub struct GtkConstraint {
6624    _data: [u8; 0],
6625    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6626}
6627
6628impl ::std::fmt::Debug for GtkConstraint {
6629    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6630        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6631            .finish()
6632    }
6633}
6634
6635#[repr(C)]
6636#[allow(dead_code)]
6637pub struct GtkConstraintGuide {
6638    _data: [u8; 0],
6639    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6640}
6641
6642impl ::std::fmt::Debug for GtkConstraintGuide {
6643    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6644        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6645            .finish()
6646    }
6647}
6648
6649#[repr(C)]
6650#[allow(dead_code)]
6651pub struct GtkConstraintLayout {
6652    _data: [u8; 0],
6653    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6654}
6655
6656impl ::std::fmt::Debug for GtkConstraintLayout {
6657    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6658        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6659            .finish()
6660    }
6661}
6662
6663#[repr(C)]
6664#[allow(dead_code)]
6665pub struct GtkConstraintLayoutChild {
6666    _data: [u8; 0],
6667    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6668}
6669
6670impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6671    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6672        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6673            .finish()
6674    }
6675}
6676
6677#[derive(Copy, Clone)]
6678#[repr(C)]
6679pub struct GtkCssProvider {
6680    pub parent_instance: gobject::GObject,
6681}
6682
6683impl ::std::fmt::Debug for GtkCssProvider {
6684    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6685        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6686            .field("parent_instance", &self.parent_instance)
6687            .finish()
6688    }
6689}
6690
6691#[repr(C)]
6692#[allow(dead_code)]
6693pub struct GtkCustomFilter {
6694    _data: [u8; 0],
6695    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6696}
6697
6698impl ::std::fmt::Debug for GtkCustomFilter {
6699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6700        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
6701            .finish()
6702    }
6703}
6704
6705#[repr(C)]
6706#[allow(dead_code)]
6707pub struct GtkCustomLayout {
6708    _data: [u8; 0],
6709    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6710}
6711
6712impl ::std::fmt::Debug for GtkCustomLayout {
6713    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6714        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
6715            .finish()
6716    }
6717}
6718
6719#[repr(C)]
6720#[allow(dead_code)]
6721pub struct GtkCustomSorter {
6722    _data: [u8; 0],
6723    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6724}
6725
6726impl ::std::fmt::Debug for GtkCustomSorter {
6727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6728        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
6729            .finish()
6730    }
6731}
6732
6733#[derive(Copy, Clone)]
6734#[repr(C)]
6735pub struct GtkDialog {
6736    pub parent_instance: GtkWindow,
6737}
6738
6739impl ::std::fmt::Debug for GtkDialog {
6740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6741        f.debug_struct(&format!("GtkDialog @ {self:p}"))
6742            .field("parent_instance", &self.parent_instance)
6743            .finish()
6744    }
6745}
6746
6747#[repr(C)]
6748#[allow(dead_code)]
6749pub struct GtkDirectoryList {
6750    _data: [u8; 0],
6751    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6752}
6753
6754impl ::std::fmt::Debug for GtkDirectoryList {
6755    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6756        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
6757            .finish()
6758    }
6759}
6760
6761#[repr(C)]
6762#[allow(dead_code)]
6763pub struct GtkDragIcon {
6764    _data: [u8; 0],
6765    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6766}
6767
6768impl ::std::fmt::Debug for GtkDragIcon {
6769    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6770        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
6771    }
6772}
6773
6774#[repr(C)]
6775#[allow(dead_code)]
6776pub struct GtkDragSource {
6777    _data: [u8; 0],
6778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6779}
6780
6781impl ::std::fmt::Debug for GtkDragSource {
6782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6783        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
6784            .finish()
6785    }
6786}
6787
6788#[derive(Copy, Clone)]
6789#[repr(C)]
6790pub struct GtkDrawingArea {
6791    pub widget: GtkWidget,
6792}
6793
6794impl ::std::fmt::Debug for GtkDrawingArea {
6795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6796        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
6797            .field("widget", &self.widget)
6798            .finish()
6799    }
6800}
6801
6802#[repr(C)]
6803#[allow(dead_code)]
6804pub struct GtkDropControllerMotion {
6805    _data: [u8; 0],
6806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6807}
6808
6809impl ::std::fmt::Debug for GtkDropControllerMotion {
6810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6811        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
6812            .finish()
6813    }
6814}
6815
6816#[repr(C)]
6817#[allow(dead_code)]
6818pub struct GtkDropDown {
6819    _data: [u8; 0],
6820    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6821}
6822
6823impl ::std::fmt::Debug for GtkDropDown {
6824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6825        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
6826    }
6827}
6828
6829#[repr(C)]
6830#[allow(dead_code)]
6831pub struct GtkDropTarget {
6832    _data: [u8; 0],
6833    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6834}
6835
6836impl ::std::fmt::Debug for GtkDropTarget {
6837    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6838        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
6839            .finish()
6840    }
6841}
6842
6843#[repr(C)]
6844#[allow(dead_code)]
6845pub struct GtkDropTargetAsync {
6846    _data: [u8; 0],
6847    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6848}
6849
6850impl ::std::fmt::Debug for GtkDropTargetAsync {
6851    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6852        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
6853            .finish()
6854    }
6855}
6856
6857#[repr(C)]
6858#[allow(dead_code)]
6859pub struct GtkEditableLabel {
6860    _data: [u8; 0],
6861    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6862}
6863
6864impl ::std::fmt::Debug for GtkEditableLabel {
6865    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6866        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
6867            .finish()
6868    }
6869}
6870
6871#[repr(C)]
6872#[allow(dead_code)]
6873pub struct GtkEmojiChooser {
6874    _data: [u8; 0],
6875    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6876}
6877
6878impl ::std::fmt::Debug for GtkEmojiChooser {
6879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6880        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
6881            .finish()
6882    }
6883}
6884
6885#[derive(Copy, Clone)]
6886#[repr(C)]
6887pub struct GtkEntry {
6888    pub parent_instance: GtkWidget,
6889}
6890
6891impl ::std::fmt::Debug for GtkEntry {
6892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6893        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
6894    }
6895}
6896
6897#[derive(Copy, Clone)]
6898#[repr(C)]
6899pub struct GtkEntryBuffer {
6900    pub parent_instance: gobject::GObject,
6901}
6902
6903impl ::std::fmt::Debug for GtkEntryBuffer {
6904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6905        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
6906            .field("parent_instance", &self.parent_instance)
6907            .finish()
6908    }
6909}
6910
6911#[repr(C)]
6912#[allow(dead_code)]
6913pub struct GtkEntryCompletion {
6914    _data: [u8; 0],
6915    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6916}
6917
6918impl ::std::fmt::Debug for GtkEntryCompletion {
6919    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6920        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
6921            .finish()
6922    }
6923}
6924
6925#[repr(C)]
6926#[allow(dead_code)]
6927pub struct GtkEventController {
6928    _data: [u8; 0],
6929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6930}
6931
6932impl ::std::fmt::Debug for GtkEventController {
6933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6934        f.debug_struct(&format!("GtkEventController @ {self:p}"))
6935            .finish()
6936    }
6937}
6938
6939#[repr(C)]
6940#[allow(dead_code)]
6941pub struct GtkEventControllerFocus {
6942    _data: [u8; 0],
6943    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6944}
6945
6946impl ::std::fmt::Debug for GtkEventControllerFocus {
6947    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6948        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
6949            .finish()
6950    }
6951}
6952
6953#[repr(C)]
6954#[allow(dead_code)]
6955pub struct GtkEventControllerKey {
6956    _data: [u8; 0],
6957    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6958}
6959
6960impl ::std::fmt::Debug for GtkEventControllerKey {
6961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6962        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
6963            .finish()
6964    }
6965}
6966
6967#[repr(C)]
6968#[allow(dead_code)]
6969pub struct GtkEventControllerLegacy {
6970    _data: [u8; 0],
6971    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6972}
6973
6974impl ::std::fmt::Debug for GtkEventControllerLegacy {
6975    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6976        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
6977            .finish()
6978    }
6979}
6980
6981#[repr(C)]
6982#[allow(dead_code)]
6983pub struct GtkEventControllerMotion {
6984    _data: [u8; 0],
6985    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6986}
6987
6988impl ::std::fmt::Debug for GtkEventControllerMotion {
6989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6990        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
6991            .finish()
6992    }
6993}
6994
6995#[repr(C)]
6996#[allow(dead_code)]
6997pub struct GtkEventControllerScroll {
6998    _data: [u8; 0],
6999    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7000}
7001
7002impl ::std::fmt::Debug for GtkEventControllerScroll {
7003    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7004        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7005            .finish()
7006    }
7007}
7008
7009#[repr(C)]
7010#[allow(dead_code)]
7011pub struct GtkEveryFilter {
7012    _data: [u8; 0],
7013    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7014}
7015
7016impl ::std::fmt::Debug for GtkEveryFilter {
7017    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7018        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7019            .finish()
7020    }
7021}
7022
7023#[repr(C)]
7024#[allow(dead_code)]
7025pub struct GtkExpander {
7026    _data: [u8; 0],
7027    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7028}
7029
7030impl ::std::fmt::Debug for GtkExpander {
7031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7032        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7033    }
7034}
7035
7036#[repr(C)]
7037#[allow(dead_code)]
7038pub struct GtkExpression {
7039    _data: [u8; 0],
7040    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7041}
7042
7043impl ::std::fmt::Debug for GtkExpression {
7044    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7045        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7046            .finish()
7047    }
7048}
7049
7050#[repr(C)]
7051#[allow(dead_code)]
7052pub struct GtkFileChooserDialog {
7053    _data: [u8; 0],
7054    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7055}
7056
7057impl ::std::fmt::Debug for GtkFileChooserDialog {
7058    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7059        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7060            .finish()
7061    }
7062}
7063
7064#[repr(C)]
7065#[allow(dead_code)]
7066pub struct GtkFileChooserNative {
7067    _data: [u8; 0],
7068    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7069}
7070
7071impl ::std::fmt::Debug for GtkFileChooserNative {
7072    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7073        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7074            .finish()
7075    }
7076}
7077
7078#[repr(C)]
7079#[allow(dead_code)]
7080pub struct GtkFileChooserWidget {
7081    _data: [u8; 0],
7082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7083}
7084
7085impl ::std::fmt::Debug for GtkFileChooserWidget {
7086    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7087        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7088            .finish()
7089    }
7090}
7091
7092#[repr(C)]
7093#[allow(dead_code)]
7094pub struct GtkFileDialog {
7095    _data: [u8; 0],
7096    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7097}
7098
7099impl ::std::fmt::Debug for GtkFileDialog {
7100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7101        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7102            .finish()
7103    }
7104}
7105
7106#[repr(C)]
7107#[allow(dead_code)]
7108pub struct GtkFileFilter {
7109    _data: [u8; 0],
7110    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7111}
7112
7113impl ::std::fmt::Debug for GtkFileFilter {
7114    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7115        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7116            .finish()
7117    }
7118}
7119
7120#[repr(C)]
7121#[allow(dead_code)]
7122pub struct GtkFileLauncher {
7123    _data: [u8; 0],
7124    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7125}
7126
7127impl ::std::fmt::Debug for GtkFileLauncher {
7128    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7129        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7130            .finish()
7131    }
7132}
7133
7134#[derive(Copy, Clone)]
7135#[repr(C)]
7136pub struct GtkFilter {
7137    pub parent_instance: gobject::GObject,
7138}
7139
7140impl ::std::fmt::Debug for GtkFilter {
7141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7142        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7143            .field("parent_instance", &self.parent_instance)
7144            .finish()
7145    }
7146}
7147
7148#[repr(C)]
7149#[allow(dead_code)]
7150pub struct GtkFilterListModel {
7151    _data: [u8; 0],
7152    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7153}
7154
7155impl ::std::fmt::Debug for GtkFilterListModel {
7156    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7157        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7158            .finish()
7159    }
7160}
7161
7162#[derive(Copy, Clone)]
7163#[repr(C)]
7164pub struct GtkFixed {
7165    pub parent_instance: GtkWidget,
7166}
7167
7168impl ::std::fmt::Debug for GtkFixed {
7169    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7170        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7171            .field("parent_instance", &self.parent_instance)
7172            .finish()
7173    }
7174}
7175
7176#[repr(C)]
7177#[allow(dead_code)]
7178pub struct GtkFixedLayout {
7179    _data: [u8; 0],
7180    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7181}
7182
7183impl ::std::fmt::Debug for GtkFixedLayout {
7184    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7185        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7186            .finish()
7187    }
7188}
7189
7190#[repr(C)]
7191#[allow(dead_code)]
7192pub struct GtkFixedLayoutChild {
7193    _data: [u8; 0],
7194    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7195}
7196
7197impl ::std::fmt::Debug for GtkFixedLayoutChild {
7198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7199        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7200            .finish()
7201    }
7202}
7203
7204#[repr(C)]
7205#[allow(dead_code)]
7206pub struct GtkFlattenListModel {
7207    _data: [u8; 0],
7208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7209}
7210
7211impl ::std::fmt::Debug for GtkFlattenListModel {
7212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7213        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7214            .finish()
7215    }
7216}
7217
7218#[repr(C)]
7219#[allow(dead_code)]
7220pub struct GtkFlowBox {
7221    _data: [u8; 0],
7222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7223}
7224
7225impl ::std::fmt::Debug for GtkFlowBox {
7226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7227        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7228    }
7229}
7230
7231#[derive(Copy, Clone)]
7232#[repr(C)]
7233pub struct GtkFlowBoxChild {
7234    pub parent_instance: GtkWidget,
7235}
7236
7237impl ::std::fmt::Debug for GtkFlowBoxChild {
7238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7239        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7240            .finish()
7241    }
7242}
7243
7244#[repr(C)]
7245#[allow(dead_code)]
7246pub struct GtkFontButton {
7247    _data: [u8; 0],
7248    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7249}
7250
7251impl ::std::fmt::Debug for GtkFontButton {
7252    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7253        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7254            .finish()
7255    }
7256}
7257
7258#[repr(C)]
7259#[allow(dead_code)]
7260pub struct GtkFontChooserDialog {
7261    _data: [u8; 0],
7262    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7263}
7264
7265impl ::std::fmt::Debug for GtkFontChooserDialog {
7266    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7267        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7268            .finish()
7269    }
7270}
7271
7272#[repr(C)]
7273#[allow(dead_code)]
7274pub struct GtkFontChooserWidget {
7275    _data: [u8; 0],
7276    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7277}
7278
7279impl ::std::fmt::Debug for GtkFontChooserWidget {
7280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7281        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7282            .finish()
7283    }
7284}
7285
7286#[repr(C)]
7287#[allow(dead_code)]
7288pub struct GtkFontDialog {
7289    _data: [u8; 0],
7290    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7291}
7292
7293impl ::std::fmt::Debug for GtkFontDialog {
7294    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7295        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7296            .finish()
7297    }
7298}
7299
7300#[repr(C)]
7301#[allow(dead_code)]
7302pub struct GtkFontDialogButton {
7303    _data: [u8; 0],
7304    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7305}
7306
7307impl ::std::fmt::Debug for GtkFontDialogButton {
7308    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7309        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7310            .finish()
7311    }
7312}
7313
7314#[derive(Copy, Clone)]
7315#[repr(C)]
7316pub struct GtkFrame {
7317    pub parent_instance: GtkWidget,
7318}
7319
7320impl ::std::fmt::Debug for GtkFrame {
7321    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7322        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7323            .field("parent_instance", &self.parent_instance)
7324            .finish()
7325    }
7326}
7327
7328#[derive(Copy, Clone)]
7329#[repr(C)]
7330pub struct GtkGLArea {
7331    pub parent_instance: GtkWidget,
7332}
7333
7334impl ::std::fmt::Debug for GtkGLArea {
7335    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7336        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7337    }
7338}
7339
7340#[repr(C)]
7341#[allow(dead_code)]
7342pub struct GtkGesture {
7343    _data: [u8; 0],
7344    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7345}
7346
7347impl ::std::fmt::Debug for GtkGesture {
7348    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7349        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7350    }
7351}
7352
7353#[repr(C)]
7354#[allow(dead_code)]
7355pub struct GtkGestureClick {
7356    _data: [u8; 0],
7357    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7358}
7359
7360impl ::std::fmt::Debug for GtkGestureClick {
7361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7362        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7363            .finish()
7364    }
7365}
7366
7367#[repr(C)]
7368#[allow(dead_code)]
7369pub struct GtkGestureDrag {
7370    _data: [u8; 0],
7371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7372}
7373
7374impl ::std::fmt::Debug for GtkGestureDrag {
7375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7376        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7377            .finish()
7378    }
7379}
7380
7381#[repr(C)]
7382#[allow(dead_code)]
7383pub struct GtkGestureLongPress {
7384    _data: [u8; 0],
7385    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7386}
7387
7388impl ::std::fmt::Debug for GtkGestureLongPress {
7389    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7390        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7391            .finish()
7392    }
7393}
7394
7395#[repr(C)]
7396#[allow(dead_code)]
7397pub struct GtkGesturePan {
7398    _data: [u8; 0],
7399    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7400}
7401
7402impl ::std::fmt::Debug for GtkGesturePan {
7403    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7404        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7405            .finish()
7406    }
7407}
7408
7409#[repr(C)]
7410#[allow(dead_code)]
7411pub struct GtkGestureRotate {
7412    _data: [u8; 0],
7413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7414}
7415
7416impl ::std::fmt::Debug for GtkGestureRotate {
7417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7418        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7419            .finish()
7420    }
7421}
7422
7423#[repr(C)]
7424#[allow(dead_code)]
7425pub struct GtkGestureSingle {
7426    _data: [u8; 0],
7427    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7428}
7429
7430impl ::std::fmt::Debug for GtkGestureSingle {
7431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7432        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7433            .finish()
7434    }
7435}
7436
7437#[repr(C)]
7438#[allow(dead_code)]
7439pub struct GtkGestureStylus {
7440    _data: [u8; 0],
7441    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7442}
7443
7444impl ::std::fmt::Debug for GtkGestureStylus {
7445    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7446        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7447            .finish()
7448    }
7449}
7450
7451#[repr(C)]
7452#[allow(dead_code)]
7453pub struct GtkGestureSwipe {
7454    _data: [u8; 0],
7455    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7456}
7457
7458impl ::std::fmt::Debug for GtkGestureSwipe {
7459    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7460        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7461            .finish()
7462    }
7463}
7464
7465#[repr(C)]
7466#[allow(dead_code)]
7467pub struct GtkGestureZoom {
7468    _data: [u8; 0],
7469    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7470}
7471
7472impl ::std::fmt::Debug for GtkGestureZoom {
7473    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7474        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7475            .finish()
7476    }
7477}
7478
7479#[repr(C)]
7480#[allow(dead_code)]
7481pub struct GtkGraphicsOffload {
7482    _data: [u8; 0],
7483    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7484}
7485
7486impl ::std::fmt::Debug for GtkGraphicsOffload {
7487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7488        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7489            .finish()
7490    }
7491}
7492
7493#[derive(Copy, Clone)]
7494#[repr(C)]
7495pub struct GtkGrid {
7496    pub parent_instance: GtkWidget,
7497}
7498
7499impl ::std::fmt::Debug for GtkGrid {
7500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7501        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7502    }
7503}
7504
7505#[repr(C)]
7506#[allow(dead_code)]
7507pub struct GtkGridLayout {
7508    _data: [u8; 0],
7509    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7510}
7511
7512impl ::std::fmt::Debug for GtkGridLayout {
7513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7514        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7515            .finish()
7516    }
7517}
7518
7519#[repr(C)]
7520#[allow(dead_code)]
7521pub struct GtkGridLayoutChild {
7522    _data: [u8; 0],
7523    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7524}
7525
7526impl ::std::fmt::Debug for GtkGridLayoutChild {
7527    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7528        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7529            .finish()
7530    }
7531}
7532
7533#[repr(C)]
7534#[allow(dead_code)]
7535pub struct GtkGridView {
7536    _data: [u8; 0],
7537    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7538}
7539
7540impl ::std::fmt::Debug for GtkGridView {
7541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7542        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7543    }
7544}
7545
7546#[repr(C)]
7547#[allow(dead_code)]
7548pub struct GtkHeaderBar {
7549    _data: [u8; 0],
7550    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7551}
7552
7553impl ::std::fmt::Debug for GtkHeaderBar {
7554    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7555        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7556    }
7557}
7558
7559#[derive(Copy, Clone)]
7560#[repr(C)]
7561pub struct GtkIMContext {
7562    pub parent_instance: gobject::GObject,
7563}
7564
7565impl ::std::fmt::Debug for GtkIMContext {
7566    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7567        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7568            .field("parent_instance", &self.parent_instance)
7569            .finish()
7570    }
7571}
7572
7573#[derive(Copy, Clone)]
7574#[repr(C)]
7575pub struct GtkIMContextSimple {
7576    pub object: GtkIMContext,
7577    pub priv_: *mut GtkIMContextSimplePrivate,
7578}
7579
7580impl ::std::fmt::Debug for GtkIMContextSimple {
7581    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7582        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7583            .field("object", &self.object)
7584            .finish()
7585    }
7586}
7587
7588#[derive(Copy, Clone)]
7589#[repr(C)]
7590pub struct GtkIMMulticontext {
7591    pub object: GtkIMContext,
7592    pub priv_: *mut GtkIMMulticontextPrivate,
7593}
7594
7595impl ::std::fmt::Debug for GtkIMMulticontext {
7596    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7597        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7598            .field("object", &self.object)
7599            .finish()
7600    }
7601}
7602
7603#[repr(C)]
7604#[allow(dead_code)]
7605pub struct GtkIconPaintable {
7606    _data: [u8; 0],
7607    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7608}
7609
7610impl ::std::fmt::Debug for GtkIconPaintable {
7611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7612        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7613            .finish()
7614    }
7615}
7616
7617#[repr(C)]
7618#[allow(dead_code)]
7619pub struct GtkIconTheme {
7620    _data: [u8; 0],
7621    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7622}
7623
7624impl ::std::fmt::Debug for GtkIconTheme {
7625    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7626        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7627    }
7628}
7629
7630#[repr(C)]
7631#[allow(dead_code)]
7632pub struct GtkIconView {
7633    _data: [u8; 0],
7634    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7635}
7636
7637impl ::std::fmt::Debug for GtkIconView {
7638    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7639        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7640    }
7641}
7642
7643#[repr(C)]
7644#[allow(dead_code)]
7645pub struct GtkImage {
7646    _data: [u8; 0],
7647    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7648}
7649
7650impl ::std::fmt::Debug for GtkImage {
7651    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7652        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7653    }
7654}
7655
7656#[repr(C)]
7657#[allow(dead_code)]
7658pub struct GtkInfoBar {
7659    _data: [u8; 0],
7660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7661}
7662
7663impl ::std::fmt::Debug for GtkInfoBar {
7664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7665        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7666    }
7667}
7668
7669#[repr(C)]
7670#[allow(dead_code)]
7671pub struct GtkInscription {
7672    _data: [u8; 0],
7673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7674}
7675
7676impl ::std::fmt::Debug for GtkInscription {
7677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7678        f.debug_struct(&format!("GtkInscription @ {self:p}"))
7679            .finish()
7680    }
7681}
7682
7683#[repr(C)]
7684#[allow(dead_code)]
7685pub struct GtkKeyvalTrigger {
7686    _data: [u8; 0],
7687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7688}
7689
7690impl ::std::fmt::Debug for GtkKeyvalTrigger {
7691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7692        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
7693            .finish()
7694    }
7695}
7696
7697#[repr(C)]
7698#[allow(dead_code)]
7699pub struct GtkLabel {
7700    _data: [u8; 0],
7701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7702}
7703
7704impl ::std::fmt::Debug for GtkLabel {
7705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7706        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
7707    }
7708}
7709
7710#[derive(Copy, Clone)]
7711#[repr(C)]
7712pub struct GtkLayoutChild {
7713    pub parent_instance: gobject::GObject,
7714}
7715
7716impl ::std::fmt::Debug for GtkLayoutChild {
7717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7718        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
7719            .field("parent_instance", &self.parent_instance)
7720            .finish()
7721    }
7722}
7723
7724#[derive(Copy, Clone)]
7725#[repr(C)]
7726pub struct GtkLayoutManager {
7727    pub parent_instance: gobject::GObject,
7728}
7729
7730impl ::std::fmt::Debug for GtkLayoutManager {
7731    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7732        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
7733            .field("parent_instance", &self.parent_instance)
7734            .finish()
7735    }
7736}
7737
7738#[repr(C)]
7739#[allow(dead_code)]
7740pub struct GtkLevelBar {
7741    _data: [u8; 0],
7742    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7743}
7744
7745impl ::std::fmt::Debug for GtkLevelBar {
7746    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7747        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
7748    }
7749}
7750
7751#[repr(C)]
7752#[allow(dead_code)]
7753pub struct GtkLinkButton {
7754    _data: [u8; 0],
7755    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7756}
7757
7758impl ::std::fmt::Debug for GtkLinkButton {
7759    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7760        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
7761            .finish()
7762    }
7763}
7764
7765#[repr(C)]
7766#[allow(dead_code)]
7767pub struct GtkListBase {
7768    _data: [u8; 0],
7769    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7770}
7771
7772impl ::std::fmt::Debug for GtkListBase {
7773    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7774        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
7775    }
7776}
7777
7778#[repr(C)]
7779#[allow(dead_code)]
7780pub struct GtkListBox {
7781    _data: [u8; 0],
7782    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7783}
7784
7785impl ::std::fmt::Debug for GtkListBox {
7786    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7787        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
7788    }
7789}
7790
7791#[derive(Copy, Clone)]
7792#[repr(C)]
7793pub struct GtkListBoxRow {
7794    pub parent_instance: GtkWidget,
7795}
7796
7797impl ::std::fmt::Debug for GtkListBoxRow {
7798    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7799        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
7800            .field("parent_instance", &self.parent_instance)
7801            .finish()
7802    }
7803}
7804
7805#[repr(C)]
7806#[allow(dead_code)]
7807pub struct GtkListHeader {
7808    _data: [u8; 0],
7809    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7810}
7811
7812impl ::std::fmt::Debug for GtkListHeader {
7813    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7814        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
7815            .finish()
7816    }
7817}
7818
7819#[repr(C)]
7820#[allow(dead_code)]
7821pub struct GtkListItem {
7822    _data: [u8; 0],
7823    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7824}
7825
7826impl ::std::fmt::Debug for GtkListItem {
7827    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7828        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
7829    }
7830}
7831
7832#[repr(C)]
7833#[allow(dead_code)]
7834pub struct GtkListItemFactory {
7835    _data: [u8; 0],
7836    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7837}
7838
7839impl ::std::fmt::Debug for GtkListItemFactory {
7840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7841        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
7842            .finish()
7843    }
7844}
7845
7846#[derive(Copy, Clone)]
7847#[repr(C)]
7848pub struct GtkListStore {
7849    pub parent: gobject::GObject,
7850    pub priv_: *mut GtkListStorePrivate,
7851}
7852
7853impl ::std::fmt::Debug for GtkListStore {
7854    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7855        f.debug_struct(&format!("GtkListStore @ {self:p}"))
7856            .field("parent", &self.parent)
7857            .finish()
7858    }
7859}
7860
7861#[repr(C)]
7862#[allow(dead_code)]
7863pub struct GtkListView {
7864    _data: [u8; 0],
7865    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7866}
7867
7868impl ::std::fmt::Debug for GtkListView {
7869    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7870        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
7871    }
7872}
7873
7874#[repr(C)]
7875#[allow(dead_code)]
7876pub struct GtkLockButton {
7877    _data: [u8; 0],
7878    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7879}
7880
7881impl ::std::fmt::Debug for GtkLockButton {
7882    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7883        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
7884            .finish()
7885    }
7886}
7887
7888#[repr(C)]
7889#[allow(dead_code)]
7890pub struct GtkMapListModel {
7891    _data: [u8; 0],
7892    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7893}
7894
7895impl ::std::fmt::Debug for GtkMapListModel {
7896    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7897        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
7898            .finish()
7899    }
7900}
7901
7902#[repr(C)]
7903#[allow(dead_code)]
7904pub struct GtkMediaControls {
7905    _data: [u8; 0],
7906    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7907}
7908
7909impl ::std::fmt::Debug for GtkMediaControls {
7910    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7911        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
7912            .finish()
7913    }
7914}
7915
7916#[derive(Copy, Clone)]
7917#[repr(C)]
7918pub struct GtkMediaFile {
7919    pub parent_instance: GtkMediaStream,
7920}
7921
7922impl ::std::fmt::Debug for GtkMediaFile {
7923    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7924        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
7925            .field("parent_instance", &self.parent_instance)
7926            .finish()
7927    }
7928}
7929
7930#[derive(Copy, Clone)]
7931#[repr(C)]
7932pub struct GtkMediaStream {
7933    pub parent_instance: gobject::GObject,
7934}
7935
7936impl ::std::fmt::Debug for GtkMediaStream {
7937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7938        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
7939            .field("parent_instance", &self.parent_instance)
7940            .finish()
7941    }
7942}
7943
7944#[repr(C)]
7945#[allow(dead_code)]
7946pub struct GtkMenuButton {
7947    _data: [u8; 0],
7948    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7949}
7950
7951impl ::std::fmt::Debug for GtkMenuButton {
7952    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7953        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
7954            .finish()
7955    }
7956}
7957
7958#[derive(Copy, Clone)]
7959#[repr(C)]
7960pub struct GtkMessageDialog {
7961    pub parent_instance: GtkDialog,
7962}
7963
7964impl ::std::fmt::Debug for GtkMessageDialog {
7965    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7966        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
7967            .field("parent_instance", &self.parent_instance)
7968            .finish()
7969    }
7970}
7971
7972#[repr(C)]
7973#[allow(dead_code)]
7974pub struct GtkMnemonicAction {
7975    _data: [u8; 0],
7976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7977}
7978
7979impl ::std::fmt::Debug for GtkMnemonicAction {
7980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7981        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
7982            .finish()
7983    }
7984}
7985
7986#[repr(C)]
7987#[allow(dead_code)]
7988pub struct GtkMnemonicTrigger {
7989    _data: [u8; 0],
7990    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7991}
7992
7993impl ::std::fmt::Debug for GtkMnemonicTrigger {
7994    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7995        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
7996            .finish()
7997    }
7998}
7999
8000#[derive(Copy, Clone)]
8001#[repr(C)]
8002pub struct GtkMountOperation {
8003    pub parent_instance: gio::GMountOperation,
8004    pub priv_: *mut GtkMountOperationPrivate,
8005}
8006
8007impl ::std::fmt::Debug for GtkMountOperation {
8008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8009        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8010            .field("parent_instance", &self.parent_instance)
8011            .field("priv_", &self.priv_)
8012            .finish()
8013    }
8014}
8015
8016#[repr(C)]
8017#[allow(dead_code)]
8018pub struct GtkMultiFilter {
8019    _data: [u8; 0],
8020    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8021}
8022
8023impl ::std::fmt::Debug for GtkMultiFilter {
8024    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8025        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8026            .finish()
8027    }
8028}
8029
8030#[repr(C)]
8031#[allow(dead_code)]
8032pub struct GtkMultiSelection {
8033    _data: [u8; 0],
8034    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8035}
8036
8037impl ::std::fmt::Debug for GtkMultiSelection {
8038    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8039        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8040            .finish()
8041    }
8042}
8043
8044#[repr(C)]
8045#[allow(dead_code)]
8046pub struct GtkMultiSorter {
8047    _data: [u8; 0],
8048    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8049}
8050
8051impl ::std::fmt::Debug for GtkMultiSorter {
8052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8053        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8054            .finish()
8055    }
8056}
8057
8058#[repr(C)]
8059#[allow(dead_code)]
8060pub struct GtkNamedAction {
8061    _data: [u8; 0],
8062    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8063}
8064
8065impl ::std::fmt::Debug for GtkNamedAction {
8066    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8067        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8068            .finish()
8069    }
8070}
8071
8072#[derive(Copy, Clone)]
8073#[repr(C)]
8074pub struct GtkNativeDialog {
8075    pub parent_instance: gobject::GObject,
8076}
8077
8078impl ::std::fmt::Debug for GtkNativeDialog {
8079    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8080        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8081            .field("parent_instance", &self.parent_instance)
8082            .finish()
8083    }
8084}
8085
8086#[repr(C)]
8087#[allow(dead_code)]
8088pub struct GtkNeverTrigger {
8089    _data: [u8; 0],
8090    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8091}
8092
8093impl ::std::fmt::Debug for GtkNeverTrigger {
8094    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8095        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8096            .finish()
8097    }
8098}
8099
8100#[repr(C)]
8101#[allow(dead_code)]
8102pub struct GtkNoSelection {
8103    _data: [u8; 0],
8104    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8105}
8106
8107impl ::std::fmt::Debug for GtkNoSelection {
8108    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8109        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8110            .finish()
8111    }
8112}
8113
8114#[repr(C)]
8115#[allow(dead_code)]
8116pub struct GtkNotebook {
8117    _data: [u8; 0],
8118    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8119}
8120
8121impl ::std::fmt::Debug for GtkNotebook {
8122    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8123        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8124    }
8125}
8126
8127#[repr(C)]
8128#[allow(dead_code)]
8129pub struct GtkNotebookPage {
8130    _data: [u8; 0],
8131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8132}
8133
8134impl ::std::fmt::Debug for GtkNotebookPage {
8135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8136        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8137            .finish()
8138    }
8139}
8140
8141#[repr(C)]
8142#[allow(dead_code)]
8143pub struct GtkNothingAction {
8144    _data: [u8; 0],
8145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8146}
8147
8148impl ::std::fmt::Debug for GtkNothingAction {
8149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8150        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8151            .finish()
8152    }
8153}
8154
8155#[repr(C)]
8156#[allow(dead_code)]
8157pub struct GtkNumericSorter {
8158    _data: [u8; 0],
8159    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8160}
8161
8162impl ::std::fmt::Debug for GtkNumericSorter {
8163    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8164        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8165            .finish()
8166    }
8167}
8168
8169#[repr(C)]
8170#[allow(dead_code)]
8171pub struct GtkObjectExpression {
8172    _data: [u8; 0],
8173    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8174}
8175
8176impl ::std::fmt::Debug for GtkObjectExpression {
8177    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8178        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8179            .finish()
8180    }
8181}
8182
8183#[repr(C)]
8184#[allow(dead_code)]
8185pub struct GtkOverlay {
8186    _data: [u8; 0],
8187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8188}
8189
8190impl ::std::fmt::Debug for GtkOverlay {
8191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8192        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8193    }
8194}
8195
8196#[repr(C)]
8197#[allow(dead_code)]
8198pub struct GtkOverlayLayout {
8199    _data: [u8; 0],
8200    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8201}
8202
8203impl ::std::fmt::Debug for GtkOverlayLayout {
8204    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8205        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8206            .finish()
8207    }
8208}
8209
8210#[repr(C)]
8211#[allow(dead_code)]
8212pub struct GtkOverlayLayoutChild {
8213    _data: [u8; 0],
8214    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8215}
8216
8217impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8218    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8219        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8220            .finish()
8221    }
8222}
8223
8224#[repr(C)]
8225#[allow(dead_code)]
8226pub struct GtkPadController {
8227    _data: [u8; 0],
8228    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8229}
8230
8231impl ::std::fmt::Debug for GtkPadController {
8232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8233        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8234            .finish()
8235    }
8236}
8237
8238#[repr(C)]
8239#[allow(dead_code)]
8240pub struct GtkPageSetup {
8241    _data: [u8; 0],
8242    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8243}
8244
8245impl ::std::fmt::Debug for GtkPageSetup {
8246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8247        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8248    }
8249}
8250
8251#[repr(C)]
8252#[allow(dead_code)]
8253pub struct GtkPageSetupUnixDialog {
8254    _data: [u8; 0],
8255    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8256}
8257
8258impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8259    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8260        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8261            .finish()
8262    }
8263}
8264
8265#[repr(C)]
8266#[allow(dead_code)]
8267pub struct GtkPaned {
8268    _data: [u8; 0],
8269    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8270}
8271
8272impl ::std::fmt::Debug for GtkPaned {
8273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8274        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8275    }
8276}
8277
8278#[derive(Copy, Clone)]
8279#[repr(C)]
8280pub struct GtkParamSpecExpression {
8281    pub parent_instance: gobject::GParamSpec,
8282}
8283
8284impl ::std::fmt::Debug for GtkParamSpecExpression {
8285    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8286        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8287            .finish()
8288    }
8289}
8290
8291#[repr(C)]
8292#[allow(dead_code)]
8293pub struct GtkPasswordEntry {
8294    _data: [u8; 0],
8295    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8296}
8297
8298impl ::std::fmt::Debug for GtkPasswordEntry {
8299    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8300        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8301            .finish()
8302    }
8303}
8304
8305#[repr(C)]
8306#[allow(dead_code)]
8307pub struct GtkPasswordEntryBuffer {
8308    _data: [u8; 0],
8309    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8310}
8311
8312impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8314        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8315            .finish()
8316    }
8317}
8318
8319#[repr(C)]
8320#[allow(dead_code)]
8321pub struct GtkPicture {
8322    _data: [u8; 0],
8323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8324}
8325
8326impl ::std::fmt::Debug for GtkPicture {
8327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8328        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8329    }
8330}
8331
8332#[derive(Copy, Clone)]
8333#[repr(C)]
8334pub struct GtkPopover {
8335    pub parent: GtkWidget,
8336}
8337
8338impl ::std::fmt::Debug for GtkPopover {
8339    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8340        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8341            .field("parent", &self.parent)
8342            .finish()
8343    }
8344}
8345
8346#[repr(C)]
8347#[allow(dead_code)]
8348pub struct GtkPopoverMenu {
8349    _data: [u8; 0],
8350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8351}
8352
8353impl ::std::fmt::Debug for GtkPopoverMenu {
8354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8355        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8356            .finish()
8357    }
8358}
8359
8360#[repr(C)]
8361#[allow(dead_code)]
8362pub struct GtkPopoverMenuBar {
8363    _data: [u8; 0],
8364    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8365}
8366
8367impl ::std::fmt::Debug for GtkPopoverMenuBar {
8368    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8369        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8370            .finish()
8371    }
8372}
8373
8374#[repr(C)]
8375#[allow(dead_code)]
8376pub struct GtkPrintContext {
8377    _data: [u8; 0],
8378    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8379}
8380
8381impl ::std::fmt::Debug for GtkPrintContext {
8382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8383        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8384            .finish()
8385    }
8386}
8387
8388#[repr(C)]
8389#[allow(dead_code)]
8390pub struct GtkPrintDialog {
8391    _data: [u8; 0],
8392    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8393}
8394
8395impl ::std::fmt::Debug for GtkPrintDialog {
8396    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8397        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8398            .finish()
8399    }
8400}
8401
8402#[repr(C)]
8403#[allow(dead_code)]
8404pub struct GtkPrintJob {
8405    _data: [u8; 0],
8406    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8407}
8408
8409impl ::std::fmt::Debug for GtkPrintJob {
8410    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8411        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8412    }
8413}
8414
8415#[derive(Copy, Clone)]
8416#[repr(C)]
8417pub struct GtkPrintOperation {
8418    pub parent_instance: gobject::GObject,
8419    pub priv_: *mut GtkPrintOperationPrivate,
8420}
8421
8422impl ::std::fmt::Debug for GtkPrintOperation {
8423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8424        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8425            .field("parent_instance", &self.parent_instance)
8426            .finish()
8427    }
8428}
8429
8430#[repr(C)]
8431#[allow(dead_code)]
8432pub struct GtkPrintSettings {
8433    _data: [u8; 0],
8434    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8435}
8436
8437impl ::std::fmt::Debug for GtkPrintSettings {
8438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8439        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8440            .finish()
8441    }
8442}
8443
8444#[repr(C)]
8445#[allow(dead_code)]
8446pub struct GtkPrintUnixDialog {
8447    _data: [u8; 0],
8448    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8449}
8450
8451impl ::std::fmt::Debug for GtkPrintUnixDialog {
8452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8453        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8454            .finish()
8455    }
8456}
8457
8458#[repr(C)]
8459#[allow(dead_code)]
8460pub struct GtkPrinter {
8461    _data: [u8; 0],
8462    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8463}
8464
8465impl ::std::fmt::Debug for GtkPrinter {
8466    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8467        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8468    }
8469}
8470
8471#[repr(C)]
8472#[allow(dead_code)]
8473pub struct GtkProgressBar {
8474    _data: [u8; 0],
8475    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8476}
8477
8478impl ::std::fmt::Debug for GtkProgressBar {
8479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8480        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8481            .finish()
8482    }
8483}
8484
8485#[repr(C)]
8486#[allow(dead_code)]
8487pub struct GtkPropertyExpression {
8488    _data: [u8; 0],
8489    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8490}
8491
8492impl ::std::fmt::Debug for GtkPropertyExpression {
8493    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8494        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8495            .finish()
8496    }
8497}
8498
8499#[derive(Copy, Clone)]
8500#[repr(C)]
8501pub struct GtkRange {
8502    pub parent_instance: GtkWidget,
8503}
8504
8505impl ::std::fmt::Debug for GtkRange {
8506    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8507        f.debug_struct(&format!("GtkRange @ {self:p}"))
8508            .field("parent_instance", &self.parent_instance)
8509            .finish()
8510    }
8511}
8512
8513#[derive(Copy, Clone)]
8514#[repr(C)]
8515pub struct GtkRecentManager {
8516    pub parent_instance: gobject::GObject,
8517    pub priv_: *mut GtkRecentManagerPrivate,
8518}
8519
8520impl ::std::fmt::Debug for GtkRecentManager {
8521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8522        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8523            .finish()
8524    }
8525}
8526
8527#[repr(C)]
8528#[allow(dead_code)]
8529pub struct GtkRevealer {
8530    _data: [u8; 0],
8531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8532}
8533
8534impl ::std::fmt::Debug for GtkRevealer {
8535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8536        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8537    }
8538}
8539
8540#[derive(Copy, Clone)]
8541#[repr(C)]
8542pub struct GtkScale {
8543    pub parent_instance: GtkRange,
8544}
8545
8546impl ::std::fmt::Debug for GtkScale {
8547    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8548        f.debug_struct(&format!("GtkScale @ {self:p}"))
8549            .field("parent_instance", &self.parent_instance)
8550            .finish()
8551    }
8552}
8553
8554#[derive(Copy, Clone)]
8555#[repr(C)]
8556pub struct GtkScaleButton {
8557    pub parent_instance: GtkWidget,
8558}
8559
8560impl ::std::fmt::Debug for GtkScaleButton {
8561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8562        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8563            .field("parent_instance", &self.parent_instance)
8564            .finish()
8565    }
8566}
8567
8568#[repr(C)]
8569#[allow(dead_code)]
8570pub struct GtkScrollbar {
8571    _data: [u8; 0],
8572    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8573}
8574
8575impl ::std::fmt::Debug for GtkScrollbar {
8576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8577        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8578    }
8579}
8580
8581#[repr(C)]
8582#[allow(dead_code)]
8583pub struct GtkScrolledWindow {
8584    _data: [u8; 0],
8585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8586}
8587
8588impl ::std::fmt::Debug for GtkScrolledWindow {
8589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8590        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8591            .finish()
8592    }
8593}
8594
8595#[repr(C)]
8596#[allow(dead_code)]
8597pub struct GtkSearchBar {
8598    _data: [u8; 0],
8599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8600}
8601
8602impl ::std::fmt::Debug for GtkSearchBar {
8603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8604        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8605    }
8606}
8607
8608#[repr(C)]
8609#[allow(dead_code)]
8610pub struct GtkSearchEntry {
8611    _data: [u8; 0],
8612    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8613}
8614
8615impl ::std::fmt::Debug for GtkSearchEntry {
8616    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8617        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8618            .finish()
8619    }
8620}
8621
8622#[repr(C)]
8623#[allow(dead_code)]
8624pub struct GtkSelectionFilterModel {
8625    _data: [u8; 0],
8626    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8627}
8628
8629impl ::std::fmt::Debug for GtkSelectionFilterModel {
8630    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8631        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8632            .finish()
8633    }
8634}
8635
8636#[repr(C)]
8637#[allow(dead_code)]
8638pub struct GtkSeparator {
8639    _data: [u8; 0],
8640    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8641}
8642
8643impl ::std::fmt::Debug for GtkSeparator {
8644    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8645        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8646    }
8647}
8648
8649#[repr(C)]
8650#[allow(dead_code)]
8651pub struct GtkSettings {
8652    _data: [u8; 0],
8653    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8654}
8655
8656impl ::std::fmt::Debug for GtkSettings {
8657    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8658        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8659    }
8660}
8661
8662#[repr(C)]
8663#[allow(dead_code)]
8664pub struct GtkShortcut {
8665    _data: [u8; 0],
8666    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8667}
8668
8669impl ::std::fmt::Debug for GtkShortcut {
8670    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8671        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
8672    }
8673}
8674
8675#[repr(C)]
8676#[allow(dead_code)]
8677pub struct GtkShortcutAction {
8678    _data: [u8; 0],
8679    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8680}
8681
8682impl ::std::fmt::Debug for GtkShortcutAction {
8683    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8684        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
8685            .finish()
8686    }
8687}
8688
8689#[repr(C)]
8690#[allow(dead_code)]
8691pub struct GtkShortcutController {
8692    _data: [u8; 0],
8693    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8694}
8695
8696impl ::std::fmt::Debug for GtkShortcutController {
8697    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8698        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
8699            .finish()
8700    }
8701}
8702
8703#[repr(C)]
8704#[allow(dead_code)]
8705pub struct GtkShortcutLabel {
8706    _data: [u8; 0],
8707    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8708}
8709
8710impl ::std::fmt::Debug for GtkShortcutLabel {
8711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8712        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
8713            .finish()
8714    }
8715}
8716
8717#[repr(C)]
8718#[allow(dead_code)]
8719pub struct GtkShortcutTrigger {
8720    _data: [u8; 0],
8721    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8722}
8723
8724impl ::std::fmt::Debug for GtkShortcutTrigger {
8725    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8726        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
8727            .finish()
8728    }
8729}
8730
8731#[repr(C)]
8732#[allow(dead_code)]
8733pub struct GtkShortcutsGroup {
8734    _data: [u8; 0],
8735    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8736}
8737
8738impl ::std::fmt::Debug for GtkShortcutsGroup {
8739    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8740        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
8741            .finish()
8742    }
8743}
8744
8745#[repr(C)]
8746#[allow(dead_code)]
8747pub struct GtkShortcutsSection {
8748    _data: [u8; 0],
8749    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8750}
8751
8752impl ::std::fmt::Debug for GtkShortcutsSection {
8753    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8754        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
8755            .finish()
8756    }
8757}
8758
8759#[repr(C)]
8760#[allow(dead_code)]
8761pub struct GtkShortcutsShortcut {
8762    _data: [u8; 0],
8763    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8764}
8765
8766impl ::std::fmt::Debug for GtkShortcutsShortcut {
8767    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8768        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
8769            .finish()
8770    }
8771}
8772
8773#[repr(C)]
8774#[allow(dead_code)]
8775pub struct GtkShortcutsWindow {
8776    _data: [u8; 0],
8777    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8778}
8779
8780impl ::std::fmt::Debug for GtkShortcutsWindow {
8781    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8782        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
8783            .finish()
8784    }
8785}
8786
8787#[repr(C)]
8788#[allow(dead_code)]
8789pub struct GtkSignalAction {
8790    _data: [u8; 0],
8791    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8792}
8793
8794impl ::std::fmt::Debug for GtkSignalAction {
8795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8796        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
8797            .finish()
8798    }
8799}
8800
8801#[repr(C)]
8802#[allow(dead_code)]
8803pub struct GtkSignalListItemFactory {
8804    _data: [u8; 0],
8805    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8806}
8807
8808impl ::std::fmt::Debug for GtkSignalListItemFactory {
8809    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8810        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
8811            .finish()
8812    }
8813}
8814
8815#[repr(C)]
8816#[allow(dead_code)]
8817pub struct GtkSingleSelection {
8818    _data: [u8; 0],
8819    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8820}
8821
8822impl ::std::fmt::Debug for GtkSingleSelection {
8823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8824        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
8825            .finish()
8826    }
8827}
8828
8829#[derive(Copy, Clone)]
8830#[repr(C)]
8831pub struct GtkSizeGroup {
8832    pub parent_instance: gobject::GObject,
8833}
8834
8835impl ::std::fmt::Debug for GtkSizeGroup {
8836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8837        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
8838            .field("parent_instance", &self.parent_instance)
8839            .finish()
8840    }
8841}
8842
8843#[repr(C)]
8844#[allow(dead_code)]
8845pub struct GtkSliceListModel {
8846    _data: [u8; 0],
8847    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8848}
8849
8850impl ::std::fmt::Debug for GtkSliceListModel {
8851    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8852        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
8853            .finish()
8854    }
8855}
8856
8857#[repr(C)]
8858#[allow(dead_code)]
8859pub struct GtkSnapshot {
8860    _data: [u8; 0],
8861    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8862}
8863
8864impl ::std::fmt::Debug for GtkSnapshot {
8865    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8866        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
8867    }
8868}
8869
8870#[repr(C)]
8871#[allow(dead_code)]
8872pub struct GtkSortListModel {
8873    _data: [u8; 0],
8874    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8875}
8876
8877impl ::std::fmt::Debug for GtkSortListModel {
8878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8879        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
8880            .finish()
8881    }
8882}
8883
8884#[derive(Copy, Clone)]
8885#[repr(C)]
8886pub struct GtkSorter {
8887    pub parent_instance: gobject::GObject,
8888}
8889
8890impl ::std::fmt::Debug for GtkSorter {
8891    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8892        f.debug_struct(&format!("GtkSorter @ {self:p}"))
8893            .field("parent_instance", &self.parent_instance)
8894            .finish()
8895    }
8896}
8897
8898#[repr(C)]
8899#[allow(dead_code)]
8900pub struct GtkSpinButton {
8901    _data: [u8; 0],
8902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8903}
8904
8905impl ::std::fmt::Debug for GtkSpinButton {
8906    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8907        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
8908            .finish()
8909    }
8910}
8911
8912#[repr(C)]
8913#[allow(dead_code)]
8914pub struct GtkSpinner {
8915    _data: [u8; 0],
8916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8917}
8918
8919impl ::std::fmt::Debug for GtkSpinner {
8920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8921        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
8922    }
8923}
8924
8925#[repr(C)]
8926#[allow(dead_code)]
8927pub struct GtkStack {
8928    _data: [u8; 0],
8929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8930}
8931
8932impl ::std::fmt::Debug for GtkStack {
8933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8934        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
8935    }
8936}
8937
8938#[repr(C)]
8939#[allow(dead_code)]
8940pub struct GtkStackPage {
8941    _data: [u8; 0],
8942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8943}
8944
8945impl ::std::fmt::Debug for GtkStackPage {
8946    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8947        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
8948    }
8949}
8950
8951#[repr(C)]
8952#[allow(dead_code)]
8953pub struct GtkStackSidebar {
8954    _data: [u8; 0],
8955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8956}
8957
8958impl ::std::fmt::Debug for GtkStackSidebar {
8959    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8960        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
8961            .finish()
8962    }
8963}
8964
8965#[repr(C)]
8966#[allow(dead_code)]
8967pub struct GtkStackSwitcher {
8968    _data: [u8; 0],
8969    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8970}
8971
8972impl ::std::fmt::Debug for GtkStackSwitcher {
8973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8974        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
8975            .finish()
8976    }
8977}
8978
8979#[repr(C)]
8980#[allow(dead_code)]
8981pub struct GtkStatusbar {
8982    _data: [u8; 0],
8983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8984}
8985
8986impl ::std::fmt::Debug for GtkStatusbar {
8987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8988        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
8989    }
8990}
8991
8992#[repr(C)]
8993#[allow(dead_code)]
8994pub struct GtkStringFilter {
8995    _data: [u8; 0],
8996    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8997}
8998
8999impl ::std::fmt::Debug for GtkStringFilter {
9000    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9001        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9002            .finish()
9003    }
9004}
9005
9006#[repr(C)]
9007#[allow(dead_code)]
9008pub struct GtkStringList {
9009    _data: [u8; 0],
9010    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9011}
9012
9013impl ::std::fmt::Debug for GtkStringList {
9014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9015        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9016            .finish()
9017    }
9018}
9019
9020#[repr(C)]
9021#[allow(dead_code)]
9022pub struct GtkStringObject {
9023    _data: [u8; 0],
9024    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9025}
9026
9027impl ::std::fmt::Debug for GtkStringObject {
9028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9029        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9030            .finish()
9031    }
9032}
9033
9034#[repr(C)]
9035#[allow(dead_code)]
9036pub struct GtkStringSorter {
9037    _data: [u8; 0],
9038    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9039}
9040
9041impl ::std::fmt::Debug for GtkStringSorter {
9042    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9043        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9044            .finish()
9045    }
9046}
9047
9048#[derive(Copy, Clone)]
9049#[repr(C)]
9050pub struct GtkStyleContext {
9051    pub parent_object: gobject::GObject,
9052}
9053
9054impl ::std::fmt::Debug for GtkStyleContext {
9055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9056        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9057            .field("parent_object", &self.parent_object)
9058            .finish()
9059    }
9060}
9061
9062#[repr(C)]
9063#[allow(dead_code)]
9064pub struct GtkSwitch {
9065    _data: [u8; 0],
9066    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9067}
9068
9069impl ::std::fmt::Debug for GtkSwitch {
9070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9071        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9072    }
9073}
9074
9075#[derive(Copy, Clone)]
9076#[repr(C)]
9077pub struct GtkText {
9078    pub parent_instance: GtkWidget,
9079}
9080
9081impl ::std::fmt::Debug for GtkText {
9082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9083        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9084    }
9085}
9086
9087#[derive(Copy, Clone)]
9088#[repr(C)]
9089pub struct GtkTextBuffer {
9090    pub parent_instance: gobject::GObject,
9091    pub priv_: *mut GtkTextBufferPrivate,
9092}
9093
9094impl ::std::fmt::Debug for GtkTextBuffer {
9095    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9096        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9097            .field("parent_instance", &self.parent_instance)
9098            .field("priv_", &self.priv_)
9099            .finish()
9100    }
9101}
9102
9103#[derive(Copy, Clone)]
9104#[repr(C)]
9105pub struct GtkTextChildAnchor {
9106    pub parent_instance: gobject::GObject,
9107    pub segment: gpointer,
9108}
9109
9110impl ::std::fmt::Debug for GtkTextChildAnchor {
9111    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9112        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9113            .field("parent_instance", &self.parent_instance)
9114            .finish()
9115    }
9116}
9117
9118#[derive(Copy, Clone)]
9119#[repr(C)]
9120pub struct GtkTextMark {
9121    pub parent_instance: gobject::GObject,
9122    pub segment: gpointer,
9123}
9124
9125impl ::std::fmt::Debug for GtkTextMark {
9126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9127        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9128            .field("parent_instance", &self.parent_instance)
9129            .finish()
9130    }
9131}
9132
9133#[derive(Copy, Clone)]
9134#[repr(C)]
9135pub struct GtkTextTag {
9136    pub parent_instance: gobject::GObject,
9137    pub priv_: *mut GtkTextTagPrivate,
9138}
9139
9140impl ::std::fmt::Debug for GtkTextTag {
9141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9142        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9143            .field("parent_instance", &self.parent_instance)
9144            .field("priv_", &self.priv_)
9145            .finish()
9146    }
9147}
9148
9149#[repr(C)]
9150#[allow(dead_code)]
9151pub struct GtkTextTagTable {
9152    _data: [u8; 0],
9153    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9154}
9155
9156impl ::std::fmt::Debug for GtkTextTagTable {
9157    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9158        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9159            .finish()
9160    }
9161}
9162
9163#[derive(Copy, Clone)]
9164#[repr(C)]
9165pub struct GtkTextView {
9166    pub parent_instance: GtkWidget,
9167    pub priv_: *mut GtkTextViewPrivate,
9168}
9169
9170impl ::std::fmt::Debug for GtkTextView {
9171    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9172        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9173            .field("parent_instance", &self.parent_instance)
9174            .finish()
9175    }
9176}
9177
9178#[derive(Copy, Clone)]
9179#[repr(C)]
9180pub struct GtkToggleButton {
9181    pub button: GtkButton,
9182}
9183
9184impl ::std::fmt::Debug for GtkToggleButton {
9185    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9186        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9187            .finish()
9188    }
9189}
9190
9191#[repr(C)]
9192#[allow(dead_code)]
9193pub struct GtkTooltip {
9194    _data: [u8; 0],
9195    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9196}
9197
9198impl ::std::fmt::Debug for GtkTooltip {
9199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9200        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9201    }
9202}
9203
9204#[repr(C)]
9205#[allow(dead_code)]
9206pub struct GtkTreeExpander {
9207    _data: [u8; 0],
9208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9209}
9210
9211impl ::std::fmt::Debug for GtkTreeExpander {
9212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9213        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9214            .finish()
9215    }
9216}
9217
9218#[repr(C)]
9219#[allow(dead_code)]
9220pub struct GtkTreeListModel {
9221    _data: [u8; 0],
9222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9223}
9224
9225impl ::std::fmt::Debug for GtkTreeListModel {
9226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9227        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9228            .finish()
9229    }
9230}
9231
9232#[repr(C)]
9233#[allow(dead_code)]
9234pub struct GtkTreeListRow {
9235    _data: [u8; 0],
9236    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9237}
9238
9239impl ::std::fmt::Debug for GtkTreeListRow {
9240    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9241        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9242            .finish()
9243    }
9244}
9245
9246#[repr(C)]
9247#[allow(dead_code)]
9248pub struct GtkTreeListRowSorter {
9249    _data: [u8; 0],
9250    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9251}
9252
9253impl ::std::fmt::Debug for GtkTreeListRowSorter {
9254    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9255        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9256            .finish()
9257    }
9258}
9259
9260#[derive(Copy, Clone)]
9261#[repr(C)]
9262pub struct GtkTreeModelFilter {
9263    pub parent: gobject::GObject,
9264    pub priv_: *mut GtkTreeModelFilterPrivate,
9265}
9266
9267impl ::std::fmt::Debug for GtkTreeModelFilter {
9268    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9269        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9270            .field("parent", &self.parent)
9271            .finish()
9272    }
9273}
9274
9275#[derive(Copy, Clone)]
9276#[repr(C)]
9277pub struct GtkTreeModelSort {
9278    pub parent: gobject::GObject,
9279    pub priv_: *mut GtkTreeModelSortPrivate,
9280}
9281
9282impl ::std::fmt::Debug for GtkTreeModelSort {
9283    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9284        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9285            .field("parent", &self.parent)
9286            .finish()
9287    }
9288}
9289
9290#[repr(C)]
9291#[allow(dead_code)]
9292pub struct GtkTreeSelection {
9293    _data: [u8; 0],
9294    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9295}
9296
9297impl ::std::fmt::Debug for GtkTreeSelection {
9298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9299        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9300            .finish()
9301    }
9302}
9303
9304#[derive(Copy, Clone)]
9305#[repr(C)]
9306pub struct GtkTreeStore {
9307    pub parent: gobject::GObject,
9308    pub priv_: *mut GtkTreeStorePrivate,
9309}
9310
9311impl ::std::fmt::Debug for GtkTreeStore {
9312    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9313        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9314            .field("parent", &self.parent)
9315            .field("priv_", &self.priv_)
9316            .finish()
9317    }
9318}
9319
9320#[derive(Copy, Clone)]
9321#[repr(C)]
9322pub struct GtkTreeView {
9323    pub parent_instance: GtkWidget,
9324}
9325
9326impl ::std::fmt::Debug for GtkTreeView {
9327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9328        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9329            .field("parent_instance", &self.parent_instance)
9330            .finish()
9331    }
9332}
9333
9334#[repr(C)]
9335#[allow(dead_code)]
9336pub struct GtkTreeViewColumn {
9337    _data: [u8; 0],
9338    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9339}
9340
9341impl ::std::fmt::Debug for GtkTreeViewColumn {
9342    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9343        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9344            .finish()
9345    }
9346}
9347
9348#[repr(C)]
9349#[allow(dead_code)]
9350pub struct GtkUriLauncher {
9351    _data: [u8; 0],
9352    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9353}
9354
9355impl ::std::fmt::Debug for GtkUriLauncher {
9356    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9357        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9358            .finish()
9359    }
9360}
9361
9362#[repr(C)]
9363#[allow(dead_code)]
9364pub struct GtkVideo {
9365    _data: [u8; 0],
9366    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9367}
9368
9369impl ::std::fmt::Debug for GtkVideo {
9370    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9371        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9372    }
9373}
9374
9375#[repr(C)]
9376#[allow(dead_code)]
9377pub struct GtkViewport {
9378    _data: [u8; 0],
9379    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9380}
9381
9382impl ::std::fmt::Debug for GtkViewport {
9383    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9384        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9385    }
9386}
9387
9388#[derive(Copy, Clone)]
9389#[repr(C)]
9390pub struct GtkVolumeButton {
9391    pub parent: GtkScaleButton,
9392}
9393
9394impl ::std::fmt::Debug for GtkVolumeButton {
9395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9396        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9397            .field("parent", &self.parent)
9398            .finish()
9399    }
9400}
9401
9402#[derive(Copy, Clone)]
9403#[repr(C)]
9404pub struct GtkWidget {
9405    pub parent_instance: gobject::GInitiallyUnowned,
9406    pub priv_: *mut GtkWidgetPrivate,
9407}
9408
9409impl ::std::fmt::Debug for GtkWidget {
9410    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9411        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9412            .field("parent_instance", &self.parent_instance)
9413            .finish()
9414    }
9415}
9416
9417#[repr(C)]
9418#[allow(dead_code)]
9419pub struct GtkWidgetPaintable {
9420    _data: [u8; 0],
9421    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9422}
9423
9424impl ::std::fmt::Debug for GtkWidgetPaintable {
9425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9426        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9427            .finish()
9428    }
9429}
9430
9431#[derive(Copy, Clone)]
9432#[repr(C)]
9433pub struct GtkWindow {
9434    pub parent_instance: GtkWidget,
9435}
9436
9437impl ::std::fmt::Debug for GtkWindow {
9438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9439        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9440            .field("parent_instance", &self.parent_instance)
9441            .finish()
9442    }
9443}
9444
9445#[repr(C)]
9446#[allow(dead_code)]
9447pub struct GtkWindowControls {
9448    _data: [u8; 0],
9449    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9450}
9451
9452impl ::std::fmt::Debug for GtkWindowControls {
9453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9454        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9455            .finish()
9456    }
9457}
9458
9459#[derive(Copy, Clone)]
9460#[repr(C)]
9461pub struct GtkWindowGroup {
9462    pub parent_instance: gobject::GObject,
9463    pub priv_: *mut GtkWindowGroupPrivate,
9464}
9465
9466impl ::std::fmt::Debug for GtkWindowGroup {
9467    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9468        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9469            .field("parent_instance", &self.parent_instance)
9470            .field("priv_", &self.priv_)
9471            .finish()
9472    }
9473}
9474
9475#[repr(C)]
9476#[allow(dead_code)]
9477pub struct GtkWindowHandle {
9478    _data: [u8; 0],
9479    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9480}
9481
9482impl ::std::fmt::Debug for GtkWindowHandle {
9483    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9484        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9485            .finish()
9486    }
9487}
9488
9489// Interfaces
9490#[repr(C)]
9491#[allow(dead_code)]
9492pub struct GtkAccessible {
9493    _data: [u8; 0],
9494    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9495}
9496
9497impl ::std::fmt::Debug for GtkAccessible {
9498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9499        write!(f, "GtkAccessible @ {self:p}")
9500    }
9501}
9502
9503#[repr(C)]
9504#[allow(dead_code)]
9505pub struct GtkAccessibleRange {
9506    _data: [u8; 0],
9507    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9508}
9509
9510impl ::std::fmt::Debug for GtkAccessibleRange {
9511    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9512        write!(f, "GtkAccessibleRange @ {self:p}")
9513    }
9514}
9515
9516#[repr(C)]
9517#[allow(dead_code)]
9518pub struct GtkAccessibleText {
9519    _data: [u8; 0],
9520    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9521}
9522
9523impl ::std::fmt::Debug for GtkAccessibleText {
9524    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9525        write!(f, "GtkAccessibleText @ {self:p}")
9526    }
9527}
9528
9529#[repr(C)]
9530#[allow(dead_code)]
9531pub struct GtkActionable {
9532    _data: [u8; 0],
9533    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9534}
9535
9536impl ::std::fmt::Debug for GtkActionable {
9537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9538        write!(f, "GtkActionable @ {self:p}")
9539    }
9540}
9541
9542#[repr(C)]
9543#[allow(dead_code)]
9544pub struct GtkAppChooser {
9545    _data: [u8; 0],
9546    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9547}
9548
9549impl ::std::fmt::Debug for GtkAppChooser {
9550    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9551        write!(f, "GtkAppChooser @ {self:p}")
9552    }
9553}
9554
9555#[repr(C)]
9556#[allow(dead_code)]
9557pub struct GtkBuildable {
9558    _data: [u8; 0],
9559    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9560}
9561
9562impl ::std::fmt::Debug for GtkBuildable {
9563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9564        write!(f, "GtkBuildable @ {self:p}")
9565    }
9566}
9567
9568#[repr(C)]
9569#[allow(dead_code)]
9570pub struct GtkBuilderScope {
9571    _data: [u8; 0],
9572    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9573}
9574
9575impl ::std::fmt::Debug for GtkBuilderScope {
9576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9577        write!(f, "GtkBuilderScope @ {self:p}")
9578    }
9579}
9580
9581#[repr(C)]
9582#[allow(dead_code)]
9583pub struct GtkCellEditable {
9584    _data: [u8; 0],
9585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9586}
9587
9588impl ::std::fmt::Debug for GtkCellEditable {
9589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9590        write!(f, "GtkCellEditable @ {self:p}")
9591    }
9592}
9593
9594#[repr(C)]
9595#[allow(dead_code)]
9596pub struct GtkCellLayout {
9597    _data: [u8; 0],
9598    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9599}
9600
9601impl ::std::fmt::Debug for GtkCellLayout {
9602    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9603        write!(f, "GtkCellLayout @ {self:p}")
9604    }
9605}
9606
9607#[repr(C)]
9608#[allow(dead_code)]
9609pub struct GtkColorChooser {
9610    _data: [u8; 0],
9611    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9612}
9613
9614impl ::std::fmt::Debug for GtkColorChooser {
9615    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9616        write!(f, "GtkColorChooser @ {self:p}")
9617    }
9618}
9619
9620#[repr(C)]
9621#[allow(dead_code)]
9622pub struct GtkConstraintTarget {
9623    _data: [u8; 0],
9624    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9625}
9626
9627impl ::std::fmt::Debug for GtkConstraintTarget {
9628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9629        write!(f, "GtkConstraintTarget @ {self:p}")
9630    }
9631}
9632
9633#[repr(C)]
9634#[allow(dead_code)]
9635pub struct GtkEditable {
9636    _data: [u8; 0],
9637    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9638}
9639
9640impl ::std::fmt::Debug for GtkEditable {
9641    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9642        write!(f, "GtkEditable @ {self:p}")
9643    }
9644}
9645
9646#[repr(C)]
9647#[allow(dead_code)]
9648pub struct GtkFileChooser {
9649    _data: [u8; 0],
9650    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9651}
9652
9653impl ::std::fmt::Debug for GtkFileChooser {
9654    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9655        write!(f, "GtkFileChooser @ {self:p}")
9656    }
9657}
9658
9659#[repr(C)]
9660#[allow(dead_code)]
9661pub struct GtkFontChooser {
9662    _data: [u8; 0],
9663    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9664}
9665
9666impl ::std::fmt::Debug for GtkFontChooser {
9667    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9668        write!(f, "GtkFontChooser @ {self:p}")
9669    }
9670}
9671
9672#[repr(C)]
9673#[allow(dead_code)]
9674pub struct GtkNative {
9675    _data: [u8; 0],
9676    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9677}
9678
9679impl ::std::fmt::Debug for GtkNative {
9680    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9681        write!(f, "GtkNative @ {self:p}")
9682    }
9683}
9684
9685#[repr(C)]
9686#[allow(dead_code)]
9687pub struct GtkOrientable {
9688    _data: [u8; 0],
9689    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9690}
9691
9692impl ::std::fmt::Debug for GtkOrientable {
9693    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9694        write!(f, "GtkOrientable @ {self:p}")
9695    }
9696}
9697
9698#[repr(C)]
9699#[allow(dead_code)]
9700pub struct GtkPrintOperationPreview {
9701    _data: [u8; 0],
9702    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9703}
9704
9705impl ::std::fmt::Debug for GtkPrintOperationPreview {
9706    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9707        write!(f, "GtkPrintOperationPreview @ {self:p}")
9708    }
9709}
9710
9711#[repr(C)]
9712#[allow(dead_code)]
9713pub struct GtkRoot {
9714    _data: [u8; 0],
9715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9716}
9717
9718impl ::std::fmt::Debug for GtkRoot {
9719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9720        write!(f, "GtkRoot @ {self:p}")
9721    }
9722}
9723
9724#[repr(C)]
9725#[allow(dead_code)]
9726pub struct GtkScrollable {
9727    _data: [u8; 0],
9728    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9729}
9730
9731impl ::std::fmt::Debug for GtkScrollable {
9732    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9733        write!(f, "GtkScrollable @ {self:p}")
9734    }
9735}
9736
9737#[repr(C)]
9738#[allow(dead_code)]
9739pub struct GtkSectionModel {
9740    _data: [u8; 0],
9741    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9742}
9743
9744impl ::std::fmt::Debug for GtkSectionModel {
9745    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9746        write!(f, "GtkSectionModel @ {self:p}")
9747    }
9748}
9749
9750#[repr(C)]
9751#[allow(dead_code)]
9752pub struct GtkSelectionModel {
9753    _data: [u8; 0],
9754    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9755}
9756
9757impl ::std::fmt::Debug for GtkSelectionModel {
9758    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9759        write!(f, "GtkSelectionModel @ {self:p}")
9760    }
9761}
9762
9763#[repr(C)]
9764#[allow(dead_code)]
9765pub struct GtkShortcutManager {
9766    _data: [u8; 0],
9767    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9768}
9769
9770impl ::std::fmt::Debug for GtkShortcutManager {
9771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9772        write!(f, "GtkShortcutManager @ {self:p}")
9773    }
9774}
9775
9776#[repr(C)]
9777#[allow(dead_code)]
9778pub struct GtkStyleProvider {
9779    _data: [u8; 0],
9780    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9781}
9782
9783impl ::std::fmt::Debug for GtkStyleProvider {
9784    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9785        write!(f, "GtkStyleProvider @ {self:p}")
9786    }
9787}
9788
9789#[repr(C)]
9790#[allow(dead_code)]
9791pub struct GtkSymbolicPaintable {
9792    _data: [u8; 0],
9793    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9794}
9795
9796impl ::std::fmt::Debug for GtkSymbolicPaintable {
9797    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9798        write!(f, "GtkSymbolicPaintable @ {self:p}")
9799    }
9800}
9801
9802#[repr(C)]
9803#[allow(dead_code)]
9804pub struct GtkTreeDragDest {
9805    _data: [u8; 0],
9806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9807}
9808
9809impl ::std::fmt::Debug for GtkTreeDragDest {
9810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9811        write!(f, "GtkTreeDragDest @ {self:p}")
9812    }
9813}
9814
9815#[repr(C)]
9816#[allow(dead_code)]
9817pub struct GtkTreeDragSource {
9818    _data: [u8; 0],
9819    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9820}
9821
9822impl ::std::fmt::Debug for GtkTreeDragSource {
9823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9824        write!(f, "GtkTreeDragSource @ {self:p}")
9825    }
9826}
9827
9828#[repr(C)]
9829#[allow(dead_code)]
9830pub struct GtkTreeModel {
9831    _data: [u8; 0],
9832    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9833}
9834
9835impl ::std::fmt::Debug for GtkTreeModel {
9836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9837        write!(f, "GtkTreeModel @ {self:p}")
9838    }
9839}
9840
9841#[repr(C)]
9842#[allow(dead_code)]
9843pub struct GtkTreeSortable {
9844    _data: [u8; 0],
9845    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9846}
9847
9848impl ::std::fmt::Debug for GtkTreeSortable {
9849    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9850        write!(f, "GtkTreeSortable @ {self:p}")
9851    }
9852}
9853
9854extern "C" {
9855
9856    //=========================================================================
9857    // GtkAccessibleAnnouncementPriority
9858    //=========================================================================
9859    #[cfg(feature = "v4_14")]
9860    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
9861    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
9862
9863    //=========================================================================
9864    // GtkAccessibleAutocomplete
9865    //=========================================================================
9866    pub fn gtk_accessible_autocomplete_get_type() -> GType;
9867
9868    //=========================================================================
9869    // GtkAccessibleInvalidState
9870    //=========================================================================
9871    pub fn gtk_accessible_invalid_state_get_type() -> GType;
9872
9873    //=========================================================================
9874    // GtkAccessiblePlatformState
9875    //=========================================================================
9876    #[cfg(feature = "v4_10")]
9877    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
9878    pub fn gtk_accessible_platform_state_get_type() -> GType;
9879
9880    //=========================================================================
9881    // GtkAccessibleProperty
9882    //=========================================================================
9883    pub fn gtk_accessible_property_get_type() -> GType;
9884    pub fn gtk_accessible_property_init_value(
9885        property: GtkAccessibleProperty,
9886        value: *mut gobject::GValue,
9887    );
9888
9889    //=========================================================================
9890    // GtkAccessibleRelation
9891    //=========================================================================
9892    pub fn gtk_accessible_relation_get_type() -> GType;
9893    pub fn gtk_accessible_relation_init_value(
9894        relation: GtkAccessibleRelation,
9895        value: *mut gobject::GValue,
9896    );
9897
9898    //=========================================================================
9899    // GtkAccessibleRole
9900    //=========================================================================
9901    pub fn gtk_accessible_role_get_type() -> GType;
9902
9903    //=========================================================================
9904    // GtkAccessibleSort
9905    //=========================================================================
9906    pub fn gtk_accessible_sort_get_type() -> GType;
9907
9908    //=========================================================================
9909    // GtkAccessibleState
9910    //=========================================================================
9911    pub fn gtk_accessible_state_get_type() -> GType;
9912    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
9913
9914    //=========================================================================
9915    // GtkAccessibleTextContentChange
9916    //=========================================================================
9917    #[cfg(feature = "v4_14")]
9918    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
9919    pub fn gtk_accessible_text_content_change_get_type() -> GType;
9920
9921    //=========================================================================
9922    // GtkAccessibleTextGranularity
9923    //=========================================================================
9924    #[cfg(feature = "v4_14")]
9925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
9926    pub fn gtk_accessible_text_granularity_get_type() -> GType;
9927
9928    //=========================================================================
9929    // GtkAccessibleTristate
9930    //=========================================================================
9931    pub fn gtk_accessible_tristate_get_type() -> GType;
9932
9933    //=========================================================================
9934    // GtkAlign
9935    //=========================================================================
9936    pub fn gtk_align_get_type() -> GType;
9937
9938    //=========================================================================
9939    // GtkArrowType
9940    //=========================================================================
9941    pub fn gtk_arrow_type_get_type() -> GType;
9942
9943    //=========================================================================
9944    // GtkAssistantPageType
9945    //=========================================================================
9946    pub fn gtk_assistant_page_type_get_type() -> GType;
9947
9948    //=========================================================================
9949    // GtkBaselinePosition
9950    //=========================================================================
9951    pub fn gtk_baseline_position_get_type() -> GType;
9952
9953    //=========================================================================
9954    // GtkBorderStyle
9955    //=========================================================================
9956    pub fn gtk_border_style_get_type() -> GType;
9957
9958    //=========================================================================
9959    // GtkBuilderError
9960    //=========================================================================
9961    pub fn gtk_builder_error_get_type() -> GType;
9962    pub fn gtk_builder_error_quark() -> glib::GQuark;
9963
9964    //=========================================================================
9965    // GtkButtonsType
9966    //=========================================================================
9967    pub fn gtk_buttons_type_get_type() -> GType;
9968
9969    //=========================================================================
9970    // GtkCellRendererAccelMode
9971    //=========================================================================
9972    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
9973
9974    //=========================================================================
9975    // GtkCellRendererMode
9976    //=========================================================================
9977    pub fn gtk_cell_renderer_mode_get_type() -> GType;
9978
9979    //=========================================================================
9980    // GtkCollation
9981    //=========================================================================
9982    #[cfg(feature = "v4_10")]
9983    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
9984    pub fn gtk_collation_get_type() -> GType;
9985
9986    //=========================================================================
9987    // GtkConstraintAttribute
9988    //=========================================================================
9989    pub fn gtk_constraint_attribute_get_type() -> GType;
9990
9991    //=========================================================================
9992    // GtkConstraintRelation
9993    //=========================================================================
9994    pub fn gtk_constraint_relation_get_type() -> GType;
9995
9996    //=========================================================================
9997    // GtkConstraintStrength
9998    //=========================================================================
9999    pub fn gtk_constraint_strength_get_type() -> GType;
10000
10001    //=========================================================================
10002    // GtkConstraintVflParserError
10003    //=========================================================================
10004    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10005    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10006
10007    //=========================================================================
10008    // GtkContentFit
10009    //=========================================================================
10010    #[cfg(feature = "v4_8")]
10011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10012    pub fn gtk_content_fit_get_type() -> GType;
10013
10014    //=========================================================================
10015    // GtkCornerType
10016    //=========================================================================
10017    pub fn gtk_corner_type_get_type() -> GType;
10018
10019    //=========================================================================
10020    // GtkDeleteType
10021    //=========================================================================
10022    pub fn gtk_delete_type_get_type() -> GType;
10023
10024    //=========================================================================
10025    // GtkDialogError
10026    //=========================================================================
10027    #[cfg(feature = "v4_10")]
10028    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10029    pub fn gtk_dialog_error_get_type() -> GType;
10030    #[cfg(feature = "v4_10")]
10031    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10032    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10033
10034    //=========================================================================
10035    // GtkDirectionType
10036    //=========================================================================
10037    pub fn gtk_direction_type_get_type() -> GType;
10038
10039    //=========================================================================
10040    // GtkEditableProperties
10041    //=========================================================================
10042    pub fn gtk_editable_properties_get_type() -> GType;
10043
10044    //=========================================================================
10045    // GtkEntryIconPosition
10046    //=========================================================================
10047    pub fn gtk_entry_icon_position_get_type() -> GType;
10048
10049    //=========================================================================
10050    // GtkEventSequenceState
10051    //=========================================================================
10052    pub fn gtk_event_sequence_state_get_type() -> GType;
10053
10054    //=========================================================================
10055    // GtkFileChooserAction
10056    //=========================================================================
10057    pub fn gtk_file_chooser_action_get_type() -> GType;
10058
10059    //=========================================================================
10060    // GtkFileChooserError
10061    //=========================================================================
10062    pub fn gtk_file_chooser_error_get_type() -> GType;
10063    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10064
10065    //=========================================================================
10066    // GtkFilterChange
10067    //=========================================================================
10068    pub fn gtk_filter_change_get_type() -> GType;
10069
10070    //=========================================================================
10071    // GtkFilterMatch
10072    //=========================================================================
10073    pub fn gtk_filter_match_get_type() -> GType;
10074
10075    //=========================================================================
10076    // GtkFontLevel
10077    //=========================================================================
10078    #[cfg(feature = "v4_10")]
10079    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10080    pub fn gtk_font_level_get_type() -> GType;
10081
10082    //=========================================================================
10083    // GtkFontRendering
10084    //=========================================================================
10085    #[cfg(feature = "v4_16")]
10086    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10087    pub fn gtk_font_rendering_get_type() -> GType;
10088
10089    //=========================================================================
10090    // GtkGraphicsOffloadEnabled
10091    //=========================================================================
10092    #[cfg(feature = "v4_14")]
10093    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10094    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10095
10096    //=========================================================================
10097    // GtkIconSize
10098    //=========================================================================
10099    pub fn gtk_icon_size_get_type() -> GType;
10100
10101    //=========================================================================
10102    // GtkIconThemeError
10103    //=========================================================================
10104    pub fn gtk_icon_theme_error_get_type() -> GType;
10105    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10106
10107    //=========================================================================
10108    // GtkIconViewDropPosition
10109    //=========================================================================
10110    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10111
10112    //=========================================================================
10113    // GtkImageType
10114    //=========================================================================
10115    pub fn gtk_image_type_get_type() -> GType;
10116
10117    //=========================================================================
10118    // GtkInputPurpose
10119    //=========================================================================
10120    pub fn gtk_input_purpose_get_type() -> GType;
10121
10122    //=========================================================================
10123    // GtkInscriptionOverflow
10124    //=========================================================================
10125    #[cfg(feature = "v4_8")]
10126    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10127    pub fn gtk_inscription_overflow_get_type() -> GType;
10128
10129    //=========================================================================
10130    // GtkJustification
10131    //=========================================================================
10132    pub fn gtk_justification_get_type() -> GType;
10133
10134    //=========================================================================
10135    // GtkLevelBarMode
10136    //=========================================================================
10137    pub fn gtk_level_bar_mode_get_type() -> GType;
10138
10139    //=========================================================================
10140    // GtkLicense
10141    //=========================================================================
10142    pub fn gtk_license_get_type() -> GType;
10143
10144    //=========================================================================
10145    // GtkListTabBehavior
10146    //=========================================================================
10147    #[cfg(feature = "v4_12")]
10148    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10149    pub fn gtk_list_tab_behavior_get_type() -> GType;
10150
10151    //=========================================================================
10152    // GtkMessageType
10153    //=========================================================================
10154    pub fn gtk_message_type_get_type() -> GType;
10155
10156    //=========================================================================
10157    // GtkMovementStep
10158    //=========================================================================
10159    pub fn gtk_movement_step_get_type() -> GType;
10160
10161    //=========================================================================
10162    // GtkNaturalWrapMode
10163    //=========================================================================
10164    #[cfg(feature = "v4_6")]
10165    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10166    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10167
10168    //=========================================================================
10169    // GtkNotebookTab
10170    //=========================================================================
10171    pub fn gtk_notebook_tab_get_type() -> GType;
10172
10173    //=========================================================================
10174    // GtkNumberUpLayout
10175    //=========================================================================
10176    pub fn gtk_number_up_layout_get_type() -> GType;
10177
10178    //=========================================================================
10179    // GtkOrdering
10180    //=========================================================================
10181    pub fn gtk_ordering_get_type() -> GType;
10182    #[cfg(feature = "v4_2")]
10183    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
10184    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10185
10186    //=========================================================================
10187    // GtkOrientation
10188    //=========================================================================
10189    pub fn gtk_orientation_get_type() -> GType;
10190
10191    //=========================================================================
10192    // GtkOverflow
10193    //=========================================================================
10194    pub fn gtk_overflow_get_type() -> GType;
10195
10196    //=========================================================================
10197    // GtkPackType
10198    //=========================================================================
10199    pub fn gtk_pack_type_get_type() -> GType;
10200
10201    //=========================================================================
10202    // GtkPadActionType
10203    //=========================================================================
10204    pub fn gtk_pad_action_type_get_type() -> GType;
10205
10206    //=========================================================================
10207    // GtkPageOrientation
10208    //=========================================================================
10209    pub fn gtk_page_orientation_get_type() -> GType;
10210
10211    //=========================================================================
10212    // GtkPageSet
10213    //=========================================================================
10214    pub fn gtk_page_set_get_type() -> GType;
10215
10216    //=========================================================================
10217    // GtkPanDirection
10218    //=========================================================================
10219    pub fn gtk_pan_direction_get_type() -> GType;
10220
10221    //=========================================================================
10222    // GtkPolicyType
10223    //=========================================================================
10224    pub fn gtk_policy_type_get_type() -> GType;
10225
10226    //=========================================================================
10227    // GtkPositionType
10228    //=========================================================================
10229    pub fn gtk_position_type_get_type() -> GType;
10230
10231    //=========================================================================
10232    // GtkPrintDuplex
10233    //=========================================================================
10234    pub fn gtk_print_duplex_get_type() -> GType;
10235
10236    //=========================================================================
10237    // GtkPrintError
10238    //=========================================================================
10239    pub fn gtk_print_error_get_type() -> GType;
10240    pub fn gtk_print_error_quark() -> glib::GQuark;
10241
10242    //=========================================================================
10243    // GtkPrintOperationAction
10244    //=========================================================================
10245    pub fn gtk_print_operation_action_get_type() -> GType;
10246
10247    //=========================================================================
10248    // GtkPrintOperationResult
10249    //=========================================================================
10250    pub fn gtk_print_operation_result_get_type() -> GType;
10251
10252    //=========================================================================
10253    // GtkPrintPages
10254    //=========================================================================
10255    pub fn gtk_print_pages_get_type() -> GType;
10256
10257    //=========================================================================
10258    // GtkPrintQuality
10259    //=========================================================================
10260    pub fn gtk_print_quality_get_type() -> GType;
10261
10262    //=========================================================================
10263    // GtkPrintStatus
10264    //=========================================================================
10265    pub fn gtk_print_status_get_type() -> GType;
10266
10267    //=========================================================================
10268    // GtkPropagationLimit
10269    //=========================================================================
10270    pub fn gtk_propagation_limit_get_type() -> GType;
10271
10272    //=========================================================================
10273    // GtkPropagationPhase
10274    //=========================================================================
10275    pub fn gtk_propagation_phase_get_type() -> GType;
10276
10277    //=========================================================================
10278    // GtkRecentManagerError
10279    //=========================================================================
10280    pub fn gtk_recent_manager_error_get_type() -> GType;
10281    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10282
10283    //=========================================================================
10284    // GtkResponseType
10285    //=========================================================================
10286    pub fn gtk_response_type_get_type() -> GType;
10287
10288    //=========================================================================
10289    // GtkRevealerTransitionType
10290    //=========================================================================
10291    pub fn gtk_revealer_transition_type_get_type() -> GType;
10292
10293    //=========================================================================
10294    // GtkScrollStep
10295    //=========================================================================
10296    pub fn gtk_scroll_step_get_type() -> GType;
10297
10298    //=========================================================================
10299    // GtkScrollType
10300    //=========================================================================
10301    pub fn gtk_scroll_type_get_type() -> GType;
10302
10303    //=========================================================================
10304    // GtkScrollablePolicy
10305    //=========================================================================
10306    pub fn gtk_scrollable_policy_get_type() -> GType;
10307
10308    //=========================================================================
10309    // GtkSelectionMode
10310    //=========================================================================
10311    pub fn gtk_selection_mode_get_type() -> GType;
10312
10313    //=========================================================================
10314    // GtkSensitivityType
10315    //=========================================================================
10316    pub fn gtk_sensitivity_type_get_type() -> GType;
10317
10318    //=========================================================================
10319    // GtkShortcutScope
10320    //=========================================================================
10321    pub fn gtk_shortcut_scope_get_type() -> GType;
10322
10323    //=========================================================================
10324    // GtkShortcutType
10325    //=========================================================================
10326    pub fn gtk_shortcut_type_get_type() -> GType;
10327
10328    //=========================================================================
10329    // GtkSizeGroupMode
10330    //=========================================================================
10331    pub fn gtk_size_group_mode_get_type() -> GType;
10332
10333    //=========================================================================
10334    // GtkSizeRequestMode
10335    //=========================================================================
10336    pub fn gtk_size_request_mode_get_type() -> GType;
10337
10338    //=========================================================================
10339    // GtkSortType
10340    //=========================================================================
10341    pub fn gtk_sort_type_get_type() -> GType;
10342
10343    //=========================================================================
10344    // GtkSorterChange
10345    //=========================================================================
10346    pub fn gtk_sorter_change_get_type() -> GType;
10347
10348    //=========================================================================
10349    // GtkSorterOrder
10350    //=========================================================================
10351    pub fn gtk_sorter_order_get_type() -> GType;
10352
10353    //=========================================================================
10354    // GtkSpinButtonUpdatePolicy
10355    //=========================================================================
10356    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10357
10358    //=========================================================================
10359    // GtkSpinType
10360    //=========================================================================
10361    pub fn gtk_spin_type_get_type() -> GType;
10362
10363    //=========================================================================
10364    // GtkStackTransitionType
10365    //=========================================================================
10366    pub fn gtk_stack_transition_type_get_type() -> GType;
10367
10368    //=========================================================================
10369    // GtkStringFilterMatchMode
10370    //=========================================================================
10371    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10372
10373    //=========================================================================
10374    // GtkSymbolicColor
10375    //=========================================================================
10376    #[cfg(feature = "v4_6")]
10377    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10378    pub fn gtk_symbolic_color_get_type() -> GType;
10379
10380    //=========================================================================
10381    // GtkSystemSetting
10382    //=========================================================================
10383    pub fn gtk_system_setting_get_type() -> GType;
10384
10385    //=========================================================================
10386    // GtkTextDirection
10387    //=========================================================================
10388    pub fn gtk_text_direction_get_type() -> GType;
10389
10390    //=========================================================================
10391    // GtkTextExtendSelection
10392    //=========================================================================
10393    pub fn gtk_text_extend_selection_get_type() -> GType;
10394
10395    //=========================================================================
10396    // GtkTextViewLayer
10397    //=========================================================================
10398    pub fn gtk_text_view_layer_get_type() -> GType;
10399
10400    //=========================================================================
10401    // GtkTextWindowType
10402    //=========================================================================
10403    pub fn gtk_text_window_type_get_type() -> GType;
10404
10405    //=========================================================================
10406    // GtkTreeViewColumnSizing
10407    //=========================================================================
10408    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10409
10410    //=========================================================================
10411    // GtkTreeViewDropPosition
10412    //=========================================================================
10413    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10414
10415    //=========================================================================
10416    // GtkTreeViewGridLines
10417    //=========================================================================
10418    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10419
10420    //=========================================================================
10421    // GtkUnit
10422    //=========================================================================
10423    pub fn gtk_unit_get_type() -> GType;
10424
10425    //=========================================================================
10426    // GtkWrapMode
10427    //=========================================================================
10428    pub fn gtk_wrap_mode_get_type() -> GType;
10429
10430    //=========================================================================
10431    // GtkApplicationInhibitFlags
10432    //=========================================================================
10433    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10434
10435    //=========================================================================
10436    // GtkBuilderClosureFlags
10437    //=========================================================================
10438    pub fn gtk_builder_closure_flags_get_type() -> GType;
10439
10440    //=========================================================================
10441    // GtkCellRendererState
10442    //=========================================================================
10443    pub fn gtk_cell_renderer_state_get_type() -> GType;
10444
10445    //=========================================================================
10446    // GtkDebugFlags
10447    //=========================================================================
10448    pub fn gtk_debug_flags_get_type() -> GType;
10449
10450    //=========================================================================
10451    // GtkDialogFlags
10452    //=========================================================================
10453    pub fn gtk_dialog_flags_get_type() -> GType;
10454
10455    //=========================================================================
10456    // GtkEventControllerScrollFlags
10457    //=========================================================================
10458    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10459
10460    //=========================================================================
10461    // GtkFontChooserLevel
10462    //=========================================================================
10463    pub fn gtk_font_chooser_level_get_type() -> GType;
10464
10465    //=========================================================================
10466    // GtkIconLookupFlags
10467    //=========================================================================
10468    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10469
10470    //=========================================================================
10471    // GtkInputHints
10472    //=========================================================================
10473    pub fn gtk_input_hints_get_type() -> GType;
10474
10475    //=========================================================================
10476    // GtkListScrollFlags
10477    //=========================================================================
10478    #[cfg(feature = "v4_12")]
10479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10480    pub fn gtk_list_scroll_flags_get_type() -> GType;
10481
10482    //=========================================================================
10483    // GtkPickFlags
10484    //=========================================================================
10485    pub fn gtk_pick_flags_get_type() -> GType;
10486
10487    //=========================================================================
10488    // GtkPopoverMenuFlags
10489    //=========================================================================
10490    pub fn gtk_popover_menu_flags_get_type() -> GType;
10491
10492    //=========================================================================
10493    // GtkPrintCapabilities
10494    //=========================================================================
10495    pub fn gtk_print_capabilities_get_type() -> GType;
10496
10497    //=========================================================================
10498    // GtkShortcutActionFlags
10499    //=========================================================================
10500    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10501
10502    //=========================================================================
10503    // GtkStateFlags
10504    //=========================================================================
10505    pub fn gtk_state_flags_get_type() -> GType;
10506
10507    //=========================================================================
10508    // GtkStyleContextPrintFlags
10509    //=========================================================================
10510    pub fn gtk_style_context_print_flags_get_type() -> GType;
10511
10512    //=========================================================================
10513    // GtkTextBufferNotifyFlags
10514    //=========================================================================
10515    #[cfg(feature = "v4_16")]
10516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10517    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10518
10519    //=========================================================================
10520    // GtkTextSearchFlags
10521    //=========================================================================
10522    pub fn gtk_text_search_flags_get_type() -> GType;
10523
10524    //=========================================================================
10525    // GtkTreeModelFlags
10526    //=========================================================================
10527    pub fn gtk_tree_model_flags_get_type() -> GType;
10528
10529    //=========================================================================
10530    // GtkAccessibleList
10531    //=========================================================================
10532    #[cfg(feature = "v4_14")]
10533    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10534    pub fn gtk_accessible_list_get_type() -> GType;
10535    #[cfg(feature = "v4_14")]
10536    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10537    pub fn gtk_accessible_list_new_from_array(
10538        accessibles: *mut *mut GtkAccessible,
10539        n_accessibles: size_t,
10540    ) -> *mut GtkAccessibleList;
10541    #[cfg(feature = "v4_14")]
10542    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10543    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
10544    #[cfg(feature = "v4_14")]
10545    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10546    pub fn gtk_accessible_list_get_objects(
10547        accessible_list: *mut GtkAccessibleList,
10548    ) -> *mut glib::GList;
10549
10550    //=========================================================================
10551    // GtkBitset
10552    //=========================================================================
10553    pub fn gtk_bitset_get_type() -> GType;
10554    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
10555    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
10556    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10557    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10558    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10559    pub fn gtk_bitset_add_rectangle(
10560        self_: *mut GtkBitset,
10561        start: c_uint,
10562        width: c_uint,
10563        height: c_uint,
10564        stride: c_uint,
10565    );
10566    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
10567    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
10568    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
10569    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
10570    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
10571    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
10572    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
10573    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
10574    pub fn gtk_bitset_get_size_in_range(
10575        self_: *const GtkBitset,
10576        first: c_uint,
10577        last: c_uint,
10578    ) -> u64;
10579    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
10580    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
10581    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
10582    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10583    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
10584    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10585    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10586    pub fn gtk_bitset_remove_rectangle(
10587        self_: *mut GtkBitset,
10588        start: c_uint,
10589        width: c_uint,
10590        height: c_uint,
10591        stride: c_uint,
10592    );
10593    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
10594    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
10595    pub fn gtk_bitset_splice(
10596        self_: *mut GtkBitset,
10597        position: c_uint,
10598        removed: c_uint,
10599        added: c_uint,
10600    );
10601    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
10602    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
10603    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
10604
10605    //=========================================================================
10606    // GtkBitsetIter
10607    //=========================================================================
10608    pub fn gtk_bitset_iter_get_type() -> GType;
10609    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
10610    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
10611    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
10612    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
10613    pub fn gtk_bitset_iter_init_at(
10614        iter: *mut GtkBitsetIter,
10615        set: *const GtkBitset,
10616        target: c_uint,
10617        value: *mut c_uint,
10618    ) -> gboolean;
10619    pub fn gtk_bitset_iter_init_first(
10620        iter: *mut GtkBitsetIter,
10621        set: *const GtkBitset,
10622        value: *mut c_uint,
10623    ) -> gboolean;
10624    pub fn gtk_bitset_iter_init_last(
10625        iter: *mut GtkBitsetIter,
10626        set: *const GtkBitset,
10627        value: *mut c_uint,
10628    ) -> gboolean;
10629
10630    //=========================================================================
10631    // GtkBorder
10632    //=========================================================================
10633    pub fn gtk_border_get_type() -> GType;
10634    pub fn gtk_border_new() -> *mut GtkBorder;
10635    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
10636    pub fn gtk_border_free(border_: *mut GtkBorder);
10637
10638    //=========================================================================
10639    // GtkBuildableParseContext
10640    //=========================================================================
10641    pub fn gtk_buildable_parse_context_get_element(
10642        context: *mut GtkBuildableParseContext,
10643    ) -> *const c_char;
10644    pub fn gtk_buildable_parse_context_get_element_stack(
10645        context: *mut GtkBuildableParseContext,
10646    ) -> *mut glib::GPtrArray;
10647    pub fn gtk_buildable_parse_context_get_position(
10648        context: *mut GtkBuildableParseContext,
10649        line_number: *mut c_int,
10650        char_number: *mut c_int,
10651    );
10652    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
10653    pub fn gtk_buildable_parse_context_push(
10654        context: *mut GtkBuildableParseContext,
10655        parser: *const GtkBuildableParser,
10656        user_data: gpointer,
10657    );
10658
10659    //=========================================================================
10660    // GtkCellAreaClass
10661    //=========================================================================
10662    pub fn gtk_cell_area_class_find_cell_property(
10663        aclass: *mut GtkCellAreaClass,
10664        property_name: *const c_char,
10665    ) -> *mut gobject::GParamSpec;
10666    pub fn gtk_cell_area_class_install_cell_property(
10667        aclass: *mut GtkCellAreaClass,
10668        property_id: c_uint,
10669        pspec: *mut gobject::GParamSpec,
10670    );
10671    pub fn gtk_cell_area_class_list_cell_properties(
10672        aclass: *mut GtkCellAreaClass,
10673        n_properties: *mut c_uint,
10674    ) -> *mut *mut gobject::GParamSpec;
10675
10676    //=========================================================================
10677    // GtkCssSection
10678    //=========================================================================
10679    pub fn gtk_css_section_get_type() -> GType;
10680    pub fn gtk_css_section_new(
10681        file: *mut gio::GFile,
10682        start: *const GtkCssLocation,
10683        end: *const GtkCssLocation,
10684    ) -> *mut GtkCssSection;
10685    #[cfg(feature = "v4_16")]
10686    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10687    pub fn gtk_css_section_new_with_bytes(
10688        file: *mut gio::GFile,
10689        bytes: *mut glib::GBytes,
10690        start: *const GtkCssLocation,
10691        end: *const GtkCssLocation,
10692    ) -> *mut GtkCssSection;
10693    #[cfg(feature = "v4_16")]
10694    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10695    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
10696    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
10697        -> *const GtkCssLocation;
10698    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
10699    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
10700    pub fn gtk_css_section_get_start_location(
10701        section: *const GtkCssSection,
10702    ) -> *const GtkCssLocation;
10703    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
10704    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
10705    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
10706    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
10707
10708    //=========================================================================
10709    // GtkExpressionWatch
10710    //=========================================================================
10711    #[cfg(feature = "v4_2")]
10712    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
10713    pub fn gtk_expression_watch_get_type() -> GType;
10714    pub fn gtk_expression_watch_evaluate(
10715        watch: *mut GtkExpressionWatch,
10716        value: *mut gobject::GValue,
10717    ) -> gboolean;
10718    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
10719    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
10720    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
10721
10722    //=========================================================================
10723    // GtkPaperSize
10724    //=========================================================================
10725    pub fn gtk_paper_size_get_type() -> GType;
10726    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
10727    pub fn gtk_paper_size_new_custom(
10728        name: *const c_char,
10729        display_name: *const c_char,
10730        width: c_double,
10731        height: c_double,
10732        unit: GtkUnit,
10733    ) -> *mut GtkPaperSize;
10734    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
10735    pub fn gtk_paper_size_new_from_ipp(
10736        ipp_name: *const c_char,
10737        width: c_double,
10738        height: c_double,
10739    ) -> *mut GtkPaperSize;
10740    pub fn gtk_paper_size_new_from_key_file(
10741        key_file: *mut glib::GKeyFile,
10742        group_name: *const c_char,
10743        error: *mut *mut glib::GError,
10744    ) -> *mut GtkPaperSize;
10745    pub fn gtk_paper_size_new_from_ppd(
10746        ppd_name: *const c_char,
10747        ppd_display_name: *const c_char,
10748        width: c_double,
10749        height: c_double,
10750    ) -> *mut GtkPaperSize;
10751    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
10752    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
10753    pub fn gtk_paper_size_get_default_bottom_margin(
10754        size: *mut GtkPaperSize,
10755        unit: GtkUnit,
10756    ) -> c_double;
10757    pub fn gtk_paper_size_get_default_left_margin(
10758        size: *mut GtkPaperSize,
10759        unit: GtkUnit,
10760    ) -> c_double;
10761    pub fn gtk_paper_size_get_default_right_margin(
10762        size: *mut GtkPaperSize,
10763        unit: GtkUnit,
10764    ) -> c_double;
10765    pub fn gtk_paper_size_get_default_top_margin(
10766        size: *mut GtkPaperSize,
10767        unit: GtkUnit,
10768    ) -> c_double;
10769    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
10770    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
10771    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
10772    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
10773    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
10774    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
10775    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
10776    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
10777    pub fn gtk_paper_size_set_size(
10778        size: *mut GtkPaperSize,
10779        width: c_double,
10780        height: c_double,
10781        unit: GtkUnit,
10782    );
10783    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
10784    pub fn gtk_paper_size_to_key_file(
10785        size: *mut GtkPaperSize,
10786        key_file: *mut glib::GKeyFile,
10787        group_name: *const c_char,
10788    );
10789    pub fn gtk_paper_size_get_default() -> *const c_char;
10790    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
10791
10792    //=========================================================================
10793    // GtkPrintSetup
10794    //=========================================================================
10795    #[cfg(feature = "v4_14")]
10796    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10797    pub fn gtk_print_setup_get_type() -> GType;
10798    #[cfg(feature = "v4_14")]
10799    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10800    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
10801    #[cfg(feature = "v4_14")]
10802    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10803    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
10804    #[cfg(feature = "v4_14")]
10805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10806    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
10807    #[cfg(feature = "v4_14")]
10808    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10809    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
10810
10811    //=========================================================================
10812    // GtkRecentInfo
10813    //=========================================================================
10814    pub fn gtk_recent_info_get_type() -> GType;
10815    pub fn gtk_recent_info_create_app_info(
10816        info: *mut GtkRecentInfo,
10817        app_name: *const c_char,
10818        error: *mut *mut glib::GError,
10819    ) -> *mut gio::GAppInfo;
10820    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
10821    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
10822    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
10823    pub fn gtk_recent_info_get_application_info(
10824        info: *mut GtkRecentInfo,
10825        app_name: *const c_char,
10826        app_exec: *mut *const c_char,
10827        count: *mut c_uint,
10828        stamp: *mut *mut glib::GDateTime,
10829    ) -> gboolean;
10830    pub fn gtk_recent_info_get_applications(
10831        info: *mut GtkRecentInfo,
10832        length: *mut size_t,
10833    ) -> *mut *mut c_char;
10834    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
10835    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
10836    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
10837    pub fn gtk_recent_info_get_groups(
10838        info: *mut GtkRecentInfo,
10839        length: *mut size_t,
10840    ) -> *mut *mut c_char;
10841    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
10842    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
10843    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
10844    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
10845    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
10846    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
10847    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
10848    pub fn gtk_recent_info_has_application(
10849        info: *mut GtkRecentInfo,
10850        app_name: *const c_char,
10851    ) -> gboolean;
10852    pub fn gtk_recent_info_has_group(
10853        info: *mut GtkRecentInfo,
10854        group_name: *const c_char,
10855    ) -> gboolean;
10856    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
10857    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
10858    pub fn gtk_recent_info_match(
10859        info_a: *mut GtkRecentInfo,
10860        info_b: *mut GtkRecentInfo,
10861    ) -> gboolean;
10862    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
10863    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
10864
10865    //=========================================================================
10866    // GtkRequisition
10867    //=========================================================================
10868    pub fn gtk_requisition_get_type() -> GType;
10869    pub fn gtk_requisition_new() -> *mut GtkRequisition;
10870    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
10871    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
10872
10873    //=========================================================================
10874    // GtkScrollInfo
10875    //=========================================================================
10876    #[cfg(feature = "v4_12")]
10877    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10878    pub fn gtk_scroll_info_get_type() -> GType;
10879    #[cfg(feature = "v4_12")]
10880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10881    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
10882    #[cfg(feature = "v4_12")]
10883    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10884    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
10885    #[cfg(feature = "v4_12")]
10886    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10887    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
10888    #[cfg(feature = "v4_12")]
10889    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10890    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
10891    #[cfg(feature = "v4_12")]
10892    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10893    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
10894    #[cfg(feature = "v4_12")]
10895    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10896    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
10897    #[cfg(feature = "v4_12")]
10898    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10899    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
10900
10901    //=========================================================================
10902    // GtkTextIter
10903    //=========================================================================
10904    pub fn gtk_text_iter_get_type() -> GType;
10905    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
10906    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
10907    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10908    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
10909    pub fn gtk_text_iter_backward_cursor_positions(
10910        iter: *mut GtkTextIter,
10911        count: c_int,
10912    ) -> gboolean;
10913    pub fn gtk_text_iter_backward_find_char(
10914        iter: *mut GtkTextIter,
10915        pred: GtkTextCharPredicate,
10916        user_data: gpointer,
10917        limit: *const GtkTextIter,
10918    ) -> gboolean;
10919    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
10920    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10921    pub fn gtk_text_iter_backward_search(
10922        iter: *const GtkTextIter,
10923        str: *const c_char,
10924        flags: GtkTextSearchFlags,
10925        match_start: *mut GtkTextIter,
10926        match_end: *mut GtkTextIter,
10927        limit: *const GtkTextIter,
10928    ) -> gboolean;
10929    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
10930    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
10931        -> gboolean;
10932    pub fn gtk_text_iter_backward_to_tag_toggle(
10933        iter: *mut GtkTextIter,
10934        tag: *mut GtkTextTag,
10935    ) -> gboolean;
10936    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
10937    pub fn gtk_text_iter_backward_visible_cursor_positions(
10938        iter: *mut GtkTextIter,
10939        count: c_int,
10940    ) -> gboolean;
10941    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
10942    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10943    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
10944    pub fn gtk_text_iter_backward_visible_word_starts(
10945        iter: *mut GtkTextIter,
10946        count: c_int,
10947    ) -> gboolean;
10948    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
10949    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10950    pub fn gtk_text_iter_can_insert(
10951        iter: *const GtkTextIter,
10952        default_editability: gboolean,
10953    ) -> gboolean;
10954    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
10955    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
10956    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
10957    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
10958    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
10959    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
10960    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
10961    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
10962    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
10963    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10964    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
10965    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
10966        -> gboolean;
10967    pub fn gtk_text_iter_forward_find_char(
10968        iter: *mut GtkTextIter,
10969        pred: GtkTextCharPredicate,
10970        user_data: gpointer,
10971        limit: *const GtkTextIter,
10972    ) -> gboolean;
10973    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
10974    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10975    pub fn gtk_text_iter_forward_search(
10976        iter: *const GtkTextIter,
10977        str: *const c_char,
10978        flags: GtkTextSearchFlags,
10979        match_start: *mut GtkTextIter,
10980        match_end: *mut GtkTextIter,
10981        limit: *const GtkTextIter,
10982    ) -> gboolean;
10983    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
10984    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10985    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
10986    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
10987    pub fn gtk_text_iter_forward_to_tag_toggle(
10988        iter: *mut GtkTextIter,
10989        tag: *mut GtkTextTag,
10990    ) -> gboolean;
10991    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
10992    pub fn gtk_text_iter_forward_visible_cursor_positions(
10993        iter: *mut GtkTextIter,
10994        count: c_int,
10995    ) -> gboolean;
10996    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
10997    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
10998    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
10999    pub fn gtk_text_iter_forward_visible_word_ends(
11000        iter: *mut GtkTextIter,
11001        count: c_int,
11002    ) -> gboolean;
11003    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11004    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11005    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11006    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11007    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11008    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11009    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11010    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11011    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11012    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11013    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11014    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11015    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11016    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11017    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11018    pub fn gtk_text_iter_get_slice(
11019        start: *const GtkTextIter,
11020        end: *const GtkTextIter,
11021    ) -> *mut c_char;
11022    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11023    pub fn gtk_text_iter_get_text(
11024        start: *const GtkTextIter,
11025        end: *const GtkTextIter,
11026    ) -> *mut c_char;
11027    pub fn gtk_text_iter_get_toggled_tags(
11028        iter: *const GtkTextIter,
11029        toggled_on: gboolean,
11030    ) -> *mut glib::GSList;
11031    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11032    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11033    pub fn gtk_text_iter_get_visible_slice(
11034        start: *const GtkTextIter,
11035        end: *const GtkTextIter,
11036    ) -> *mut c_char;
11037    pub fn gtk_text_iter_get_visible_text(
11038        start: *const GtkTextIter,
11039        end: *const GtkTextIter,
11040    ) -> *mut c_char;
11041    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11042    pub fn gtk_text_iter_in_range(
11043        iter: *const GtkTextIter,
11044        start: *const GtkTextIter,
11045        end: *const GtkTextIter,
11046    ) -> gboolean;
11047    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11048    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11049    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11050    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11051    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11052    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11053    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11054    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11055    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11056    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11057    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11058    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11059    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11060    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11061    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11062    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11063    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11064
11065    //=========================================================================
11066    // GtkTreeIter
11067    //=========================================================================
11068    pub fn gtk_tree_iter_get_type() -> GType;
11069    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11070    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11071
11072    //=========================================================================
11073    // GtkTreePath
11074    //=========================================================================
11075    pub fn gtk_tree_path_get_type() -> GType;
11076    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11077    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11078    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11079    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11080        -> *mut GtkTreePath;
11081    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11082    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11083    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11084    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11085    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11086    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11087    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11088    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11089    pub fn gtk_tree_path_get_indices_with_depth(
11090        path: *mut GtkTreePath,
11091        depth: *mut c_int,
11092    ) -> *mut c_int;
11093    pub fn gtk_tree_path_is_ancestor(
11094        path: *mut GtkTreePath,
11095        descendant: *mut GtkTreePath,
11096    ) -> gboolean;
11097    pub fn gtk_tree_path_is_descendant(
11098        path: *mut GtkTreePath,
11099        ancestor: *mut GtkTreePath,
11100    ) -> gboolean;
11101    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11102    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11103    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11104    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11105    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11106
11107    //=========================================================================
11108    // GtkTreeRowReference
11109    //=========================================================================
11110    pub fn gtk_tree_row_reference_get_type() -> GType;
11111    pub fn gtk_tree_row_reference_new(
11112        model: *mut GtkTreeModel,
11113        path: *mut GtkTreePath,
11114    ) -> *mut GtkTreeRowReference;
11115    pub fn gtk_tree_row_reference_new_proxy(
11116        proxy: *mut gobject::GObject,
11117        model: *mut GtkTreeModel,
11118        path: *mut GtkTreePath,
11119    ) -> *mut GtkTreeRowReference;
11120    pub fn gtk_tree_row_reference_copy(
11121        reference: *mut GtkTreeRowReference,
11122    ) -> *mut GtkTreeRowReference;
11123    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11124    pub fn gtk_tree_row_reference_get_model(
11125        reference: *mut GtkTreeRowReference,
11126    ) -> *mut GtkTreeModel;
11127    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11128        -> *mut GtkTreePath;
11129    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11130    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11131    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11132    pub fn gtk_tree_row_reference_reordered(
11133        proxy: *mut gobject::GObject,
11134        path: *mut GtkTreePath,
11135        iter: *mut GtkTreeIter,
11136        new_order: *mut c_int,
11137    );
11138
11139    //=========================================================================
11140    // GtkWidgetClass
11141    //=========================================================================
11142    pub fn gtk_widget_class_add_binding(
11143        widget_class: *mut GtkWidgetClass,
11144        keyval: c_uint,
11145        mods: gdk::GdkModifierType,
11146        callback: GtkShortcutFunc,
11147        format_string: *const c_char,
11148        ...
11149    );
11150    pub fn gtk_widget_class_add_binding_action(
11151        widget_class: *mut GtkWidgetClass,
11152        keyval: c_uint,
11153        mods: gdk::GdkModifierType,
11154        action_name: *const c_char,
11155        format_string: *const c_char,
11156        ...
11157    );
11158    pub fn gtk_widget_class_add_binding_signal(
11159        widget_class: *mut GtkWidgetClass,
11160        keyval: c_uint,
11161        mods: gdk::GdkModifierType,
11162        signal: *const c_char,
11163        format_string: *const c_char,
11164        ...
11165    );
11166    pub fn gtk_widget_class_add_shortcut(
11167        widget_class: *mut GtkWidgetClass,
11168        shortcut: *mut GtkShortcut,
11169    );
11170    pub fn gtk_widget_class_bind_template_callback_full(
11171        widget_class: *mut GtkWidgetClass,
11172        callback_name: *const c_char,
11173        callback_symbol: gobject::GCallback,
11174    );
11175    pub fn gtk_widget_class_bind_template_child_full(
11176        widget_class: *mut GtkWidgetClass,
11177        name: *const c_char,
11178        internal_child: gboolean,
11179        struct_offset: ssize_t,
11180    );
11181    pub fn gtk_widget_class_get_accessible_role(
11182        widget_class: *mut GtkWidgetClass,
11183    ) -> GtkAccessibleRole;
11184    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11185    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11186    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11187    pub fn gtk_widget_class_install_action(
11188        widget_class: *mut GtkWidgetClass,
11189        action_name: *const c_char,
11190        parameter_type: *const c_char,
11191        activate: GtkWidgetActionActivateFunc,
11192    );
11193    pub fn gtk_widget_class_install_property_action(
11194        widget_class: *mut GtkWidgetClass,
11195        action_name: *const c_char,
11196        property_name: *const c_char,
11197    );
11198    pub fn gtk_widget_class_query_action(
11199        widget_class: *mut GtkWidgetClass,
11200        index_: c_uint,
11201        owner: *mut GType,
11202        action_name: *mut *const c_char,
11203        parameter_type: *mut *const glib::GVariantType,
11204        property_name: *mut *const c_char,
11205    ) -> gboolean;
11206    pub fn gtk_widget_class_set_accessible_role(
11207        widget_class: *mut GtkWidgetClass,
11208        accessible_role: GtkAccessibleRole,
11209    );
11210    pub fn gtk_widget_class_set_activate_signal(
11211        widget_class: *mut GtkWidgetClass,
11212        signal_id: c_uint,
11213    );
11214    pub fn gtk_widget_class_set_activate_signal_from_name(
11215        widget_class: *mut GtkWidgetClass,
11216        signal_name: *const c_char,
11217    );
11218    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11219    pub fn gtk_widget_class_set_layout_manager_type(
11220        widget_class: *mut GtkWidgetClass,
11221        type_: GType,
11222    );
11223    pub fn gtk_widget_class_set_template(
11224        widget_class: *mut GtkWidgetClass,
11225        template_bytes: *mut glib::GBytes,
11226    );
11227    pub fn gtk_widget_class_set_template_from_resource(
11228        widget_class: *mut GtkWidgetClass,
11229        resource_name: *const c_char,
11230    );
11231    pub fn gtk_widget_class_set_template_scope(
11232        widget_class: *mut GtkWidgetClass,
11233        scope: *mut GtkBuilderScope,
11234    );
11235
11236    //=========================================================================
11237    // GtkATContext
11238    //=========================================================================
11239    pub fn gtk_at_context_get_type() -> GType;
11240    pub fn gtk_at_context_create(
11241        accessible_role: GtkAccessibleRole,
11242        accessible: *mut GtkAccessible,
11243        display: *mut gdk::GdkDisplay,
11244    ) -> *mut GtkATContext;
11245    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11246    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11247
11248    //=========================================================================
11249    // GtkAboutDialog
11250    //=========================================================================
11251    pub fn gtk_about_dialog_get_type() -> GType;
11252    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11253    pub fn gtk_about_dialog_add_credit_section(
11254        about: *mut GtkAboutDialog,
11255        section_name: *const c_char,
11256        people: *mut *const c_char,
11257    );
11258    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11259    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11260    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11261    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11262    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11263    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11264    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11265    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11266    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11267    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11268    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11269    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11270    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11271    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11272    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11273    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11274    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11275    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11276    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11277    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11278    pub fn gtk_about_dialog_set_documenters(
11279        about: *mut GtkAboutDialog,
11280        documenters: *mut *const c_char,
11281    );
11282    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11283    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11284    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11285    pub fn gtk_about_dialog_set_logo_icon_name(
11286        about: *mut GtkAboutDialog,
11287        icon_name: *const c_char,
11288    );
11289    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11290    pub fn gtk_about_dialog_set_system_information(
11291        about: *mut GtkAboutDialog,
11292        system_information: *const c_char,
11293    );
11294    pub fn gtk_about_dialog_set_translator_credits(
11295        about: *mut GtkAboutDialog,
11296        translator_credits: *const c_char,
11297    );
11298    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11299    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11300    pub fn gtk_about_dialog_set_website_label(
11301        about: *mut GtkAboutDialog,
11302        website_label: *const c_char,
11303    );
11304    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11305
11306    //=========================================================================
11307    // GtkActionBar
11308    //=========================================================================
11309    pub fn gtk_action_bar_get_type() -> GType;
11310    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11311    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11312    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11313    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11314    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11315    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11316    pub fn gtk_action_bar_set_center_widget(
11317        action_bar: *mut GtkActionBar,
11318        center_widget: *mut GtkWidget,
11319    );
11320    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11321
11322    //=========================================================================
11323    // GtkActivateAction
11324    //=========================================================================
11325    pub fn gtk_activate_action_get_type() -> GType;
11326    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11327
11328    //=========================================================================
11329    // GtkAdjustment
11330    //=========================================================================
11331    pub fn gtk_adjustment_get_type() -> GType;
11332    pub fn gtk_adjustment_new(
11333        value: c_double,
11334        lower: c_double,
11335        upper: c_double,
11336        step_increment: c_double,
11337        page_increment: c_double,
11338        page_size: c_double,
11339    ) -> *mut GtkAdjustment;
11340    pub fn gtk_adjustment_clamp_page(
11341        adjustment: *mut GtkAdjustment,
11342        lower: c_double,
11343        upper: c_double,
11344    );
11345    pub fn gtk_adjustment_configure(
11346        adjustment: *mut GtkAdjustment,
11347        value: c_double,
11348        lower: c_double,
11349        upper: c_double,
11350        step_increment: c_double,
11351        page_increment: c_double,
11352        page_size: c_double,
11353    );
11354    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11355    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11356    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11357    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11358    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11359    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11360    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11361    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11362    pub fn gtk_adjustment_set_page_increment(
11363        adjustment: *mut GtkAdjustment,
11364        page_increment: c_double,
11365    );
11366    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11367    pub fn gtk_adjustment_set_step_increment(
11368        adjustment: *mut GtkAdjustment,
11369        step_increment: c_double,
11370    );
11371    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11372    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11373
11374    //=========================================================================
11375    // GtkAlertDialog
11376    //=========================================================================
11377    #[cfg(feature = "v4_10")]
11378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11379    pub fn gtk_alert_dialog_get_type() -> GType;
11380    #[cfg(feature = "v4_10")]
11381    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11382    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11383    #[cfg(feature = "v4_10")]
11384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11385    pub fn gtk_alert_dialog_choose(
11386        self_: *mut GtkAlertDialog,
11387        parent: *mut GtkWindow,
11388        cancellable: *mut gio::GCancellable,
11389        callback: gio::GAsyncReadyCallback,
11390        user_data: gpointer,
11391    );
11392    #[cfg(feature = "v4_10")]
11393    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11394    pub fn gtk_alert_dialog_choose_finish(
11395        self_: *mut GtkAlertDialog,
11396        result: *mut gio::GAsyncResult,
11397        error: *mut *mut glib::GError,
11398    ) -> c_int;
11399    #[cfg(feature = "v4_10")]
11400    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11401    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11402    #[cfg(feature = "v4_10")]
11403    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11404    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11405    #[cfg(feature = "v4_10")]
11406    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11407    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11408    #[cfg(feature = "v4_10")]
11409    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11410    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11411    #[cfg(feature = "v4_10")]
11412    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11413    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11414    #[cfg(feature = "v4_10")]
11415    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11416    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11417    #[cfg(feature = "v4_10")]
11418    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11419    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11420    #[cfg(feature = "v4_10")]
11421    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11422    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11423    #[cfg(feature = "v4_10")]
11424    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11425    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11426    #[cfg(feature = "v4_10")]
11427    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11428    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11429    #[cfg(feature = "v4_10")]
11430    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11431    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11432    #[cfg(feature = "v4_10")]
11433    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11434    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11435    #[cfg(feature = "v4_10")]
11436    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11437    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11438
11439    //=========================================================================
11440    // GtkAlternativeTrigger
11441    //=========================================================================
11442    pub fn gtk_alternative_trigger_get_type() -> GType;
11443    pub fn gtk_alternative_trigger_new(
11444        first: *mut GtkShortcutTrigger,
11445        second: *mut GtkShortcutTrigger,
11446    ) -> *mut GtkShortcutTrigger;
11447    pub fn gtk_alternative_trigger_get_first(
11448        self_: *mut GtkAlternativeTrigger,
11449    ) -> *mut GtkShortcutTrigger;
11450    pub fn gtk_alternative_trigger_get_second(
11451        self_: *mut GtkAlternativeTrigger,
11452    ) -> *mut GtkShortcutTrigger;
11453
11454    //=========================================================================
11455    // GtkAnyFilter
11456    //=========================================================================
11457    pub fn gtk_any_filter_get_type() -> GType;
11458    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11459
11460    //=========================================================================
11461    // GtkAppChooserButton
11462    //=========================================================================
11463    pub fn gtk_app_chooser_button_get_type() -> GType;
11464    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11465    pub fn gtk_app_chooser_button_append_custom_item(
11466        self_: *mut GtkAppChooserButton,
11467        name: *const c_char,
11468        label: *const c_char,
11469        icon: *mut gio::GIcon,
11470    );
11471    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11472    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11473    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11474    pub fn gtk_app_chooser_button_get_show_default_item(
11475        self_: *mut GtkAppChooserButton,
11476    ) -> gboolean;
11477    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11478        -> gboolean;
11479    pub fn gtk_app_chooser_button_set_active_custom_item(
11480        self_: *mut GtkAppChooserButton,
11481        name: *const c_char,
11482    );
11483    pub fn gtk_app_chooser_button_set_heading(
11484        self_: *mut GtkAppChooserButton,
11485        heading: *const c_char,
11486    );
11487    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11488    pub fn gtk_app_chooser_button_set_show_default_item(
11489        self_: *mut GtkAppChooserButton,
11490        setting: gboolean,
11491    );
11492    pub fn gtk_app_chooser_button_set_show_dialog_item(
11493        self_: *mut GtkAppChooserButton,
11494        setting: gboolean,
11495    );
11496
11497    //=========================================================================
11498    // GtkAppChooserDialog
11499    //=========================================================================
11500    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11501    pub fn gtk_app_chooser_dialog_new(
11502        parent: *mut GtkWindow,
11503        flags: GtkDialogFlags,
11504        file: *mut gio::GFile,
11505    ) -> *mut GtkWidget;
11506    pub fn gtk_app_chooser_dialog_new_for_content_type(
11507        parent: *mut GtkWindow,
11508        flags: GtkDialogFlags,
11509        content_type: *const c_char,
11510    ) -> *mut GtkWidget;
11511    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11512    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11513    pub fn gtk_app_chooser_dialog_set_heading(
11514        self_: *mut GtkAppChooserDialog,
11515        heading: *const c_char,
11516    );
11517
11518    //=========================================================================
11519    // GtkAppChooserWidget
11520    //=========================================================================
11521    pub fn gtk_app_chooser_widget_get_type() -> GType;
11522    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
11523    pub fn gtk_app_chooser_widget_get_default_text(
11524        self_: *mut GtkAppChooserWidget,
11525    ) -> *const c_char;
11526    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
11527    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
11528    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
11529    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
11530    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
11531        -> gboolean;
11532    pub fn gtk_app_chooser_widget_set_default_text(
11533        self_: *mut GtkAppChooserWidget,
11534        text: *const c_char,
11535    );
11536    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
11537    pub fn gtk_app_chooser_widget_set_show_default(
11538        self_: *mut GtkAppChooserWidget,
11539        setting: gboolean,
11540    );
11541    pub fn gtk_app_chooser_widget_set_show_fallback(
11542        self_: *mut GtkAppChooserWidget,
11543        setting: gboolean,
11544    );
11545    pub fn gtk_app_chooser_widget_set_show_other(
11546        self_: *mut GtkAppChooserWidget,
11547        setting: gboolean,
11548    );
11549    pub fn gtk_app_chooser_widget_set_show_recommended(
11550        self_: *mut GtkAppChooserWidget,
11551        setting: gboolean,
11552    );
11553
11554    //=========================================================================
11555    // GtkApplication
11556    //=========================================================================
11557    pub fn gtk_application_get_type() -> GType;
11558    pub fn gtk_application_new(
11559        application_id: *const c_char,
11560        flags: gio::GApplicationFlags,
11561    ) -> *mut GtkApplication;
11562    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
11563    pub fn gtk_application_get_accels_for_action(
11564        application: *mut GtkApplication,
11565        detailed_action_name: *const c_char,
11566    ) -> *mut *mut c_char;
11567    pub fn gtk_application_get_actions_for_accel(
11568        application: *mut GtkApplication,
11569        accel: *const c_char,
11570    ) -> *mut *mut c_char;
11571    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
11572    pub fn gtk_application_get_menu_by_id(
11573        application: *mut GtkApplication,
11574        id: *const c_char,
11575    ) -> *mut gio::GMenu;
11576    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
11577    pub fn gtk_application_get_window_by_id(
11578        application: *mut GtkApplication,
11579        id: c_uint,
11580    ) -> *mut GtkWindow;
11581    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
11582    pub fn gtk_application_inhibit(
11583        application: *mut GtkApplication,
11584        window: *mut GtkWindow,
11585        flags: GtkApplicationInhibitFlags,
11586        reason: *const c_char,
11587    ) -> c_uint;
11588    pub fn gtk_application_list_action_descriptions(
11589        application: *mut GtkApplication,
11590    ) -> *mut *mut c_char;
11591    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
11592    pub fn gtk_application_set_accels_for_action(
11593        application: *mut GtkApplication,
11594        detailed_action_name: *const c_char,
11595        accels: *const *const c_char,
11596    );
11597    pub fn gtk_application_set_menubar(
11598        application: *mut GtkApplication,
11599        menubar: *mut gio::GMenuModel,
11600    );
11601    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
11602
11603    //=========================================================================
11604    // GtkApplicationWindow
11605    //=========================================================================
11606    pub fn gtk_application_window_get_type() -> GType;
11607    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
11608    pub fn gtk_application_window_get_help_overlay(
11609        window: *mut GtkApplicationWindow,
11610    ) -> *mut GtkShortcutsWindow;
11611    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
11612    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
11613    pub fn gtk_application_window_set_help_overlay(
11614        window: *mut GtkApplicationWindow,
11615        help_overlay: *mut GtkShortcutsWindow,
11616    );
11617    pub fn gtk_application_window_set_show_menubar(
11618        window: *mut GtkApplicationWindow,
11619        show_menubar: gboolean,
11620    );
11621
11622    //=========================================================================
11623    // GtkAspectFrame
11624    //=========================================================================
11625    pub fn gtk_aspect_frame_get_type() -> GType;
11626    pub fn gtk_aspect_frame_new(
11627        xalign: c_float,
11628        yalign: c_float,
11629        ratio: c_float,
11630        obey_child: gboolean,
11631    ) -> *mut GtkWidget;
11632    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
11633    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
11634    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
11635    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
11636    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
11637    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
11638    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
11639    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
11640    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
11641    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
11642
11643    //=========================================================================
11644    // GtkAssistant
11645    //=========================================================================
11646    pub fn gtk_assistant_get_type() -> GType;
11647    pub fn gtk_assistant_new() -> *mut GtkWidget;
11648    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
11649    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
11650    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
11651    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
11652    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
11653    pub fn gtk_assistant_get_nth_page(
11654        assistant: *mut GtkAssistant,
11655        page_num: c_int,
11656    ) -> *mut GtkWidget;
11657    pub fn gtk_assistant_get_page(
11658        assistant: *mut GtkAssistant,
11659        child: *mut GtkWidget,
11660    ) -> *mut GtkAssistantPage;
11661    pub fn gtk_assistant_get_page_complete(
11662        assistant: *mut GtkAssistant,
11663        page: *mut GtkWidget,
11664    ) -> gboolean;
11665    pub fn gtk_assistant_get_page_title(
11666        assistant: *mut GtkAssistant,
11667        page: *mut GtkWidget,
11668    ) -> *const c_char;
11669    pub fn gtk_assistant_get_page_type(
11670        assistant: *mut GtkAssistant,
11671        page: *mut GtkWidget,
11672    ) -> GtkAssistantPageType;
11673    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
11674    pub fn gtk_assistant_insert_page(
11675        assistant: *mut GtkAssistant,
11676        page: *mut GtkWidget,
11677        position: c_int,
11678    ) -> c_int;
11679    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
11680    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
11681    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
11682    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
11683    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
11684    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
11685    pub fn gtk_assistant_set_forward_page_func(
11686        assistant: *mut GtkAssistant,
11687        page_func: GtkAssistantPageFunc,
11688        data: gpointer,
11689        destroy: glib::GDestroyNotify,
11690    );
11691    pub fn gtk_assistant_set_page_complete(
11692        assistant: *mut GtkAssistant,
11693        page: *mut GtkWidget,
11694        complete: gboolean,
11695    );
11696    pub fn gtk_assistant_set_page_title(
11697        assistant: *mut GtkAssistant,
11698        page: *mut GtkWidget,
11699        title: *const c_char,
11700    );
11701    pub fn gtk_assistant_set_page_type(
11702        assistant: *mut GtkAssistant,
11703        page: *mut GtkWidget,
11704        type_: GtkAssistantPageType,
11705    );
11706    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
11707
11708    //=========================================================================
11709    // GtkAssistantPage
11710    //=========================================================================
11711    pub fn gtk_assistant_page_get_type() -> GType;
11712    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
11713
11714    //=========================================================================
11715    // GtkBinLayout
11716    //=========================================================================
11717    pub fn gtk_bin_layout_get_type() -> GType;
11718    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
11719
11720    //=========================================================================
11721    // GtkBookmarkList
11722    //=========================================================================
11723    pub fn gtk_bookmark_list_get_type() -> GType;
11724    pub fn gtk_bookmark_list_new(
11725        filename: *const c_char,
11726        attributes: *const c_char,
11727    ) -> *mut GtkBookmarkList;
11728    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
11729    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
11730    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
11731    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
11732    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
11733    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
11734
11735    //=========================================================================
11736    // GtkBoolFilter
11737    //=========================================================================
11738    pub fn gtk_bool_filter_get_type() -> GType;
11739    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
11740    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
11741    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
11742    pub fn gtk_bool_filter_set_expression(
11743        self_: *mut GtkBoolFilter,
11744        expression: *mut GtkExpression,
11745    );
11746    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
11747
11748    //=========================================================================
11749    // GtkBox
11750    //=========================================================================
11751    pub fn gtk_box_get_type() -> GType;
11752    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
11753    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
11754    #[cfg(feature = "v4_12")]
11755    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11756    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
11757    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
11758    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
11759    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
11760    pub fn gtk_box_insert_child_after(
11761        box_: *mut GtkBox,
11762        child: *mut GtkWidget,
11763        sibling: *mut GtkWidget,
11764    );
11765    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
11766    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
11767    pub fn gtk_box_reorder_child_after(
11768        box_: *mut GtkBox,
11769        child: *mut GtkWidget,
11770        sibling: *mut GtkWidget,
11771    );
11772    #[cfg(feature = "v4_12")]
11773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11774    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
11775    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
11776    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
11777    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
11778
11779    //=========================================================================
11780    // GtkBoxLayout
11781    //=========================================================================
11782    pub fn gtk_box_layout_get_type() -> GType;
11783    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
11784    #[cfg(feature = "v4_12")]
11785    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11786    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
11787    pub fn gtk_box_layout_get_baseline_position(
11788        box_layout: *mut GtkBoxLayout,
11789    ) -> GtkBaselinePosition;
11790    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
11791    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
11792    #[cfg(feature = "v4_12")]
11793    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11794    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
11795    pub fn gtk_box_layout_set_baseline_position(
11796        box_layout: *mut GtkBoxLayout,
11797        position: GtkBaselinePosition,
11798    );
11799    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
11800    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
11801
11802    //=========================================================================
11803    // GtkBuilder
11804    //=========================================================================
11805    pub fn gtk_builder_get_type() -> GType;
11806    pub fn gtk_builder_new() -> *mut GtkBuilder;
11807    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
11808    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
11809    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
11810    pub fn gtk_builder_add_from_file(
11811        builder: *mut GtkBuilder,
11812        filename: *const c_char,
11813        error: *mut *mut glib::GError,
11814    ) -> gboolean;
11815    pub fn gtk_builder_add_from_resource(
11816        builder: *mut GtkBuilder,
11817        resource_path: *const c_char,
11818        error: *mut *mut glib::GError,
11819    ) -> gboolean;
11820    pub fn gtk_builder_add_from_string(
11821        builder: *mut GtkBuilder,
11822        buffer: *const c_char,
11823        length: ssize_t,
11824        error: *mut *mut glib::GError,
11825    ) -> gboolean;
11826    pub fn gtk_builder_add_objects_from_file(
11827        builder: *mut GtkBuilder,
11828        filename: *const c_char,
11829        object_ids: *mut *const c_char,
11830        error: *mut *mut glib::GError,
11831    ) -> gboolean;
11832    pub fn gtk_builder_add_objects_from_resource(
11833        builder: *mut GtkBuilder,
11834        resource_path: *const c_char,
11835        object_ids: *mut *const c_char,
11836        error: *mut *mut glib::GError,
11837    ) -> gboolean;
11838    pub fn gtk_builder_add_objects_from_string(
11839        builder: *mut GtkBuilder,
11840        buffer: *const c_char,
11841        length: ssize_t,
11842        object_ids: *mut *const c_char,
11843        error: *mut *mut glib::GError,
11844    ) -> gboolean;
11845    pub fn gtk_builder_create_closure(
11846        builder: *mut GtkBuilder,
11847        function_name: *const c_char,
11848        flags: GtkBuilderClosureFlags,
11849        object: *mut gobject::GObject,
11850        error: *mut *mut glib::GError,
11851    ) -> *mut gobject::GClosure;
11852    pub fn gtk_builder_expose_object(
11853        builder: *mut GtkBuilder,
11854        name: *const c_char,
11855        object: *mut gobject::GObject,
11856    );
11857    pub fn gtk_builder_extend_with_template(
11858        builder: *mut GtkBuilder,
11859        object: *mut gobject::GObject,
11860        template_type: GType,
11861        buffer: *const c_char,
11862        length: ssize_t,
11863        error: *mut *mut glib::GError,
11864    ) -> gboolean;
11865    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
11866    pub fn gtk_builder_get_object(
11867        builder: *mut GtkBuilder,
11868        name: *const c_char,
11869    ) -> *mut gobject::GObject;
11870    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
11871    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
11872    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
11873    pub fn gtk_builder_get_type_from_name(
11874        builder: *mut GtkBuilder,
11875        type_name: *const c_char,
11876    ) -> GType;
11877    pub fn gtk_builder_set_current_object(
11878        builder: *mut GtkBuilder,
11879        current_object: *mut gobject::GObject,
11880    );
11881    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
11882    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
11883    pub fn gtk_builder_value_from_string(
11884        builder: *mut GtkBuilder,
11885        pspec: *mut gobject::GParamSpec,
11886        string: *const c_char,
11887        value: *mut gobject::GValue,
11888        error: *mut *mut glib::GError,
11889    ) -> gboolean;
11890    pub fn gtk_builder_value_from_string_type(
11891        builder: *mut GtkBuilder,
11892        type_: GType,
11893        string: *const c_char,
11894        value: *mut gobject::GValue,
11895        error: *mut *mut glib::GError,
11896    ) -> gboolean;
11897
11898    //=========================================================================
11899    // GtkBuilderCScope
11900    //=========================================================================
11901    pub fn gtk_builder_cscope_get_type() -> GType;
11902    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
11903    pub fn gtk_builder_cscope_add_callback_symbol(
11904        self_: *mut GtkBuilderCScope,
11905        callback_name: *const c_char,
11906        callback_symbol: gobject::GCallback,
11907    );
11908    pub fn gtk_builder_cscope_add_callback_symbols(
11909        self_: *mut GtkBuilderCScope,
11910        first_callback_name: *const c_char,
11911        first_callback_symbol: gobject::GCallback,
11912        ...
11913    );
11914    pub fn gtk_builder_cscope_lookup_callback_symbol(
11915        self_: *mut GtkBuilderCScope,
11916        callback_name: *const c_char,
11917    ) -> gobject::GCallback;
11918
11919    //=========================================================================
11920    // GtkBuilderListItemFactory
11921    //=========================================================================
11922    pub fn gtk_builder_list_item_factory_get_type() -> GType;
11923    pub fn gtk_builder_list_item_factory_new_from_bytes(
11924        scope: *mut GtkBuilderScope,
11925        bytes: *mut glib::GBytes,
11926    ) -> *mut GtkListItemFactory;
11927    pub fn gtk_builder_list_item_factory_new_from_resource(
11928        scope: *mut GtkBuilderScope,
11929        resource_path: *const c_char,
11930    ) -> *mut GtkListItemFactory;
11931    pub fn gtk_builder_list_item_factory_get_bytes(
11932        self_: *mut GtkBuilderListItemFactory,
11933    ) -> *mut glib::GBytes;
11934    pub fn gtk_builder_list_item_factory_get_resource(
11935        self_: *mut GtkBuilderListItemFactory,
11936    ) -> *const c_char;
11937    pub fn gtk_builder_list_item_factory_get_scope(
11938        self_: *mut GtkBuilderListItemFactory,
11939    ) -> *mut GtkBuilderScope;
11940
11941    //=========================================================================
11942    // GtkButton
11943    //=========================================================================
11944    pub fn gtk_button_get_type() -> GType;
11945    pub fn gtk_button_new() -> *mut GtkWidget;
11946    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
11947    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
11948    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
11949    #[cfg(feature = "v4_12")]
11950    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11951    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
11952    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
11953    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
11954    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
11955    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
11956    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
11957    #[cfg(feature = "v4_12")]
11958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11959    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
11960    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
11961    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
11962    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
11963    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
11964    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
11965
11966    //=========================================================================
11967    // GtkCClosureExpression
11968    //=========================================================================
11969    pub fn gtk_cclosure_expression_get_type() -> GType;
11970    pub fn gtk_cclosure_expression_new(
11971        value_type: GType,
11972        marshal: gobject::GClosureMarshal,
11973        n_params: c_uint,
11974        params: *mut *mut GtkExpression,
11975        callback_func: gobject::GCallback,
11976        user_data: gpointer,
11977        user_destroy: gobject::GClosureNotify,
11978    ) -> *mut GtkCClosureExpression;
11979
11980    //=========================================================================
11981    // GtkCalendar
11982    //=========================================================================
11983    pub fn gtk_calendar_get_type() -> GType;
11984    pub fn gtk_calendar_new() -> *mut GtkWidget;
11985    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
11986    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
11987    #[cfg(feature = "v4_14")]
11988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11989    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
11990    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
11991    #[cfg(feature = "v4_14")]
11992    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11993    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
11994    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
11995    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
11996    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
11997    #[cfg(feature = "v4_14")]
11998    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11999    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12000    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12001    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12002    #[cfg(feature = "v4_14")]
12003    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12004    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12005    #[cfg(feature = "v4_14")]
12006    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12007    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12008    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12009    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12010    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12011    #[cfg(feature = "v4_14")]
12012    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12013    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12014    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12015
12016    //=========================================================================
12017    // GtkCallbackAction
12018    //=========================================================================
12019    pub fn gtk_callback_action_get_type() -> GType;
12020    pub fn gtk_callback_action_new(
12021        callback: GtkShortcutFunc,
12022        data: gpointer,
12023        destroy: glib::GDestroyNotify,
12024    ) -> *mut GtkCallbackAction;
12025
12026    //=========================================================================
12027    // GtkCellArea
12028    //=========================================================================
12029    pub fn gtk_cell_area_get_type() -> GType;
12030    pub fn gtk_cell_area_activate(
12031        area: *mut GtkCellArea,
12032        context: *mut GtkCellAreaContext,
12033        widget: *mut GtkWidget,
12034        cell_area: *const gdk::GdkRectangle,
12035        flags: GtkCellRendererState,
12036        edit_only: gboolean,
12037    ) -> gboolean;
12038    pub fn gtk_cell_area_activate_cell(
12039        area: *mut GtkCellArea,
12040        widget: *mut GtkWidget,
12041        renderer: *mut GtkCellRenderer,
12042        event: *mut gdk::GdkEvent,
12043        cell_area: *const gdk::GdkRectangle,
12044        flags: GtkCellRendererState,
12045    ) -> gboolean;
12046    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12047    pub fn gtk_cell_area_add_focus_sibling(
12048        area: *mut GtkCellArea,
12049        renderer: *mut GtkCellRenderer,
12050        sibling: *mut GtkCellRenderer,
12051    );
12052    pub fn gtk_cell_area_add_with_properties(
12053        area: *mut GtkCellArea,
12054        renderer: *mut GtkCellRenderer,
12055        first_prop_name: *const c_char,
12056        ...
12057    );
12058    pub fn gtk_cell_area_apply_attributes(
12059        area: *mut GtkCellArea,
12060        tree_model: *mut GtkTreeModel,
12061        iter: *mut GtkTreeIter,
12062        is_expander: gboolean,
12063        is_expanded: gboolean,
12064    );
12065    pub fn gtk_cell_area_attribute_connect(
12066        area: *mut GtkCellArea,
12067        renderer: *mut GtkCellRenderer,
12068        attribute: *const c_char,
12069        column: c_int,
12070    );
12071    pub fn gtk_cell_area_attribute_disconnect(
12072        area: *mut GtkCellArea,
12073        renderer: *mut GtkCellRenderer,
12074        attribute: *const c_char,
12075    );
12076    pub fn gtk_cell_area_attribute_get_column(
12077        area: *mut GtkCellArea,
12078        renderer: *mut GtkCellRenderer,
12079        attribute: *const c_char,
12080    ) -> c_int;
12081    pub fn gtk_cell_area_cell_get(
12082        area: *mut GtkCellArea,
12083        renderer: *mut GtkCellRenderer,
12084        first_prop_name: *const c_char,
12085        ...
12086    );
12087    pub fn gtk_cell_area_cell_get_property(
12088        area: *mut GtkCellArea,
12089        renderer: *mut GtkCellRenderer,
12090        property_name: *const c_char,
12091        value: *mut gobject::GValue,
12092    );
12093    //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);
12094    pub fn gtk_cell_area_cell_set(
12095        area: *mut GtkCellArea,
12096        renderer: *mut GtkCellRenderer,
12097        first_prop_name: *const c_char,
12098        ...
12099    );
12100    pub fn gtk_cell_area_cell_set_property(
12101        area: *mut GtkCellArea,
12102        renderer: *mut GtkCellRenderer,
12103        property_name: *const c_char,
12104        value: *const gobject::GValue,
12105    );
12106    //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);
12107    pub fn gtk_cell_area_copy_context(
12108        area: *mut GtkCellArea,
12109        context: *mut GtkCellAreaContext,
12110    ) -> *mut GtkCellAreaContext;
12111    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12112    pub fn gtk_cell_area_event(
12113        area: *mut GtkCellArea,
12114        context: *mut GtkCellAreaContext,
12115        widget: *mut GtkWidget,
12116        event: *mut gdk::GdkEvent,
12117        cell_area: *const gdk::GdkRectangle,
12118        flags: GtkCellRendererState,
12119    ) -> c_int;
12120    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12121    pub fn gtk_cell_area_foreach(
12122        area: *mut GtkCellArea,
12123        callback: GtkCellCallback,
12124        callback_data: gpointer,
12125    );
12126    pub fn gtk_cell_area_foreach_alloc(
12127        area: *mut GtkCellArea,
12128        context: *mut GtkCellAreaContext,
12129        widget: *mut GtkWidget,
12130        cell_area: *const gdk::GdkRectangle,
12131        background_area: *const gdk::GdkRectangle,
12132        callback: GtkCellAllocCallback,
12133        callback_data: gpointer,
12134    );
12135    pub fn gtk_cell_area_get_cell_allocation(
12136        area: *mut GtkCellArea,
12137        context: *mut GtkCellAreaContext,
12138        widget: *mut GtkWidget,
12139        renderer: *mut GtkCellRenderer,
12140        cell_area: *const gdk::GdkRectangle,
12141        allocation: *mut gdk::GdkRectangle,
12142    );
12143    pub fn gtk_cell_area_get_cell_at_position(
12144        area: *mut GtkCellArea,
12145        context: *mut GtkCellAreaContext,
12146        widget: *mut GtkWidget,
12147        cell_area: *const gdk::GdkRectangle,
12148        x: c_int,
12149        y: c_int,
12150        alloc_area: *mut gdk::GdkRectangle,
12151    ) -> *mut GtkCellRenderer;
12152    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12153    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12154    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12155    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12156    pub fn gtk_cell_area_get_focus_from_sibling(
12157        area: *mut GtkCellArea,
12158        renderer: *mut GtkCellRenderer,
12159    ) -> *mut GtkCellRenderer;
12160    pub fn gtk_cell_area_get_focus_siblings(
12161        area: *mut GtkCellArea,
12162        renderer: *mut GtkCellRenderer,
12163    ) -> *const glib::GList;
12164    pub fn gtk_cell_area_get_preferred_height(
12165        area: *mut GtkCellArea,
12166        context: *mut GtkCellAreaContext,
12167        widget: *mut GtkWidget,
12168        minimum_height: *mut c_int,
12169        natural_height: *mut c_int,
12170    );
12171    pub fn gtk_cell_area_get_preferred_height_for_width(
12172        area: *mut GtkCellArea,
12173        context: *mut GtkCellAreaContext,
12174        widget: *mut GtkWidget,
12175        width: c_int,
12176        minimum_height: *mut c_int,
12177        natural_height: *mut c_int,
12178    );
12179    pub fn gtk_cell_area_get_preferred_width(
12180        area: *mut GtkCellArea,
12181        context: *mut GtkCellAreaContext,
12182        widget: *mut GtkWidget,
12183        minimum_width: *mut c_int,
12184        natural_width: *mut c_int,
12185    );
12186    pub fn gtk_cell_area_get_preferred_width_for_height(
12187        area: *mut GtkCellArea,
12188        context: *mut GtkCellAreaContext,
12189        widget: *mut GtkWidget,
12190        height: c_int,
12191        minimum_width: *mut c_int,
12192        natural_width: *mut c_int,
12193    );
12194    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12195    pub fn gtk_cell_area_has_renderer(
12196        area: *mut GtkCellArea,
12197        renderer: *mut GtkCellRenderer,
12198    ) -> gboolean;
12199    pub fn gtk_cell_area_inner_cell_area(
12200        area: *mut GtkCellArea,
12201        widget: *mut GtkWidget,
12202        cell_area: *const gdk::GdkRectangle,
12203        inner_area: *mut gdk::GdkRectangle,
12204    );
12205    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12206    pub fn gtk_cell_area_is_focus_sibling(
12207        area: *mut GtkCellArea,
12208        renderer: *mut GtkCellRenderer,
12209        sibling: *mut GtkCellRenderer,
12210    ) -> gboolean;
12211    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12212    pub fn gtk_cell_area_remove_focus_sibling(
12213        area: *mut GtkCellArea,
12214        renderer: *mut GtkCellRenderer,
12215        sibling: *mut GtkCellRenderer,
12216    );
12217    pub fn gtk_cell_area_request_renderer(
12218        area: *mut GtkCellArea,
12219        renderer: *mut GtkCellRenderer,
12220        orientation: GtkOrientation,
12221        widget: *mut GtkWidget,
12222        for_size: c_int,
12223        minimum_size: *mut c_int,
12224        natural_size: *mut c_int,
12225    );
12226    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12227    pub fn gtk_cell_area_snapshot(
12228        area: *mut GtkCellArea,
12229        context: *mut GtkCellAreaContext,
12230        widget: *mut GtkWidget,
12231        snapshot: *mut GtkSnapshot,
12232        background_area: *const gdk::GdkRectangle,
12233        cell_area: *const gdk::GdkRectangle,
12234        flags: GtkCellRendererState,
12235        paint_focus: gboolean,
12236    );
12237    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12238
12239    //=========================================================================
12240    // GtkCellAreaBox
12241    //=========================================================================
12242    pub fn gtk_cell_area_box_get_type() -> GType;
12243    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12244    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12245    pub fn gtk_cell_area_box_pack_end(
12246        box_: *mut GtkCellAreaBox,
12247        renderer: *mut GtkCellRenderer,
12248        expand: gboolean,
12249        align: gboolean,
12250        fixed: gboolean,
12251    );
12252    pub fn gtk_cell_area_box_pack_start(
12253        box_: *mut GtkCellAreaBox,
12254        renderer: *mut GtkCellRenderer,
12255        expand: gboolean,
12256        align: gboolean,
12257        fixed: gboolean,
12258    );
12259    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12260
12261    //=========================================================================
12262    // GtkCellAreaContext
12263    //=========================================================================
12264    pub fn gtk_cell_area_context_get_type() -> GType;
12265    pub fn gtk_cell_area_context_allocate(
12266        context: *mut GtkCellAreaContext,
12267        width: c_int,
12268        height: c_int,
12269    );
12270    pub fn gtk_cell_area_context_get_allocation(
12271        context: *mut GtkCellAreaContext,
12272        width: *mut c_int,
12273        height: *mut c_int,
12274    );
12275    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12276    pub fn gtk_cell_area_context_get_preferred_height(
12277        context: *mut GtkCellAreaContext,
12278        minimum_height: *mut c_int,
12279        natural_height: *mut c_int,
12280    );
12281    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12282        context: *mut GtkCellAreaContext,
12283        width: c_int,
12284        minimum_height: *mut c_int,
12285        natural_height: *mut c_int,
12286    );
12287    pub fn gtk_cell_area_context_get_preferred_width(
12288        context: *mut GtkCellAreaContext,
12289        minimum_width: *mut c_int,
12290        natural_width: *mut c_int,
12291    );
12292    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12293        context: *mut GtkCellAreaContext,
12294        height: c_int,
12295        minimum_width: *mut c_int,
12296        natural_width: *mut c_int,
12297    );
12298    pub fn gtk_cell_area_context_push_preferred_height(
12299        context: *mut GtkCellAreaContext,
12300        minimum_height: c_int,
12301        natural_height: c_int,
12302    );
12303    pub fn gtk_cell_area_context_push_preferred_width(
12304        context: *mut GtkCellAreaContext,
12305        minimum_width: c_int,
12306        natural_width: c_int,
12307    );
12308    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12309
12310    //=========================================================================
12311    // GtkCellRenderer
12312    //=========================================================================
12313    pub fn gtk_cell_renderer_get_type() -> GType;
12314    pub fn gtk_cell_renderer_activate(
12315        cell: *mut GtkCellRenderer,
12316        event: *mut gdk::GdkEvent,
12317        widget: *mut GtkWidget,
12318        path: *const c_char,
12319        background_area: *const gdk::GdkRectangle,
12320        cell_area: *const gdk::GdkRectangle,
12321        flags: GtkCellRendererState,
12322    ) -> gboolean;
12323    pub fn gtk_cell_renderer_get_aligned_area(
12324        cell: *mut GtkCellRenderer,
12325        widget: *mut GtkWidget,
12326        flags: GtkCellRendererState,
12327        cell_area: *const gdk::GdkRectangle,
12328        aligned_area: *mut gdk::GdkRectangle,
12329    );
12330    pub fn gtk_cell_renderer_get_alignment(
12331        cell: *mut GtkCellRenderer,
12332        xalign: *mut c_float,
12333        yalign: *mut c_float,
12334    );
12335    pub fn gtk_cell_renderer_get_fixed_size(
12336        cell: *mut GtkCellRenderer,
12337        width: *mut c_int,
12338        height: *mut c_int,
12339    );
12340    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12341    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12342    pub fn gtk_cell_renderer_get_padding(
12343        cell: *mut GtkCellRenderer,
12344        xpad: *mut c_int,
12345        ypad: *mut c_int,
12346    );
12347    pub fn gtk_cell_renderer_get_preferred_height(
12348        cell: *mut GtkCellRenderer,
12349        widget: *mut GtkWidget,
12350        minimum_size: *mut c_int,
12351        natural_size: *mut c_int,
12352    );
12353    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12354        cell: *mut GtkCellRenderer,
12355        widget: *mut GtkWidget,
12356        width: c_int,
12357        minimum_height: *mut c_int,
12358        natural_height: *mut c_int,
12359    );
12360    pub fn gtk_cell_renderer_get_preferred_size(
12361        cell: *mut GtkCellRenderer,
12362        widget: *mut GtkWidget,
12363        minimum_size: *mut GtkRequisition,
12364        natural_size: *mut GtkRequisition,
12365    );
12366    pub fn gtk_cell_renderer_get_preferred_width(
12367        cell: *mut GtkCellRenderer,
12368        widget: *mut GtkWidget,
12369        minimum_size: *mut c_int,
12370        natural_size: *mut c_int,
12371    );
12372    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12373        cell: *mut GtkCellRenderer,
12374        widget: *mut GtkWidget,
12375        height: c_int,
12376        minimum_width: *mut c_int,
12377        natural_width: *mut c_int,
12378    );
12379    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12380    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12381    pub fn gtk_cell_renderer_get_state(
12382        cell: *mut GtkCellRenderer,
12383        widget: *mut GtkWidget,
12384        cell_state: GtkCellRendererState,
12385    ) -> GtkStateFlags;
12386    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12387    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12388    pub fn gtk_cell_renderer_set_alignment(
12389        cell: *mut GtkCellRenderer,
12390        xalign: c_float,
12391        yalign: c_float,
12392    );
12393    pub fn gtk_cell_renderer_set_fixed_size(
12394        cell: *mut GtkCellRenderer,
12395        width: c_int,
12396        height: c_int,
12397    );
12398    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12399    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12400    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12401    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12402    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12403    pub fn gtk_cell_renderer_snapshot(
12404        cell: *mut GtkCellRenderer,
12405        snapshot: *mut GtkSnapshot,
12406        widget: *mut GtkWidget,
12407        background_area: *const gdk::GdkRectangle,
12408        cell_area: *const gdk::GdkRectangle,
12409        flags: GtkCellRendererState,
12410    );
12411    pub fn gtk_cell_renderer_start_editing(
12412        cell: *mut GtkCellRenderer,
12413        event: *mut gdk::GdkEvent,
12414        widget: *mut GtkWidget,
12415        path: *const c_char,
12416        background_area: *const gdk::GdkRectangle,
12417        cell_area: *const gdk::GdkRectangle,
12418        flags: GtkCellRendererState,
12419    ) -> *mut GtkCellEditable;
12420    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12421
12422    //=========================================================================
12423    // GtkCellRendererAccel
12424    //=========================================================================
12425    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12426    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12427
12428    //=========================================================================
12429    // GtkCellRendererCombo
12430    //=========================================================================
12431    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12432    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12433
12434    //=========================================================================
12435    // GtkCellRendererPixbuf
12436    //=========================================================================
12437    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12438    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12439
12440    //=========================================================================
12441    // GtkCellRendererProgress
12442    //=========================================================================
12443    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12444    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12445
12446    //=========================================================================
12447    // GtkCellRendererSpin
12448    //=========================================================================
12449    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12450    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12451
12452    //=========================================================================
12453    // GtkCellRendererSpinner
12454    //=========================================================================
12455    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12456    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12457
12458    //=========================================================================
12459    // GtkCellRendererText
12460    //=========================================================================
12461    pub fn gtk_cell_renderer_text_get_type() -> GType;
12462    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12463    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12464        renderer: *mut GtkCellRendererText,
12465        number_of_rows: c_int,
12466    );
12467
12468    //=========================================================================
12469    // GtkCellRendererToggle
12470    //=========================================================================
12471    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12472    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12473    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12474        -> gboolean;
12475    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12476    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12477    pub fn gtk_cell_renderer_toggle_set_activatable(
12478        toggle: *mut GtkCellRendererToggle,
12479        setting: gboolean,
12480    );
12481    pub fn gtk_cell_renderer_toggle_set_active(
12482        toggle: *mut GtkCellRendererToggle,
12483        setting: gboolean,
12484    );
12485    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12486
12487    //=========================================================================
12488    // GtkCellView
12489    //=========================================================================
12490    pub fn gtk_cell_view_get_type() -> GType;
12491    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12492    pub fn gtk_cell_view_new_with_context(
12493        area: *mut GtkCellArea,
12494        context: *mut GtkCellAreaContext,
12495    ) -> *mut GtkWidget;
12496    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12497    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12498    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12499    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12500    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12501    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12502    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12503    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12504    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12505    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12506    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
12507
12508    //=========================================================================
12509    // GtkCenterBox
12510    //=========================================================================
12511    pub fn gtk_center_box_get_type() -> GType;
12512    pub fn gtk_center_box_new() -> *mut GtkWidget;
12513    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
12514    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12515    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12516    #[cfg(feature = "v4_12")]
12517    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12518    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
12519    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12520    pub fn gtk_center_box_set_baseline_position(
12521        self_: *mut GtkCenterBox,
12522        position: GtkBaselinePosition,
12523    );
12524    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12525    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12526    #[cfg(feature = "v4_12")]
12527    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12528    pub fn gtk_center_box_set_shrink_center_last(
12529        self_: *mut GtkCenterBox,
12530        shrink_center_last: gboolean,
12531    );
12532    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12533
12534    //=========================================================================
12535    // GtkCenterLayout
12536    //=========================================================================
12537    pub fn gtk_center_layout_get_type() -> GType;
12538    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
12539    pub fn gtk_center_layout_get_baseline_position(
12540        self_: *mut GtkCenterLayout,
12541    ) -> GtkBaselinePosition;
12542    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12543    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12544    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
12545    #[cfg(feature = "v4_12")]
12546    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12547    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
12548    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12549    pub fn gtk_center_layout_set_baseline_position(
12550        self_: *mut GtkCenterLayout,
12551        baseline_position: GtkBaselinePosition,
12552    );
12553    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12554    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12555    pub fn gtk_center_layout_set_orientation(
12556        self_: *mut GtkCenterLayout,
12557        orientation: GtkOrientation,
12558    );
12559    #[cfg(feature = "v4_12")]
12560    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12561    pub fn gtk_center_layout_set_shrink_center_last(
12562        self_: *mut GtkCenterLayout,
12563        shrink_center_last: gboolean,
12564    );
12565    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12566
12567    //=========================================================================
12568    // GtkCheckButton
12569    //=========================================================================
12570    pub fn gtk_check_button_get_type() -> GType;
12571    pub fn gtk_check_button_new() -> *mut GtkWidget;
12572    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12573    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12574    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
12575    #[cfg(feature = "v4_8")]
12576    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
12577    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
12578    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
12579    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
12580    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
12581    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
12582    #[cfg(feature = "v4_8")]
12583    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
12584    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
12585    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
12586    pub fn gtk_check_button_set_inconsistent(
12587        check_button: *mut GtkCheckButton,
12588        inconsistent: gboolean,
12589    );
12590    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
12591    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
12592
12593    //=========================================================================
12594    // GtkClosureExpression
12595    //=========================================================================
12596    pub fn gtk_closure_expression_get_type() -> GType;
12597    pub fn gtk_closure_expression_new(
12598        value_type: GType,
12599        closure: *mut gobject::GClosure,
12600        n_params: c_uint,
12601        params: *mut *mut GtkExpression,
12602    ) -> *mut GtkClosureExpression;
12603
12604    //=========================================================================
12605    // GtkColorButton
12606    //=========================================================================
12607    pub fn gtk_color_button_get_type() -> GType;
12608    pub fn gtk_color_button_new() -> *mut GtkWidget;
12609    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
12610    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
12611    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
12612    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
12613    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
12614
12615    //=========================================================================
12616    // GtkColorChooserDialog
12617    //=========================================================================
12618    pub fn gtk_color_chooser_dialog_get_type() -> GType;
12619    pub fn gtk_color_chooser_dialog_new(
12620        title: *const c_char,
12621        parent: *mut GtkWindow,
12622    ) -> *mut GtkWidget;
12623
12624    //=========================================================================
12625    // GtkColorChooserWidget
12626    //=========================================================================
12627    pub fn gtk_color_chooser_widget_get_type() -> GType;
12628    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
12629
12630    //=========================================================================
12631    // GtkColorDialog
12632    //=========================================================================
12633    #[cfg(feature = "v4_10")]
12634    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12635    pub fn gtk_color_dialog_get_type() -> GType;
12636    #[cfg(feature = "v4_10")]
12637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12638    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
12639    #[cfg(feature = "v4_10")]
12640    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12641    pub fn gtk_color_dialog_choose_rgba(
12642        self_: *mut GtkColorDialog,
12643        parent: *mut GtkWindow,
12644        initial_color: *const gdk::GdkRGBA,
12645        cancellable: *mut gio::GCancellable,
12646        callback: gio::GAsyncReadyCallback,
12647        user_data: gpointer,
12648    );
12649    #[cfg(feature = "v4_10")]
12650    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12651    pub fn gtk_color_dialog_choose_rgba_finish(
12652        self_: *mut GtkColorDialog,
12653        result: *mut gio::GAsyncResult,
12654        error: *mut *mut glib::GError,
12655    ) -> *mut gdk::GdkRGBA;
12656    #[cfg(feature = "v4_10")]
12657    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12658    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
12659    #[cfg(feature = "v4_10")]
12660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12661    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
12662    #[cfg(feature = "v4_10")]
12663    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12664    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
12665    #[cfg(feature = "v4_10")]
12666    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12667    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
12668    #[cfg(feature = "v4_10")]
12669    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12670    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
12671    #[cfg(feature = "v4_10")]
12672    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12673    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
12674
12675    //=========================================================================
12676    // GtkColorDialogButton
12677    //=========================================================================
12678    #[cfg(feature = "v4_10")]
12679    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12680    pub fn gtk_color_dialog_button_get_type() -> GType;
12681    #[cfg(feature = "v4_10")]
12682    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12683    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
12684    #[cfg(feature = "v4_10")]
12685    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12686    pub fn gtk_color_dialog_button_get_dialog(
12687        self_: *mut GtkColorDialogButton,
12688    ) -> *mut GtkColorDialog;
12689    #[cfg(feature = "v4_10")]
12690    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12691    pub fn gtk_color_dialog_button_get_rgba(
12692        self_: *mut GtkColorDialogButton,
12693    ) -> *const gdk::GdkRGBA;
12694    #[cfg(feature = "v4_10")]
12695    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12696    pub fn gtk_color_dialog_button_set_dialog(
12697        self_: *mut GtkColorDialogButton,
12698        dialog: *mut GtkColorDialog,
12699    );
12700    #[cfg(feature = "v4_10")]
12701    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12702    pub fn gtk_color_dialog_button_set_rgba(
12703        self_: *mut GtkColorDialogButton,
12704        color: *const gdk::GdkRGBA,
12705    );
12706
12707    //=========================================================================
12708    // GtkColumnView
12709    //=========================================================================
12710    pub fn gtk_column_view_get_type() -> GType;
12711    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
12712    pub fn gtk_column_view_append_column(
12713        self_: *mut GtkColumnView,
12714        column: *mut GtkColumnViewColumn,
12715    );
12716    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
12717    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
12718    #[cfg(feature = "v4_12")]
12719    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12720    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
12721        -> *mut GtkListItemFactory;
12722    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
12723    pub fn gtk_column_view_get_reorderable(self_: *mut GtkColumnView) -> gboolean;
12724    #[cfg(feature = "v4_12")]
12725    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12726    pub fn gtk_column_view_get_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
12727    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
12728    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
12729    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
12730    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
12731    #[cfg(feature = "v4_12")]
12732    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12733    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
12734    pub fn gtk_column_view_insert_column(
12735        self_: *mut GtkColumnView,
12736        position: c_uint,
12737        column: *mut GtkColumnViewColumn,
12738    );
12739    pub fn gtk_column_view_remove_column(
12740        self_: *mut GtkColumnView,
12741        column: *mut GtkColumnViewColumn,
12742    );
12743    #[cfg(feature = "v4_12")]
12744    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12745    pub fn gtk_column_view_scroll_to(
12746        self_: *mut GtkColumnView,
12747        pos: c_uint,
12748        column: *mut GtkColumnViewColumn,
12749        flags: GtkListScrollFlags,
12750        scroll: *mut GtkScrollInfo,
12751    );
12752    pub fn gtk_column_view_set_enable_rubberband(
12753        self_: *mut GtkColumnView,
12754        enable_rubberband: gboolean,
12755    );
12756    #[cfg(feature = "v4_12")]
12757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12758    pub fn gtk_column_view_set_header_factory(
12759        self_: *mut GtkColumnView,
12760        factory: *mut GtkListItemFactory,
12761    );
12762    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
12763    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
12764    #[cfg(feature = "v4_12")]
12765    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12766    pub fn gtk_column_view_set_row_factory(
12767        self_: *mut GtkColumnView,
12768        factory: *mut GtkListItemFactory,
12769    );
12770    pub fn gtk_column_view_set_show_column_separators(
12771        self_: *mut GtkColumnView,
12772        show_column_separators: gboolean,
12773    );
12774    pub fn gtk_column_view_set_show_row_separators(
12775        self_: *mut GtkColumnView,
12776        show_row_separators: gboolean,
12777    );
12778    pub fn gtk_column_view_set_single_click_activate(
12779        self_: *mut GtkColumnView,
12780        single_click_activate: gboolean,
12781    );
12782    #[cfg(feature = "v4_12")]
12783    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12784    pub fn gtk_column_view_set_tab_behavior(
12785        self_: *mut GtkColumnView,
12786        tab_behavior: GtkListTabBehavior,
12787    );
12788    pub fn gtk_column_view_sort_by_column(
12789        self_: *mut GtkColumnView,
12790        column: *mut GtkColumnViewColumn,
12791        direction: GtkSortType,
12792    );
12793
12794    //=========================================================================
12795    // GtkColumnViewCell
12796    //=========================================================================
12797    #[cfg(feature = "v4_12")]
12798    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12799    pub fn gtk_column_view_cell_get_type() -> GType;
12800    #[cfg(feature = "v4_12")]
12801    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12802    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
12803    #[cfg(feature = "v4_12")]
12804    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12805    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
12806    #[cfg(feature = "v4_12")]
12807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12808    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
12809    #[cfg(feature = "v4_12")]
12810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12811    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
12812    #[cfg(feature = "v4_12")]
12813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12814    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
12815    #[cfg(feature = "v4_12")]
12816    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12817    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
12818    #[cfg(feature = "v4_12")]
12819    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12820    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
12821
12822    //=========================================================================
12823    // GtkColumnViewColumn
12824    //=========================================================================
12825    pub fn gtk_column_view_column_get_type() -> GType;
12826    pub fn gtk_column_view_column_new(
12827        title: *const c_char,
12828        factory: *mut GtkListItemFactory,
12829    ) -> *mut GtkColumnViewColumn;
12830    pub fn gtk_column_view_column_get_column_view(
12831        self_: *mut GtkColumnViewColumn,
12832    ) -> *mut GtkColumnView;
12833    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
12834    pub fn gtk_column_view_column_get_factory(
12835        self_: *mut GtkColumnViewColumn,
12836    ) -> *mut GtkListItemFactory;
12837    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
12838    pub fn gtk_column_view_column_get_header_menu(
12839        self_: *mut GtkColumnViewColumn,
12840    ) -> *mut gio::GMenuModel;
12841    #[cfg(feature = "v4_10")]
12842    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12843    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
12844    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
12845    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
12846    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
12847    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
12848    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
12849    pub fn gtk_column_view_column_set_factory(
12850        self_: *mut GtkColumnViewColumn,
12851        factory: *mut GtkListItemFactory,
12852    );
12853    pub fn gtk_column_view_column_set_fixed_width(
12854        self_: *mut GtkColumnViewColumn,
12855        fixed_width: c_int,
12856    );
12857    pub fn gtk_column_view_column_set_header_menu(
12858        self_: *mut GtkColumnViewColumn,
12859        menu: *mut gio::GMenuModel,
12860    );
12861    #[cfg(feature = "v4_10")]
12862    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12863    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
12864    pub fn gtk_column_view_column_set_resizable(
12865        self_: *mut GtkColumnViewColumn,
12866        resizable: gboolean,
12867    );
12868    pub fn gtk_column_view_column_set_sorter(
12869        self_: *mut GtkColumnViewColumn,
12870        sorter: *mut GtkSorter,
12871    );
12872    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
12873    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
12874
12875    //=========================================================================
12876    // GtkColumnViewRow
12877    //=========================================================================
12878    #[cfg(feature = "v4_12")]
12879    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12880    pub fn gtk_column_view_row_get_type() -> GType;
12881    #[cfg(feature = "v4_12")]
12882    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12883    pub fn gtk_column_view_row_get_accessible_description(
12884        self_: *mut GtkColumnViewRow,
12885    ) -> *const c_char;
12886    #[cfg(feature = "v4_12")]
12887    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12888    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
12889    #[cfg(feature = "v4_12")]
12890    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12891    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
12892    #[cfg(feature = "v4_12")]
12893    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12894    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
12895    #[cfg(feature = "v4_12")]
12896    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12897    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
12898    #[cfg(feature = "v4_12")]
12899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12900    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
12901    #[cfg(feature = "v4_12")]
12902    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12903    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
12904    #[cfg(feature = "v4_12")]
12905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12906    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
12907    #[cfg(feature = "v4_12")]
12908    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12909    pub fn gtk_column_view_row_set_accessible_description(
12910        self_: *mut GtkColumnViewRow,
12911        description: *const c_char,
12912    );
12913    #[cfg(feature = "v4_12")]
12914    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12915    pub fn gtk_column_view_row_set_accessible_label(
12916        self_: *mut GtkColumnViewRow,
12917        label: *const c_char,
12918    );
12919    #[cfg(feature = "v4_12")]
12920    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12921    pub fn gtk_column_view_row_set_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
12922    #[cfg(feature = "v4_12")]
12923    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12924    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
12925    #[cfg(feature = "v4_12")]
12926    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12927    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
12928
12929    //=========================================================================
12930    // GtkColumnViewSorter
12931    //=========================================================================
12932    #[cfg(feature = "v4_10")]
12933    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12934    pub fn gtk_column_view_sorter_get_type() -> GType;
12935    #[cfg(feature = "v4_10")]
12936    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12937    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
12938    #[cfg(feature = "v4_10")]
12939    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12940    pub fn gtk_column_view_sorter_get_nth_sort_column(
12941        self_: *mut GtkColumnViewSorter,
12942        position: c_uint,
12943        sort_order: *mut GtkSortType,
12944    ) -> *mut GtkColumnViewColumn;
12945    #[cfg(feature = "v4_10")]
12946    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12947    pub fn gtk_column_view_sorter_get_primary_sort_column(
12948        self_: *mut GtkColumnViewSorter,
12949    ) -> *mut GtkColumnViewColumn;
12950    #[cfg(feature = "v4_10")]
12951    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
12952    pub fn gtk_column_view_sorter_get_primary_sort_order(
12953        self_: *mut GtkColumnViewSorter,
12954    ) -> GtkSortType;
12955
12956    //=========================================================================
12957    // GtkComboBox
12958    //=========================================================================
12959    pub fn gtk_combo_box_get_type() -> GType;
12960    pub fn gtk_combo_box_new() -> *mut GtkWidget;
12961    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
12962    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
12963    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
12964    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
12965    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
12966    pub fn gtk_combo_box_get_active_iter(
12967        combo_box: *mut GtkComboBox,
12968        iter: *mut GtkTreeIter,
12969    ) -> gboolean;
12970    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
12971    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
12972    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
12973    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
12974    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
12975    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
12976    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
12977    pub fn gtk_combo_box_get_row_separator_func(
12978        combo_box: *mut GtkComboBox,
12979    ) -> GtkTreeViewRowSeparatorFunc;
12980    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
12981    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
12982    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
12983    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
12984    pub fn gtk_combo_box_set_active_id(
12985        combo_box: *mut GtkComboBox,
12986        active_id: *const c_char,
12987    ) -> gboolean;
12988    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
12989    pub fn gtk_combo_box_set_button_sensitivity(
12990        combo_box: *mut GtkComboBox,
12991        sensitivity: GtkSensitivityType,
12992    );
12993    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
12994    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
12995    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
12996    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
12997    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
12998    pub fn gtk_combo_box_set_row_separator_func(
12999        combo_box: *mut GtkComboBox,
13000        func: GtkTreeViewRowSeparatorFunc,
13001        data: gpointer,
13002        destroy: glib::GDestroyNotify,
13003    );
13004
13005    //=========================================================================
13006    // GtkComboBoxText
13007    //=========================================================================
13008    pub fn gtk_combo_box_text_get_type() -> GType;
13009    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13010    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13011    pub fn gtk_combo_box_text_append(
13012        combo_box: *mut GtkComboBoxText,
13013        id: *const c_char,
13014        text: *const c_char,
13015    );
13016    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13017    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13018    pub fn gtk_combo_box_text_insert(
13019        combo_box: *mut GtkComboBoxText,
13020        position: c_int,
13021        id: *const c_char,
13022        text: *const c_char,
13023    );
13024    pub fn gtk_combo_box_text_insert_text(
13025        combo_box: *mut GtkComboBoxText,
13026        position: c_int,
13027        text: *const c_char,
13028    );
13029    pub fn gtk_combo_box_text_prepend(
13030        combo_box: *mut GtkComboBoxText,
13031        id: *const c_char,
13032        text: *const c_char,
13033    );
13034    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13035    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13036    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13037
13038    //=========================================================================
13039    // GtkConstantExpression
13040    //=========================================================================
13041    pub fn gtk_constant_expression_get_type() -> GType;
13042    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13043    pub fn gtk_constant_expression_new_for_value(
13044        value: *const gobject::GValue,
13045    ) -> *mut GtkConstantExpression;
13046    pub fn gtk_constant_expression_get_value(
13047        expression: *mut GtkConstantExpression,
13048    ) -> *const gobject::GValue;
13049
13050    //=========================================================================
13051    // GtkConstraint
13052    //=========================================================================
13053    pub fn gtk_constraint_get_type() -> GType;
13054    pub fn gtk_constraint_new(
13055        target: *mut GtkConstraintTarget,
13056        target_attribute: GtkConstraintAttribute,
13057        relation: GtkConstraintRelation,
13058        source: *mut GtkConstraintTarget,
13059        source_attribute: GtkConstraintAttribute,
13060        multiplier: c_double,
13061        constant: c_double,
13062        strength: c_int,
13063    ) -> *mut GtkConstraint;
13064    pub fn gtk_constraint_new_constant(
13065        target: *mut GtkConstraintTarget,
13066        target_attribute: GtkConstraintAttribute,
13067        relation: GtkConstraintRelation,
13068        constant: c_double,
13069        strength: c_int,
13070    ) -> *mut GtkConstraint;
13071    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13072    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13073    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13074    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13075    pub fn gtk_constraint_get_source_attribute(
13076        constraint: *mut GtkConstraint,
13077    ) -> GtkConstraintAttribute;
13078    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13079    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13080    pub fn gtk_constraint_get_target_attribute(
13081        constraint: *mut GtkConstraint,
13082    ) -> GtkConstraintAttribute;
13083    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13084    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13085    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13086
13087    //=========================================================================
13088    // GtkConstraintGuide
13089    //=========================================================================
13090    pub fn gtk_constraint_guide_get_type() -> GType;
13091    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13092    pub fn gtk_constraint_guide_get_max_size(
13093        guide: *mut GtkConstraintGuide,
13094        width: *mut c_int,
13095        height: *mut c_int,
13096    );
13097    pub fn gtk_constraint_guide_get_min_size(
13098        guide: *mut GtkConstraintGuide,
13099        width: *mut c_int,
13100        height: *mut c_int,
13101    );
13102    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13103    pub fn gtk_constraint_guide_get_nat_size(
13104        guide: *mut GtkConstraintGuide,
13105        width: *mut c_int,
13106        height: *mut c_int,
13107    );
13108    pub fn gtk_constraint_guide_get_strength(
13109        guide: *mut GtkConstraintGuide,
13110    ) -> GtkConstraintStrength;
13111    pub fn gtk_constraint_guide_set_max_size(
13112        guide: *mut GtkConstraintGuide,
13113        width: c_int,
13114        height: c_int,
13115    );
13116    pub fn gtk_constraint_guide_set_min_size(
13117        guide: *mut GtkConstraintGuide,
13118        width: c_int,
13119        height: c_int,
13120    );
13121    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13122    pub fn gtk_constraint_guide_set_nat_size(
13123        guide: *mut GtkConstraintGuide,
13124        width: c_int,
13125        height: c_int,
13126    );
13127    pub fn gtk_constraint_guide_set_strength(
13128        guide: *mut GtkConstraintGuide,
13129        strength: GtkConstraintStrength,
13130    );
13131
13132    //=========================================================================
13133    // GtkConstraintLayout
13134    //=========================================================================
13135    pub fn gtk_constraint_layout_get_type() -> GType;
13136    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13137    pub fn gtk_constraint_layout_add_constraint(
13138        layout: *mut GtkConstraintLayout,
13139        constraint: *mut GtkConstraint,
13140    );
13141    pub fn gtk_constraint_layout_add_constraints_from_description(
13142        layout: *mut GtkConstraintLayout,
13143        lines: *const *const c_char,
13144        n_lines: size_t,
13145        hspacing: c_int,
13146        vspacing: c_int,
13147        error: *mut *mut glib::GError,
13148        first_view: *const c_char,
13149        ...
13150    ) -> *mut glib::GList;
13151    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13152        layout: *mut GtkConstraintLayout,
13153        lines: *const *const c_char,
13154        n_lines: size_t,
13155        hspacing: c_int,
13156        vspacing: c_int,
13157        views: *mut glib::GHashTable,
13158        error: *mut *mut glib::GError,
13159    ) -> *mut glib::GList;
13160    pub fn gtk_constraint_layout_add_guide(
13161        layout: *mut GtkConstraintLayout,
13162        guide: *mut GtkConstraintGuide,
13163    );
13164    pub fn gtk_constraint_layout_observe_constraints(
13165        layout: *mut GtkConstraintLayout,
13166    ) -> *mut gio::GListModel;
13167    pub fn gtk_constraint_layout_observe_guides(
13168        layout: *mut GtkConstraintLayout,
13169    ) -> *mut gio::GListModel;
13170    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13171    pub fn gtk_constraint_layout_remove_constraint(
13172        layout: *mut GtkConstraintLayout,
13173        constraint: *mut GtkConstraint,
13174    );
13175    pub fn gtk_constraint_layout_remove_guide(
13176        layout: *mut GtkConstraintLayout,
13177        guide: *mut GtkConstraintGuide,
13178    );
13179
13180    //=========================================================================
13181    // GtkConstraintLayoutChild
13182    //=========================================================================
13183    pub fn gtk_constraint_layout_child_get_type() -> GType;
13184
13185    //=========================================================================
13186    // GtkCssProvider
13187    //=========================================================================
13188    pub fn gtk_css_provider_get_type() -> GType;
13189    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13190    #[cfg(feature = "v4_12")]
13191    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13192    pub fn gtk_css_provider_load_from_bytes(
13193        css_provider: *mut GtkCssProvider,
13194        data: *mut glib::GBytes,
13195    );
13196    pub fn gtk_css_provider_load_from_data(
13197        css_provider: *mut GtkCssProvider,
13198        data: *const c_char,
13199        length: ssize_t,
13200    );
13201    pub fn gtk_css_provider_load_from_file(
13202        css_provider: *mut GtkCssProvider,
13203        file: *mut gio::GFile,
13204    );
13205    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13206    pub fn gtk_css_provider_load_from_resource(
13207        css_provider: *mut GtkCssProvider,
13208        resource_path: *const c_char,
13209    );
13210    #[cfg(feature = "v4_12")]
13211    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13212    pub fn gtk_css_provider_load_from_string(
13213        css_provider: *mut GtkCssProvider,
13214        string: *const c_char,
13215    );
13216    pub fn gtk_css_provider_load_named(
13217        provider: *mut GtkCssProvider,
13218        name: *const c_char,
13219        variant: *const c_char,
13220    );
13221    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13222
13223    //=========================================================================
13224    // GtkCustomFilter
13225    //=========================================================================
13226    pub fn gtk_custom_filter_get_type() -> GType;
13227    pub fn gtk_custom_filter_new(
13228        match_func: GtkCustomFilterFunc,
13229        user_data: gpointer,
13230        user_destroy: glib::GDestroyNotify,
13231    ) -> *mut GtkCustomFilter;
13232    pub fn gtk_custom_filter_set_filter_func(
13233        self_: *mut GtkCustomFilter,
13234        match_func: GtkCustomFilterFunc,
13235        user_data: gpointer,
13236        user_destroy: glib::GDestroyNotify,
13237    );
13238
13239    //=========================================================================
13240    // GtkCustomLayout
13241    //=========================================================================
13242    pub fn gtk_custom_layout_get_type() -> GType;
13243    pub fn gtk_custom_layout_new(
13244        request_mode: GtkCustomRequestModeFunc,
13245        measure: GtkCustomMeasureFunc,
13246        allocate: GtkCustomAllocateFunc,
13247    ) -> *mut GtkLayoutManager;
13248
13249    //=========================================================================
13250    // GtkCustomSorter
13251    //=========================================================================
13252    pub fn gtk_custom_sorter_get_type() -> GType;
13253    pub fn gtk_custom_sorter_new(
13254        sort_func: glib::GCompareDataFunc,
13255        user_data: gpointer,
13256        user_destroy: glib::GDestroyNotify,
13257    ) -> *mut GtkCustomSorter;
13258    pub fn gtk_custom_sorter_set_sort_func(
13259        self_: *mut GtkCustomSorter,
13260        sort_func: glib::GCompareDataFunc,
13261        user_data: gpointer,
13262        user_destroy: glib::GDestroyNotify,
13263    );
13264
13265    //=========================================================================
13266    // GtkDialog
13267    //=========================================================================
13268    pub fn gtk_dialog_get_type() -> GType;
13269    pub fn gtk_dialog_new() -> *mut GtkWidget;
13270    pub fn gtk_dialog_new_with_buttons(
13271        title: *const c_char,
13272        parent: *mut GtkWindow,
13273        flags: GtkDialogFlags,
13274        first_button_text: *const c_char,
13275        ...
13276    ) -> *mut GtkWidget;
13277    pub fn gtk_dialog_add_action_widget(
13278        dialog: *mut GtkDialog,
13279        child: *mut GtkWidget,
13280        response_id: GtkResponseType,
13281    );
13282    pub fn gtk_dialog_add_button(
13283        dialog: *mut GtkDialog,
13284        button_text: *const c_char,
13285        response_id: GtkResponseType,
13286    ) -> *mut GtkWidget;
13287    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13288    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13289    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13290    pub fn gtk_dialog_get_response_for_widget(
13291        dialog: *mut GtkDialog,
13292        widget: *mut GtkWidget,
13293    ) -> c_int;
13294    pub fn gtk_dialog_get_widget_for_response(
13295        dialog: *mut GtkDialog,
13296        response_id: GtkResponseType,
13297    ) -> *mut GtkWidget;
13298    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13299    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13300    pub fn gtk_dialog_set_response_sensitive(
13301        dialog: *mut GtkDialog,
13302        response_id: GtkResponseType,
13303        setting: gboolean,
13304    );
13305
13306    //=========================================================================
13307    // GtkDirectoryList
13308    //=========================================================================
13309    pub fn gtk_directory_list_get_type() -> GType;
13310    pub fn gtk_directory_list_new(
13311        attributes: *const c_char,
13312        file: *mut gio::GFile,
13313    ) -> *mut GtkDirectoryList;
13314    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13315    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13316    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13317    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13318    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13319    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13320    pub fn gtk_directory_list_set_attributes(
13321        self_: *mut GtkDirectoryList,
13322        attributes: *const c_char,
13323    );
13324    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13325    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13326    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13327
13328    //=========================================================================
13329    // GtkDragIcon
13330    //=========================================================================
13331    pub fn gtk_drag_icon_get_type() -> GType;
13332    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13333    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13334    pub fn gtk_drag_icon_set_from_paintable(
13335        drag: *mut gdk::GdkDrag,
13336        paintable: *mut gdk::GdkPaintable,
13337        hot_x: c_int,
13338        hot_y: c_int,
13339    );
13340    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13341    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13342
13343    //=========================================================================
13344    // GtkDragSource
13345    //=========================================================================
13346    pub fn gtk_drag_source_get_type() -> GType;
13347    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13348    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13349    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13350    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13351    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13352    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13353    pub fn gtk_drag_source_set_content(
13354        source: *mut GtkDragSource,
13355        content: *mut gdk::GdkContentProvider,
13356    );
13357    pub fn gtk_drag_source_set_icon(
13358        source: *mut GtkDragSource,
13359        paintable: *mut gdk::GdkPaintable,
13360        hot_x: c_int,
13361        hot_y: c_int,
13362    );
13363
13364    //=========================================================================
13365    // GtkDrawingArea
13366    //=========================================================================
13367    pub fn gtk_drawing_area_get_type() -> GType;
13368    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13369    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13370    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13371    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13372    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13373    pub fn gtk_drawing_area_set_draw_func(
13374        self_: *mut GtkDrawingArea,
13375        draw_func: GtkDrawingAreaDrawFunc,
13376        user_data: gpointer,
13377        destroy: glib::GDestroyNotify,
13378    );
13379
13380    //=========================================================================
13381    // GtkDropControllerMotion
13382    //=========================================================================
13383    pub fn gtk_drop_controller_motion_get_type() -> GType;
13384    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13385    pub fn gtk_drop_controller_motion_contains_pointer(
13386        self_: *mut GtkDropControllerMotion,
13387    ) -> gboolean;
13388    pub fn gtk_drop_controller_motion_get_drop(
13389        self_: *mut GtkDropControllerMotion,
13390    ) -> *mut gdk::GdkDrop;
13391    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13392
13393    //=========================================================================
13394    // GtkDropDown
13395    //=========================================================================
13396    pub fn gtk_drop_down_get_type() -> GType;
13397    pub fn gtk_drop_down_new(
13398        model: *mut gio::GListModel,
13399        expression: *mut GtkExpression,
13400    ) -> *mut GtkWidget;
13401    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13402    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13403    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13404    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13405    #[cfg(feature = "v4_12")]
13406    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13407    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13408    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13409    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13410    #[cfg(feature = "v4_12")]
13411    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13412    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13413        -> GtkStringFilterMatchMode;
13414    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13415    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13416    #[cfg(feature = "v4_6")]
13417    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13418    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13419    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13420    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13421    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13422    #[cfg(feature = "v4_12")]
13423    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13424    pub fn gtk_drop_down_set_header_factory(
13425        self_: *mut GtkDropDown,
13426        factory: *mut GtkListItemFactory,
13427    );
13428    pub fn gtk_drop_down_set_list_factory(
13429        self_: *mut GtkDropDown,
13430        factory: *mut GtkListItemFactory,
13431    );
13432    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13433    #[cfg(feature = "v4_12")]
13434    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13435    pub fn gtk_drop_down_set_search_match_mode(
13436        self_: *mut GtkDropDown,
13437        search_match_mode: GtkStringFilterMatchMode,
13438    );
13439    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13440    #[cfg(feature = "v4_6")]
13441    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13442    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13443
13444    //=========================================================================
13445    // GtkDropTarget
13446    //=========================================================================
13447    pub fn gtk_drop_target_get_type() -> GType;
13448    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13449    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13450    #[cfg(feature = "v4_4")]
13451    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13452    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13453    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13454    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13455    pub fn gtk_drop_target_get_gtypes(
13456        self_: *mut GtkDropTarget,
13457        n_types: *mut size_t,
13458    ) -> *const GType;
13459    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13460    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13461    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13462    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13463    pub fn gtk_drop_target_set_gtypes(
13464        self_: *mut GtkDropTarget,
13465        types: *mut GType,
13466        n_types: size_t,
13467    );
13468    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13469
13470    //=========================================================================
13471    // GtkDropTargetAsync
13472    //=========================================================================
13473    pub fn gtk_drop_target_async_get_type() -> GType;
13474    pub fn gtk_drop_target_async_new(
13475        formats: *mut gdk::GdkContentFormats,
13476        actions: gdk::GdkDragAction,
13477    ) -> *mut GtkDropTargetAsync;
13478    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13479    pub fn gtk_drop_target_async_get_formats(
13480        self_: *mut GtkDropTargetAsync,
13481    ) -> *mut gdk::GdkContentFormats;
13482    pub fn gtk_drop_target_async_reject_drop(
13483        self_: *mut GtkDropTargetAsync,
13484        drop: *mut gdk::GdkDrop,
13485    );
13486    pub fn gtk_drop_target_async_set_actions(
13487        self_: *mut GtkDropTargetAsync,
13488        actions: gdk::GdkDragAction,
13489    );
13490    pub fn gtk_drop_target_async_set_formats(
13491        self_: *mut GtkDropTargetAsync,
13492        formats: *mut gdk::GdkContentFormats,
13493    );
13494
13495    //=========================================================================
13496    // GtkEditableLabel
13497    //=========================================================================
13498    pub fn gtk_editable_label_get_type() -> GType;
13499    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13500    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13501    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13502    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13503
13504    //=========================================================================
13505    // GtkEmojiChooser
13506    //=========================================================================
13507    pub fn gtk_emoji_chooser_get_type() -> GType;
13508    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
13509
13510    //=========================================================================
13511    // GtkEntry
13512    //=========================================================================
13513    pub fn gtk_entry_get_type() -> GType;
13514    pub fn gtk_entry_new() -> *mut GtkWidget;
13515    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
13516    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
13517    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
13518    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
13519    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
13520    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
13521    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
13522    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
13523    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
13524    pub fn gtk_entry_get_icon_activatable(
13525        entry: *mut GtkEntry,
13526        icon_pos: GtkEntryIconPosition,
13527    ) -> gboolean;
13528    pub fn gtk_entry_get_icon_area(
13529        entry: *mut GtkEntry,
13530        icon_pos: GtkEntryIconPosition,
13531        icon_area: *mut gdk::GdkRectangle,
13532    );
13533    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
13534    pub fn gtk_entry_get_icon_gicon(
13535        entry: *mut GtkEntry,
13536        icon_pos: GtkEntryIconPosition,
13537    ) -> *mut gio::GIcon;
13538    pub fn gtk_entry_get_icon_name(
13539        entry: *mut GtkEntry,
13540        icon_pos: GtkEntryIconPosition,
13541    ) -> *const c_char;
13542    pub fn gtk_entry_get_icon_paintable(
13543        entry: *mut GtkEntry,
13544        icon_pos: GtkEntryIconPosition,
13545    ) -> *mut gdk::GdkPaintable;
13546    pub fn gtk_entry_get_icon_sensitive(
13547        entry: *mut GtkEntry,
13548        icon_pos: GtkEntryIconPosition,
13549    ) -> gboolean;
13550    pub fn gtk_entry_get_icon_storage_type(
13551        entry: *mut GtkEntry,
13552        icon_pos: GtkEntryIconPosition,
13553    ) -> GtkImageType;
13554    pub fn gtk_entry_get_icon_tooltip_markup(
13555        entry: *mut GtkEntry,
13556        icon_pos: GtkEntryIconPosition,
13557    ) -> *mut c_char;
13558    pub fn gtk_entry_get_icon_tooltip_text(
13559        entry: *mut GtkEntry,
13560        icon_pos: GtkEntryIconPosition,
13561    ) -> *mut c_char;
13562    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
13563    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
13564    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
13565    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
13566    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
13567    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
13568    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
13569    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
13570    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
13571    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
13572    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
13573    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
13574    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
13575    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
13576    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
13577    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
13578    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
13579    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
13580    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
13581    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
13582    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
13583    pub fn gtk_entry_set_icon_activatable(
13584        entry: *mut GtkEntry,
13585        icon_pos: GtkEntryIconPosition,
13586        activatable: gboolean,
13587    );
13588    pub fn gtk_entry_set_icon_drag_source(
13589        entry: *mut GtkEntry,
13590        icon_pos: GtkEntryIconPosition,
13591        provider: *mut gdk::GdkContentProvider,
13592        actions: gdk::GdkDragAction,
13593    );
13594    pub fn gtk_entry_set_icon_from_gicon(
13595        entry: *mut GtkEntry,
13596        icon_pos: GtkEntryIconPosition,
13597        icon: *mut gio::GIcon,
13598    );
13599    pub fn gtk_entry_set_icon_from_icon_name(
13600        entry: *mut GtkEntry,
13601        icon_pos: GtkEntryIconPosition,
13602        icon_name: *const c_char,
13603    );
13604    pub fn gtk_entry_set_icon_from_paintable(
13605        entry: *mut GtkEntry,
13606        icon_pos: GtkEntryIconPosition,
13607        paintable: *mut gdk::GdkPaintable,
13608    );
13609    pub fn gtk_entry_set_icon_sensitive(
13610        entry: *mut GtkEntry,
13611        icon_pos: GtkEntryIconPosition,
13612        sensitive: gboolean,
13613    );
13614    pub fn gtk_entry_set_icon_tooltip_markup(
13615        entry: *mut GtkEntry,
13616        icon_pos: GtkEntryIconPosition,
13617        tooltip: *const c_char,
13618    );
13619    pub fn gtk_entry_set_icon_tooltip_text(
13620        entry: *mut GtkEntry,
13621        icon_pos: GtkEntryIconPosition,
13622        tooltip: *const c_char,
13623    );
13624    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
13625    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
13626    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
13627    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
13628    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
13629    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
13630    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
13631    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
13632    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
13633    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
13634    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
13635
13636    //=========================================================================
13637    // GtkEntryBuffer
13638    //=========================================================================
13639    pub fn gtk_entry_buffer_get_type() -> GType;
13640    pub fn gtk_entry_buffer_new(
13641        initial_chars: *const c_char,
13642        n_initial_chars: c_int,
13643    ) -> *mut GtkEntryBuffer;
13644    pub fn gtk_entry_buffer_delete_text(
13645        buffer: *mut GtkEntryBuffer,
13646        position: c_uint,
13647        n_chars: c_int,
13648    ) -> c_uint;
13649    pub fn gtk_entry_buffer_emit_deleted_text(
13650        buffer: *mut GtkEntryBuffer,
13651        position: c_uint,
13652        n_chars: c_uint,
13653    );
13654    pub fn gtk_entry_buffer_emit_inserted_text(
13655        buffer: *mut GtkEntryBuffer,
13656        position: c_uint,
13657        chars: *const c_char,
13658        n_chars: c_uint,
13659    );
13660    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
13661    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
13662    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
13663    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
13664    pub fn gtk_entry_buffer_insert_text(
13665        buffer: *mut GtkEntryBuffer,
13666        position: c_uint,
13667        chars: *const c_char,
13668        n_chars: c_int,
13669    ) -> c_uint;
13670    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
13671    pub fn gtk_entry_buffer_set_text(
13672        buffer: *mut GtkEntryBuffer,
13673        chars: *const c_char,
13674        n_chars: c_int,
13675    );
13676
13677    //=========================================================================
13678    // GtkEntryCompletion
13679    //=========================================================================
13680    pub fn gtk_entry_completion_get_type() -> GType;
13681    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
13682    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
13683    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
13684    pub fn gtk_entry_completion_compute_prefix(
13685        completion: *mut GtkEntryCompletion,
13686        key: *const c_char,
13687    ) -> *mut c_char;
13688    pub fn gtk_entry_completion_get_completion_prefix(
13689        completion: *mut GtkEntryCompletion,
13690    ) -> *const c_char;
13691    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
13692    pub fn gtk_entry_completion_get_inline_completion(
13693        completion: *mut GtkEntryCompletion,
13694    ) -> gboolean;
13695    pub fn gtk_entry_completion_get_inline_selection(
13696        completion: *mut GtkEntryCompletion,
13697    ) -> gboolean;
13698    pub fn gtk_entry_completion_get_minimum_key_length(
13699        completion: *mut GtkEntryCompletion,
13700    ) -> c_int;
13701    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
13702        -> *mut GtkTreeModel;
13703    pub fn gtk_entry_completion_get_popup_completion(
13704        completion: *mut GtkEntryCompletion,
13705    ) -> gboolean;
13706    pub fn gtk_entry_completion_get_popup_set_width(
13707        completion: *mut GtkEntryCompletion,
13708    ) -> gboolean;
13709    pub fn gtk_entry_completion_get_popup_single_match(
13710        completion: *mut GtkEntryCompletion,
13711    ) -> gboolean;
13712    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
13713    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
13714    pub fn gtk_entry_completion_set_inline_completion(
13715        completion: *mut GtkEntryCompletion,
13716        inline_completion: gboolean,
13717    );
13718    pub fn gtk_entry_completion_set_inline_selection(
13719        completion: *mut GtkEntryCompletion,
13720        inline_selection: gboolean,
13721    );
13722    pub fn gtk_entry_completion_set_match_func(
13723        completion: *mut GtkEntryCompletion,
13724        func: GtkEntryCompletionMatchFunc,
13725        func_data: gpointer,
13726        func_notify: glib::GDestroyNotify,
13727    );
13728    pub fn gtk_entry_completion_set_minimum_key_length(
13729        completion: *mut GtkEntryCompletion,
13730        length: c_int,
13731    );
13732    pub fn gtk_entry_completion_set_model(
13733        completion: *mut GtkEntryCompletion,
13734        model: *mut GtkTreeModel,
13735    );
13736    pub fn gtk_entry_completion_set_popup_completion(
13737        completion: *mut GtkEntryCompletion,
13738        popup_completion: gboolean,
13739    );
13740    pub fn gtk_entry_completion_set_popup_set_width(
13741        completion: *mut GtkEntryCompletion,
13742        popup_set_width: gboolean,
13743    );
13744    pub fn gtk_entry_completion_set_popup_single_match(
13745        completion: *mut GtkEntryCompletion,
13746        popup_single_match: gboolean,
13747    );
13748    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
13749
13750    //=========================================================================
13751    // GtkEventController
13752    //=========================================================================
13753    pub fn gtk_event_controller_get_type() -> GType;
13754    pub fn gtk_event_controller_get_current_event(
13755        controller: *mut GtkEventController,
13756    ) -> *mut gdk::GdkEvent;
13757    pub fn gtk_event_controller_get_current_event_device(
13758        controller: *mut GtkEventController,
13759    ) -> *mut gdk::GdkDevice;
13760    pub fn gtk_event_controller_get_current_event_state(
13761        controller: *mut GtkEventController,
13762    ) -> gdk::GdkModifierType;
13763    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
13764    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
13765    pub fn gtk_event_controller_get_propagation_limit(
13766        controller: *mut GtkEventController,
13767    ) -> GtkPropagationLimit;
13768    pub fn gtk_event_controller_get_propagation_phase(
13769        controller: *mut GtkEventController,
13770    ) -> GtkPropagationPhase;
13771    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
13772    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
13773    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
13774    pub fn gtk_event_controller_set_propagation_limit(
13775        controller: *mut GtkEventController,
13776        limit: GtkPropagationLimit,
13777    );
13778    pub fn gtk_event_controller_set_propagation_phase(
13779        controller: *mut GtkEventController,
13780        phase: GtkPropagationPhase,
13781    );
13782    #[cfg(feature = "v4_8")]
13783    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13784    pub fn gtk_event_controller_set_static_name(
13785        controller: *mut GtkEventController,
13786        name: *const c_char,
13787    );
13788
13789    //=========================================================================
13790    // GtkEventControllerFocus
13791    //=========================================================================
13792    pub fn gtk_event_controller_focus_get_type() -> GType;
13793    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
13794    pub fn gtk_event_controller_focus_contains_focus(
13795        self_: *mut GtkEventControllerFocus,
13796    ) -> gboolean;
13797    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
13798
13799    //=========================================================================
13800    // GtkEventControllerKey
13801    //=========================================================================
13802    pub fn gtk_event_controller_key_get_type() -> GType;
13803    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
13804    pub fn gtk_event_controller_key_forward(
13805        controller: *mut GtkEventControllerKey,
13806        widget: *mut GtkWidget,
13807    ) -> gboolean;
13808    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
13809    pub fn gtk_event_controller_key_get_im_context(
13810        controller: *mut GtkEventControllerKey,
13811    ) -> *mut GtkIMContext;
13812    pub fn gtk_event_controller_key_set_im_context(
13813        controller: *mut GtkEventControllerKey,
13814        im_context: *mut GtkIMContext,
13815    );
13816
13817    //=========================================================================
13818    // GtkEventControllerLegacy
13819    //=========================================================================
13820    pub fn gtk_event_controller_legacy_get_type() -> GType;
13821    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
13822
13823    //=========================================================================
13824    // GtkEventControllerMotion
13825    //=========================================================================
13826    pub fn gtk_event_controller_motion_get_type() -> GType;
13827    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
13828    pub fn gtk_event_controller_motion_contains_pointer(
13829        self_: *mut GtkEventControllerMotion,
13830    ) -> gboolean;
13831    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
13832        -> gboolean;
13833
13834    //=========================================================================
13835    // GtkEventControllerScroll
13836    //=========================================================================
13837    pub fn gtk_event_controller_scroll_get_type() -> GType;
13838    pub fn gtk_event_controller_scroll_new(
13839        flags: GtkEventControllerScrollFlags,
13840    ) -> *mut GtkEventController;
13841    pub fn gtk_event_controller_scroll_get_flags(
13842        scroll: *mut GtkEventControllerScroll,
13843    ) -> GtkEventControllerScrollFlags;
13844    #[cfg(feature = "v4_8")]
13845    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13846    pub fn gtk_event_controller_scroll_get_unit(
13847        scroll: *mut GtkEventControllerScroll,
13848    ) -> gdk::GdkScrollUnit;
13849    pub fn gtk_event_controller_scroll_set_flags(
13850        scroll: *mut GtkEventControllerScroll,
13851        flags: GtkEventControllerScrollFlags,
13852    );
13853
13854    //=========================================================================
13855    // GtkEveryFilter
13856    //=========================================================================
13857    pub fn gtk_every_filter_get_type() -> GType;
13858    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
13859
13860    //=========================================================================
13861    // GtkExpander
13862    //=========================================================================
13863    pub fn gtk_expander_get_type() -> GType;
13864    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
13865    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13866    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
13867    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
13868    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
13869    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
13870    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
13871    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
13872    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
13873    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
13874    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
13875    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
13876    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
13877    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
13878    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
13879    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
13880
13881    //=========================================================================
13882    // GtkExpression
13883    //=========================================================================
13884    pub fn gtk_expression_get_type() -> GType;
13885    pub fn gtk_expression_bind(
13886        self_: *mut GtkExpression,
13887        target: *mut gobject::GObject,
13888        property: *const c_char,
13889        this_: *mut gobject::GObject,
13890    ) -> *mut GtkExpressionWatch;
13891    pub fn gtk_expression_evaluate(
13892        self_: *mut GtkExpression,
13893        this_: *mut gobject::GObject,
13894        value: *mut gobject::GValue,
13895    ) -> gboolean;
13896    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
13897    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
13898    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
13899    pub fn gtk_expression_unref(self_: *mut GtkExpression);
13900    pub fn gtk_expression_watch(
13901        self_: *mut GtkExpression,
13902        this_: *mut gobject::GObject,
13903        notify: GtkExpressionNotify,
13904        user_data: gpointer,
13905        user_destroy: glib::GDestroyNotify,
13906    ) -> *mut GtkExpressionWatch;
13907
13908    //=========================================================================
13909    // GtkFileChooserDialog
13910    //=========================================================================
13911    pub fn gtk_file_chooser_dialog_get_type() -> GType;
13912    pub fn gtk_file_chooser_dialog_new(
13913        title: *const c_char,
13914        parent: *mut GtkWindow,
13915        action: GtkFileChooserAction,
13916        first_button_text: *const c_char,
13917        ...
13918    ) -> *mut GtkWidget;
13919
13920    //=========================================================================
13921    // GtkFileChooserNative
13922    //=========================================================================
13923    pub fn gtk_file_chooser_native_get_type() -> GType;
13924    pub fn gtk_file_chooser_native_new(
13925        title: *const c_char,
13926        parent: *mut GtkWindow,
13927        action: GtkFileChooserAction,
13928        accept_label: *const c_char,
13929        cancel_label: *const c_char,
13930    ) -> *mut GtkFileChooserNative;
13931    pub fn gtk_file_chooser_native_get_accept_label(
13932        self_: *mut GtkFileChooserNative,
13933    ) -> *const c_char;
13934    pub fn gtk_file_chooser_native_get_cancel_label(
13935        self_: *mut GtkFileChooserNative,
13936    ) -> *const c_char;
13937    pub fn gtk_file_chooser_native_set_accept_label(
13938        self_: *mut GtkFileChooserNative,
13939        accept_label: *const c_char,
13940    );
13941    pub fn gtk_file_chooser_native_set_cancel_label(
13942        self_: *mut GtkFileChooserNative,
13943        cancel_label: *const c_char,
13944    );
13945
13946    //=========================================================================
13947    // GtkFileChooserWidget
13948    //=========================================================================
13949    pub fn gtk_file_chooser_widget_get_type() -> GType;
13950    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
13951
13952    //=========================================================================
13953    // GtkFileDialog
13954    //=========================================================================
13955    #[cfg(feature = "v4_10")]
13956    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13957    pub fn gtk_file_dialog_get_type() -> GType;
13958    #[cfg(feature = "v4_10")]
13959    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13960    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
13961    #[cfg(feature = "v4_10")]
13962    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13963    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
13964    #[cfg(feature = "v4_10")]
13965    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13966    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
13967    #[cfg(feature = "v4_10")]
13968    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13969    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
13970    #[cfg(feature = "v4_10")]
13971    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13972    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
13973    #[cfg(feature = "v4_10")]
13974    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13975    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
13976    #[cfg(feature = "v4_10")]
13977    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13978    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
13979    #[cfg(feature = "v4_10")]
13980    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13981    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
13982    #[cfg(feature = "v4_10")]
13983    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13984    pub fn gtk_file_dialog_get_title(self_: *mut GtkFileDialog) -> *const c_char;
13985    #[cfg(feature = "v4_10")]
13986    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13987    pub fn gtk_file_dialog_open(
13988        self_: *mut GtkFileDialog,
13989        parent: *mut GtkWindow,
13990        cancellable: *mut gio::GCancellable,
13991        callback: gio::GAsyncReadyCallback,
13992        user_data: gpointer,
13993    );
13994    #[cfg(feature = "v4_10")]
13995    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13996    pub fn gtk_file_dialog_open_finish(
13997        self_: *mut GtkFileDialog,
13998        result: *mut gio::GAsyncResult,
13999        error: *mut *mut glib::GError,
14000    ) -> *mut gio::GFile;
14001    #[cfg(feature = "v4_10")]
14002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14003    pub fn gtk_file_dialog_open_multiple(
14004        self_: *mut GtkFileDialog,
14005        parent: *mut GtkWindow,
14006        cancellable: *mut gio::GCancellable,
14007        callback: gio::GAsyncReadyCallback,
14008        user_data: gpointer,
14009    );
14010    #[cfg(feature = "v4_10")]
14011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14012    pub fn gtk_file_dialog_open_multiple_finish(
14013        self_: *mut GtkFileDialog,
14014        result: *mut gio::GAsyncResult,
14015        error: *mut *mut glib::GError,
14016    ) -> *mut gio::GListModel;
14017    #[cfg(feature = "v4_18")]
14018    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14019    pub fn gtk_file_dialog_open_multiple_text_files(
14020        self_: *mut GtkFileDialog,
14021        parent: *mut GtkWindow,
14022        cancellable: *mut gio::GCancellable,
14023        callback: gio::GAsyncReadyCallback,
14024        user_data: gpointer,
14025    );
14026    #[cfg(feature = "v4_18")]
14027    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14028    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14029        self_: *mut GtkFileDialog,
14030        result: *mut gio::GAsyncResult,
14031        encoding: *mut *const c_char,
14032        error: *mut *mut glib::GError,
14033    ) -> *mut gio::GListModel;
14034    #[cfg(feature = "v4_18")]
14035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14036    pub fn gtk_file_dialog_open_text_file(
14037        self_: *mut GtkFileDialog,
14038        parent: *mut GtkWindow,
14039        cancellable: *mut gio::GCancellable,
14040        callback: gio::GAsyncReadyCallback,
14041        user_data: gpointer,
14042    );
14043    #[cfg(feature = "v4_18")]
14044    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14045    pub fn gtk_file_dialog_open_text_file_finish(
14046        self_: *mut GtkFileDialog,
14047        result: *mut gio::GAsyncResult,
14048        encoding: *mut *const c_char,
14049        error: *mut *mut glib::GError,
14050    ) -> *mut gio::GFile;
14051    #[cfg(feature = "v4_10")]
14052    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14053    pub fn gtk_file_dialog_save(
14054        self_: *mut GtkFileDialog,
14055        parent: *mut GtkWindow,
14056        cancellable: *mut gio::GCancellable,
14057        callback: gio::GAsyncReadyCallback,
14058        user_data: gpointer,
14059    );
14060    #[cfg(feature = "v4_10")]
14061    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14062    pub fn gtk_file_dialog_save_finish(
14063        self_: *mut GtkFileDialog,
14064        result: *mut gio::GAsyncResult,
14065        error: *mut *mut glib::GError,
14066    ) -> *mut gio::GFile;
14067    #[cfg(feature = "v4_18")]
14068    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14069    pub fn gtk_file_dialog_save_text_file(
14070        self_: *mut GtkFileDialog,
14071        parent: *mut GtkWindow,
14072        cancellable: *mut gio::GCancellable,
14073        callback: gio::GAsyncReadyCallback,
14074        user_data: gpointer,
14075    );
14076    #[cfg(feature = "v4_18")]
14077    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14078    pub fn gtk_file_dialog_save_text_file_finish(
14079        self_: *mut GtkFileDialog,
14080        result: *mut gio::GAsyncResult,
14081        encoding: *mut *const c_char,
14082        line_ending: *mut *const c_char,
14083        error: *mut *mut glib::GError,
14084    ) -> *mut gio::GFile;
14085    #[cfg(feature = "v4_10")]
14086    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14087    pub fn gtk_file_dialog_select_folder(
14088        self_: *mut GtkFileDialog,
14089        parent: *mut GtkWindow,
14090        cancellable: *mut gio::GCancellable,
14091        callback: gio::GAsyncReadyCallback,
14092        user_data: gpointer,
14093    );
14094    #[cfg(feature = "v4_10")]
14095    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14096    pub fn gtk_file_dialog_select_folder_finish(
14097        self_: *mut GtkFileDialog,
14098        result: *mut gio::GAsyncResult,
14099        error: *mut *mut glib::GError,
14100    ) -> *mut gio::GFile;
14101    #[cfg(feature = "v4_10")]
14102    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14103    pub fn gtk_file_dialog_select_multiple_folders(
14104        self_: *mut GtkFileDialog,
14105        parent: *mut GtkWindow,
14106        cancellable: *mut gio::GCancellable,
14107        callback: gio::GAsyncReadyCallback,
14108        user_data: gpointer,
14109    );
14110    #[cfg(feature = "v4_10")]
14111    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14112    pub fn gtk_file_dialog_select_multiple_folders_finish(
14113        self_: *mut GtkFileDialog,
14114        result: *mut gio::GAsyncResult,
14115        error: *mut *mut glib::GError,
14116    ) -> *mut gio::GListModel;
14117    #[cfg(feature = "v4_10")]
14118    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14119    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14120    #[cfg(feature = "v4_10")]
14121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14122    pub fn gtk_file_dialog_set_default_filter(
14123        self_: *mut GtkFileDialog,
14124        filter: *mut GtkFileFilter,
14125    );
14126    #[cfg(feature = "v4_10")]
14127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14128    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14129    #[cfg(feature = "v4_10")]
14130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14131    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14132    #[cfg(feature = "v4_10")]
14133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14134    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14135    #[cfg(feature = "v4_10")]
14136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14137    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14138    #[cfg(feature = "v4_10")]
14139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14140    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14141    #[cfg(feature = "v4_10")]
14142    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14143    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14144
14145    //=========================================================================
14146    // GtkFileFilter
14147    //=========================================================================
14148    pub fn gtk_file_filter_get_type() -> GType;
14149    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14150    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14151    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14152    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14153    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14154    #[cfg(feature = "v4_4")]
14155    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14156    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14157    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14158    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14159    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14160    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14161
14162    //=========================================================================
14163    // GtkFileLauncher
14164    //=========================================================================
14165    #[cfg(feature = "v4_10")]
14166    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14167    pub fn gtk_file_launcher_get_type() -> GType;
14168    #[cfg(feature = "v4_10")]
14169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14170    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14171    #[cfg(feature = "v4_12")]
14172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14173    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14174    #[cfg(feature = "v4_10")]
14175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14176    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14177    #[cfg(feature = "v4_14")]
14178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14179    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14180    #[cfg(feature = "v4_10")]
14181    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14182    pub fn gtk_file_launcher_launch(
14183        self_: *mut GtkFileLauncher,
14184        parent: *mut GtkWindow,
14185        cancellable: *mut gio::GCancellable,
14186        callback: gio::GAsyncReadyCallback,
14187        user_data: gpointer,
14188    );
14189    #[cfg(feature = "v4_10")]
14190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14191    pub fn gtk_file_launcher_launch_finish(
14192        self_: *mut GtkFileLauncher,
14193        result: *mut gio::GAsyncResult,
14194        error: *mut *mut glib::GError,
14195    ) -> gboolean;
14196    #[cfg(feature = "v4_10")]
14197    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14198    pub fn gtk_file_launcher_open_containing_folder(
14199        self_: *mut GtkFileLauncher,
14200        parent: *mut GtkWindow,
14201        cancellable: *mut gio::GCancellable,
14202        callback: gio::GAsyncReadyCallback,
14203        user_data: gpointer,
14204    );
14205    #[cfg(feature = "v4_10")]
14206    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14207    pub fn gtk_file_launcher_open_containing_folder_finish(
14208        self_: *mut GtkFileLauncher,
14209        result: *mut gio::GAsyncResult,
14210        error: *mut *mut glib::GError,
14211    ) -> gboolean;
14212    #[cfg(feature = "v4_12")]
14213    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14214    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14215    #[cfg(feature = "v4_10")]
14216    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14217    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14218    #[cfg(feature = "v4_14")]
14219    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14220    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14221
14222    //=========================================================================
14223    // GtkFilter
14224    //=========================================================================
14225    pub fn gtk_filter_get_type() -> GType;
14226    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14227    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14228    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14229
14230    //=========================================================================
14231    // GtkFilterListModel
14232    //=========================================================================
14233    pub fn gtk_filter_list_model_get_type() -> GType;
14234    pub fn gtk_filter_list_model_new(
14235        model: *mut gio::GListModel,
14236        filter: *mut GtkFilter,
14237    ) -> *mut GtkFilterListModel;
14238    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14239    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14240    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14241    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14242    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14243    pub fn gtk_filter_list_model_set_incremental(
14244        self_: *mut GtkFilterListModel,
14245        incremental: gboolean,
14246    );
14247    pub fn gtk_filter_list_model_set_model(
14248        self_: *mut GtkFilterListModel,
14249        model: *mut gio::GListModel,
14250    );
14251
14252    //=========================================================================
14253    // GtkFixed
14254    //=========================================================================
14255    pub fn gtk_fixed_get_type() -> GType;
14256    pub fn gtk_fixed_new() -> *mut GtkWidget;
14257    pub fn gtk_fixed_get_child_position(
14258        fixed: *mut GtkFixed,
14259        widget: *mut GtkWidget,
14260        x: *mut c_double,
14261        y: *mut c_double,
14262    );
14263    pub fn gtk_fixed_get_child_transform(
14264        fixed: *mut GtkFixed,
14265        widget: *mut GtkWidget,
14266    ) -> *mut gsk::GskTransform;
14267    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14268    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14269    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14270    pub fn gtk_fixed_set_child_transform(
14271        fixed: *mut GtkFixed,
14272        widget: *mut GtkWidget,
14273        transform: *mut gsk::GskTransform,
14274    );
14275
14276    //=========================================================================
14277    // GtkFixedLayout
14278    //=========================================================================
14279    pub fn gtk_fixed_layout_get_type() -> GType;
14280    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14281
14282    //=========================================================================
14283    // GtkFixedLayoutChild
14284    //=========================================================================
14285    pub fn gtk_fixed_layout_child_get_type() -> GType;
14286    pub fn gtk_fixed_layout_child_get_transform(
14287        child: *mut GtkFixedLayoutChild,
14288    ) -> *mut gsk::GskTransform;
14289    pub fn gtk_fixed_layout_child_set_transform(
14290        child: *mut GtkFixedLayoutChild,
14291        transform: *mut gsk::GskTransform,
14292    );
14293
14294    //=========================================================================
14295    // GtkFlattenListModel
14296    //=========================================================================
14297    pub fn gtk_flatten_list_model_get_type() -> GType;
14298    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14299    pub fn gtk_flatten_list_model_get_model(
14300        self_: *mut GtkFlattenListModel,
14301    ) -> *mut gio::GListModel;
14302    pub fn gtk_flatten_list_model_get_model_for_item(
14303        self_: *mut GtkFlattenListModel,
14304        position: c_uint,
14305    ) -> *mut gio::GListModel;
14306    pub fn gtk_flatten_list_model_set_model(
14307        self_: *mut GtkFlattenListModel,
14308        model: *mut gio::GListModel,
14309    );
14310
14311    //=========================================================================
14312    // GtkFlowBox
14313    //=========================================================================
14314    pub fn gtk_flow_box_get_type() -> GType;
14315    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14316    #[cfg(feature = "v4_6")]
14317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14318    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14319    pub fn gtk_flow_box_bind_model(
14320        box_: *mut GtkFlowBox,
14321        model: *mut gio::GListModel,
14322        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14323        user_data: gpointer,
14324        user_data_free_func: glib::GDestroyNotify,
14325    );
14326    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14327    pub fn gtk_flow_box_get_child_at_index(
14328        box_: *mut GtkFlowBox,
14329        idx: c_int,
14330    ) -> *mut GtkFlowBoxChild;
14331    pub fn gtk_flow_box_get_child_at_pos(
14332        box_: *mut GtkFlowBox,
14333        x: c_int,
14334        y: c_int,
14335    ) -> *mut GtkFlowBoxChild;
14336    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14337    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14338    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14339    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14340    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14341    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14342    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14343    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14344    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14345    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14346    #[cfg(feature = "v4_6")]
14347    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14348    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14349    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14350    #[cfg(feature = "v4_12")]
14351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14352    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14353    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14354    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14355    pub fn gtk_flow_box_selected_foreach(
14356        box_: *mut GtkFlowBox,
14357        func: GtkFlowBoxForeachFunc,
14358        data: gpointer,
14359    );
14360    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14361    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14362    pub fn gtk_flow_box_set_filter_func(
14363        box_: *mut GtkFlowBox,
14364        filter_func: GtkFlowBoxFilterFunc,
14365        user_data: gpointer,
14366        destroy: glib::GDestroyNotify,
14367    );
14368    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14369    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14370    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14371    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14372    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14373    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14374    pub fn gtk_flow_box_set_sort_func(
14375        box_: *mut GtkFlowBox,
14376        sort_func: GtkFlowBoxSortFunc,
14377        user_data: gpointer,
14378        destroy: glib::GDestroyNotify,
14379    );
14380    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14381    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14382    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14383
14384    //=========================================================================
14385    // GtkFlowBoxChild
14386    //=========================================================================
14387    pub fn gtk_flow_box_child_get_type() -> GType;
14388    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14389    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14390    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14391    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14392    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14393    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14394
14395    //=========================================================================
14396    // GtkFontButton
14397    //=========================================================================
14398    pub fn gtk_font_button_get_type() -> GType;
14399    pub fn gtk_font_button_new() -> *mut GtkWidget;
14400    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14401    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14402    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14403    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14404    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14405    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14406    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14407    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14408    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14409
14410    //=========================================================================
14411    // GtkFontChooserDialog
14412    //=========================================================================
14413    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14414    pub fn gtk_font_chooser_dialog_new(
14415        title: *const c_char,
14416        parent: *mut GtkWindow,
14417    ) -> *mut GtkWidget;
14418
14419    //=========================================================================
14420    // GtkFontChooserWidget
14421    //=========================================================================
14422    pub fn gtk_font_chooser_widget_get_type() -> GType;
14423    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14424
14425    //=========================================================================
14426    // GtkFontDialog
14427    //=========================================================================
14428    #[cfg(feature = "v4_10")]
14429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14430    pub fn gtk_font_dialog_get_type() -> GType;
14431    #[cfg(feature = "v4_10")]
14432    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14433    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14434    #[cfg(feature = "v4_10")]
14435    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14436    pub fn gtk_font_dialog_choose_face(
14437        self_: *mut GtkFontDialog,
14438        parent: *mut GtkWindow,
14439        initial_value: *mut pango::PangoFontFace,
14440        cancellable: *mut gio::GCancellable,
14441        callback: gio::GAsyncReadyCallback,
14442        user_data: gpointer,
14443    );
14444    #[cfg(feature = "v4_10")]
14445    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14446    pub fn gtk_font_dialog_choose_face_finish(
14447        self_: *mut GtkFontDialog,
14448        result: *mut gio::GAsyncResult,
14449        error: *mut *mut glib::GError,
14450    ) -> *mut pango::PangoFontFace;
14451    #[cfg(feature = "v4_10")]
14452    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14453    pub fn gtk_font_dialog_choose_family(
14454        self_: *mut GtkFontDialog,
14455        parent: *mut GtkWindow,
14456        initial_value: *mut pango::PangoFontFamily,
14457        cancellable: *mut gio::GCancellable,
14458        callback: gio::GAsyncReadyCallback,
14459        user_data: gpointer,
14460    );
14461    #[cfg(feature = "v4_10")]
14462    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14463    pub fn gtk_font_dialog_choose_family_finish(
14464        self_: *mut GtkFontDialog,
14465        result: *mut gio::GAsyncResult,
14466        error: *mut *mut glib::GError,
14467    ) -> *mut pango::PangoFontFamily;
14468    #[cfg(feature = "v4_10")]
14469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14470    pub fn gtk_font_dialog_choose_font(
14471        self_: *mut GtkFontDialog,
14472        parent: *mut GtkWindow,
14473        initial_value: *mut pango::PangoFontDescription,
14474        cancellable: *mut gio::GCancellable,
14475        callback: gio::GAsyncReadyCallback,
14476        user_data: gpointer,
14477    );
14478    #[cfg(feature = "v4_10")]
14479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14480    pub fn gtk_font_dialog_choose_font_and_features(
14481        self_: *mut GtkFontDialog,
14482        parent: *mut GtkWindow,
14483        initial_value: *mut pango::PangoFontDescription,
14484        cancellable: *mut gio::GCancellable,
14485        callback: gio::GAsyncReadyCallback,
14486        user_data: gpointer,
14487    );
14488    #[cfg(feature = "v4_10")]
14489    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14490    pub fn gtk_font_dialog_choose_font_and_features_finish(
14491        self_: *mut GtkFontDialog,
14492        result: *mut gio::GAsyncResult,
14493        font_desc: *mut *mut pango::PangoFontDescription,
14494        font_features: *mut *mut c_char,
14495        language: *mut *mut pango::PangoLanguage,
14496        error: *mut *mut glib::GError,
14497    ) -> gboolean;
14498    #[cfg(feature = "v4_10")]
14499    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14500    pub fn gtk_font_dialog_choose_font_finish(
14501        self_: *mut GtkFontDialog,
14502        result: *mut gio::GAsyncResult,
14503        error: *mut *mut glib::GError,
14504    ) -> *mut pango::PangoFontDescription;
14505    #[cfg(feature = "v4_10")]
14506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14507    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
14508    #[cfg(feature = "v4_10")]
14509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14510    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
14511    #[cfg(feature = "v4_10")]
14512    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14513    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
14514    #[cfg(feature = "v4_10")]
14515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14516    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
14517    #[cfg(feature = "v4_10")]
14518    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14519    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
14520    #[cfg(feature = "v4_10")]
14521    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14522    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
14523    #[cfg(feature = "v4_10")]
14524    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14525    pub fn gtk_font_dialog_set_font_map(
14526        self_: *mut GtkFontDialog,
14527        fontmap: *mut pango::PangoFontMap,
14528    );
14529    #[cfg(feature = "v4_10")]
14530    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14531    pub fn gtk_font_dialog_set_language(
14532        self_: *mut GtkFontDialog,
14533        language: *mut pango::PangoLanguage,
14534    );
14535    #[cfg(feature = "v4_10")]
14536    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14537    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
14538    #[cfg(feature = "v4_10")]
14539    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14540    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
14541
14542    //=========================================================================
14543    // GtkFontDialogButton
14544    //=========================================================================
14545    #[cfg(feature = "v4_10")]
14546    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14547    pub fn gtk_font_dialog_button_get_type() -> GType;
14548    #[cfg(feature = "v4_10")]
14549    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14550    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
14551    #[cfg(feature = "v4_10")]
14552    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14553    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
14554        -> *mut GtkFontDialog;
14555    #[cfg(feature = "v4_10")]
14556    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14557    pub fn gtk_font_dialog_button_get_font_desc(
14558        self_: *mut GtkFontDialogButton,
14559    ) -> *mut pango::PangoFontDescription;
14560    #[cfg(feature = "v4_10")]
14561    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14562    pub fn gtk_font_dialog_button_get_font_features(
14563        self_: *mut GtkFontDialogButton,
14564    ) -> *const c_char;
14565    #[cfg(feature = "v4_10")]
14566    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14567    pub fn gtk_font_dialog_button_get_language(
14568        self_: *mut GtkFontDialogButton,
14569    ) -> *mut pango::PangoLanguage;
14570    #[cfg(feature = "v4_10")]
14571    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14572    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
14573    #[cfg(feature = "v4_10")]
14574    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14575    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
14576    #[cfg(feature = "v4_10")]
14577    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14578    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
14579    #[cfg(feature = "v4_10")]
14580    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14581    pub fn gtk_font_dialog_button_set_dialog(
14582        self_: *mut GtkFontDialogButton,
14583        dialog: *mut GtkFontDialog,
14584    );
14585    #[cfg(feature = "v4_10")]
14586    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14587    pub fn gtk_font_dialog_button_set_font_desc(
14588        self_: *mut GtkFontDialogButton,
14589        font_desc: *const pango::PangoFontDescription,
14590    );
14591    #[cfg(feature = "v4_10")]
14592    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14593    pub fn gtk_font_dialog_button_set_font_features(
14594        self_: *mut GtkFontDialogButton,
14595        font_features: *const c_char,
14596    );
14597    #[cfg(feature = "v4_10")]
14598    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14599    pub fn gtk_font_dialog_button_set_language(
14600        self_: *mut GtkFontDialogButton,
14601        language: *mut pango::PangoLanguage,
14602    );
14603    #[cfg(feature = "v4_10")]
14604    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14605    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
14606    #[cfg(feature = "v4_10")]
14607    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14608    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
14609    #[cfg(feature = "v4_10")]
14610    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14611    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
14612
14613    //=========================================================================
14614    // GtkFrame
14615    //=========================================================================
14616    pub fn gtk_frame_get_type() -> GType;
14617    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
14618    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
14619    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
14620    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
14621    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
14622    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
14623    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
14624    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
14625    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
14626
14627    //=========================================================================
14628    // GtkGLArea
14629    //=========================================================================
14630    pub fn gtk_gl_area_get_type() -> GType;
14631    pub fn gtk_gl_area_new() -> *mut GtkWidget;
14632    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
14633    #[cfg(feature = "v4_12")]
14634    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14635    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
14636    #[cfg(feature = "v4_12")]
14637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14638    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
14639    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
14640    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
14641    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
14642    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
14643    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
14644    pub fn gtk_gl_area_get_required_version(
14645        area: *mut GtkGLArea,
14646        major: *mut c_int,
14647        minor: *mut c_int,
14648    );
14649    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
14650    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
14651    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
14652    #[cfg(feature = "v4_12")]
14653    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14654    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
14655    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
14656    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
14657    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
14658    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
14659    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
14660    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
14661
14662    //=========================================================================
14663    // GtkGesture
14664    //=========================================================================
14665    pub fn gtk_gesture_get_type() -> GType;
14666    pub fn gtk_gesture_get_bounding_box(
14667        gesture: *mut GtkGesture,
14668        rect: *mut gdk::GdkRectangle,
14669    ) -> gboolean;
14670    pub fn gtk_gesture_get_bounding_box_center(
14671        gesture: *mut GtkGesture,
14672        x: *mut c_double,
14673        y: *mut c_double,
14674    ) -> gboolean;
14675    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
14676    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
14677    pub fn gtk_gesture_get_last_event(
14678        gesture: *mut GtkGesture,
14679        sequence: *mut gdk::GdkEventSequence,
14680    ) -> *mut gdk::GdkEvent;
14681    pub fn gtk_gesture_get_last_updated_sequence(
14682        gesture: *mut GtkGesture,
14683    ) -> *mut gdk::GdkEventSequence;
14684    pub fn gtk_gesture_get_point(
14685        gesture: *mut GtkGesture,
14686        sequence: *mut gdk::GdkEventSequence,
14687        x: *mut c_double,
14688        y: *mut c_double,
14689    ) -> gboolean;
14690    pub fn gtk_gesture_get_sequence_state(
14691        gesture: *mut GtkGesture,
14692        sequence: *mut gdk::GdkEventSequence,
14693    ) -> GtkEventSequenceState;
14694    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
14695    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
14696    pub fn gtk_gesture_handles_sequence(
14697        gesture: *mut GtkGesture,
14698        sequence: *mut gdk::GdkEventSequence,
14699    ) -> gboolean;
14700    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
14701    pub fn gtk_gesture_is_grouped_with(
14702        gesture: *mut GtkGesture,
14703        other: *mut GtkGesture,
14704    ) -> gboolean;
14705    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
14706    pub fn gtk_gesture_set_sequence_state(
14707        gesture: *mut GtkGesture,
14708        sequence: *mut gdk::GdkEventSequence,
14709        state: GtkEventSequenceState,
14710    ) -> gboolean;
14711    pub fn gtk_gesture_set_state(
14712        gesture: *mut GtkGesture,
14713        state: GtkEventSequenceState,
14714    ) -> gboolean;
14715    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
14716
14717    //=========================================================================
14718    // GtkGestureClick
14719    //=========================================================================
14720    pub fn gtk_gesture_click_get_type() -> GType;
14721    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
14722
14723    //=========================================================================
14724    // GtkGestureDrag
14725    //=========================================================================
14726    pub fn gtk_gesture_drag_get_type() -> GType;
14727    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
14728    pub fn gtk_gesture_drag_get_offset(
14729        gesture: *mut GtkGestureDrag,
14730        x: *mut c_double,
14731        y: *mut c_double,
14732    ) -> gboolean;
14733    pub fn gtk_gesture_drag_get_start_point(
14734        gesture: *mut GtkGestureDrag,
14735        x: *mut c_double,
14736        y: *mut c_double,
14737    ) -> gboolean;
14738
14739    //=========================================================================
14740    // GtkGestureLongPress
14741    //=========================================================================
14742    pub fn gtk_gesture_long_press_get_type() -> GType;
14743    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
14744    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
14745    pub fn gtk_gesture_long_press_set_delay_factor(
14746        gesture: *mut GtkGestureLongPress,
14747        delay_factor: c_double,
14748    );
14749
14750    //=========================================================================
14751    // GtkGesturePan
14752    //=========================================================================
14753    pub fn gtk_gesture_pan_get_type() -> GType;
14754    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
14755    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
14756    pub fn gtk_gesture_pan_set_orientation(
14757        gesture: *mut GtkGesturePan,
14758        orientation: GtkOrientation,
14759    );
14760
14761    //=========================================================================
14762    // GtkGestureRotate
14763    //=========================================================================
14764    pub fn gtk_gesture_rotate_get_type() -> GType;
14765    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
14766    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
14767
14768    //=========================================================================
14769    // GtkGestureSingle
14770    //=========================================================================
14771    pub fn gtk_gesture_single_get_type() -> GType;
14772    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
14773    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
14774    pub fn gtk_gesture_single_get_current_sequence(
14775        gesture: *mut GtkGestureSingle,
14776    ) -> *mut gdk::GdkEventSequence;
14777    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
14778    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
14779    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
14780    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
14781    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
14782
14783    //=========================================================================
14784    // GtkGestureStylus
14785    //=========================================================================
14786    pub fn gtk_gesture_stylus_get_type() -> GType;
14787    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
14788    pub fn gtk_gesture_stylus_get_axes(
14789        gesture: *mut GtkGestureStylus,
14790        axes: *mut gdk::GdkAxisUse,
14791        values: *mut *mut c_double,
14792    ) -> gboolean;
14793    pub fn gtk_gesture_stylus_get_axis(
14794        gesture: *mut GtkGestureStylus,
14795        axis: gdk::GdkAxisUse,
14796        value: *mut c_double,
14797    ) -> gboolean;
14798    pub fn gtk_gesture_stylus_get_backlog(
14799        gesture: *mut GtkGestureStylus,
14800        backlog: *mut *mut gdk::GdkTimeCoord,
14801        n_elems: *mut c_uint,
14802    ) -> gboolean;
14803    pub fn gtk_gesture_stylus_get_device_tool(
14804        gesture: *mut GtkGestureStylus,
14805    ) -> *mut gdk::GdkDeviceTool;
14806    #[cfg(feature = "v4_10")]
14807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14808    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
14809    #[cfg(feature = "v4_10")]
14810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14811    pub fn gtk_gesture_stylus_set_stylus_only(
14812        gesture: *mut GtkGestureStylus,
14813        stylus_only: gboolean,
14814    );
14815
14816    //=========================================================================
14817    // GtkGestureSwipe
14818    //=========================================================================
14819    pub fn gtk_gesture_swipe_get_type() -> GType;
14820    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
14821    pub fn gtk_gesture_swipe_get_velocity(
14822        gesture: *mut GtkGestureSwipe,
14823        velocity_x: *mut c_double,
14824        velocity_y: *mut c_double,
14825    ) -> gboolean;
14826
14827    //=========================================================================
14828    // GtkGestureZoom
14829    //=========================================================================
14830    pub fn gtk_gesture_zoom_get_type() -> GType;
14831    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
14832    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
14833
14834    //=========================================================================
14835    // GtkGraphicsOffload
14836    //=========================================================================
14837    #[cfg(feature = "v4_14")]
14838    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14839    pub fn gtk_graphics_offload_get_type() -> GType;
14840    #[cfg(feature = "v4_14")]
14841    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14842    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
14843    #[cfg(feature = "v4_16")]
14844    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
14845    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
14846    #[cfg(feature = "v4_14")]
14847    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14848    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
14849    #[cfg(feature = "v4_14")]
14850    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14851    pub fn gtk_graphics_offload_get_enabled(
14852        self_: *mut GtkGraphicsOffload,
14853    ) -> GtkGraphicsOffloadEnabled;
14854    #[cfg(feature = "v4_16")]
14855    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
14856    pub fn gtk_graphics_offload_set_black_background(
14857        self_: *mut GtkGraphicsOffload,
14858        value: gboolean,
14859    );
14860    #[cfg(feature = "v4_14")]
14861    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14862    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
14863    #[cfg(feature = "v4_14")]
14864    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14865    pub fn gtk_graphics_offload_set_enabled(
14866        self_: *mut GtkGraphicsOffload,
14867        enabled: GtkGraphicsOffloadEnabled,
14868    );
14869
14870    //=========================================================================
14871    // GtkGrid
14872    //=========================================================================
14873    pub fn gtk_grid_get_type() -> GType;
14874    pub fn gtk_grid_new() -> *mut GtkWidget;
14875    pub fn gtk_grid_attach(
14876        grid: *mut GtkGrid,
14877        child: *mut GtkWidget,
14878        column: c_int,
14879        row: c_int,
14880        width: c_int,
14881        height: c_int,
14882    );
14883    pub fn gtk_grid_attach_next_to(
14884        grid: *mut GtkGrid,
14885        child: *mut GtkWidget,
14886        sibling: *mut GtkWidget,
14887        side: GtkPositionType,
14888        width: c_int,
14889        height: c_int,
14890    );
14891    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
14892    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
14893    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
14894    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
14895    pub fn gtk_grid_get_row_baseline_position(
14896        grid: *mut GtkGrid,
14897        row: c_int,
14898    ) -> GtkBaselinePosition;
14899    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
14900    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
14901    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
14902    pub fn gtk_grid_insert_next_to(
14903        grid: *mut GtkGrid,
14904        sibling: *mut GtkWidget,
14905        side: GtkPositionType,
14906    );
14907    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
14908    pub fn gtk_grid_query_child(
14909        grid: *mut GtkGrid,
14910        child: *mut GtkWidget,
14911        column: *mut c_int,
14912        row: *mut c_int,
14913        width: *mut c_int,
14914        height: *mut c_int,
14915    );
14916    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
14917    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
14918    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
14919    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
14920    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
14921    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
14922    pub fn gtk_grid_set_row_baseline_position(
14923        grid: *mut GtkGrid,
14924        row: c_int,
14925        pos: GtkBaselinePosition,
14926    );
14927    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
14928    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
14929
14930    //=========================================================================
14931    // GtkGridLayout
14932    //=========================================================================
14933    pub fn gtk_grid_layout_get_type() -> GType;
14934    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
14935    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
14936    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
14937    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
14938    pub fn gtk_grid_layout_get_row_baseline_position(
14939        grid: *mut GtkGridLayout,
14940        row: c_int,
14941    ) -> GtkBaselinePosition;
14942    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
14943    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
14944    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
14945    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
14946    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
14947    pub fn gtk_grid_layout_set_row_baseline_position(
14948        grid: *mut GtkGridLayout,
14949        row: c_int,
14950        pos: GtkBaselinePosition,
14951    );
14952    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
14953    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
14954
14955    //=========================================================================
14956    // GtkGridLayoutChild
14957    //=========================================================================
14958    pub fn gtk_grid_layout_child_get_type() -> GType;
14959    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
14960    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
14961    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
14962    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
14963    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
14964    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
14965    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
14966    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
14967
14968    //=========================================================================
14969    // GtkGridView
14970    //=========================================================================
14971    pub fn gtk_grid_view_get_type() -> GType;
14972    pub fn gtk_grid_view_new(
14973        model: *mut GtkSelectionModel,
14974        factory: *mut GtkListItemFactory,
14975    ) -> *mut GtkWidget;
14976    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
14977    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
14978    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
14979    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
14980    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
14981    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
14982    #[cfg(feature = "v4_12")]
14983    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14984    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
14985    #[cfg(feature = "v4_12")]
14986    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14987    pub fn gtk_grid_view_scroll_to(
14988        self_: *mut GtkGridView,
14989        pos: c_uint,
14990        flags: GtkListScrollFlags,
14991        scroll: *mut GtkScrollInfo,
14992    );
14993    pub fn gtk_grid_view_set_enable_rubberband(
14994        self_: *mut GtkGridView,
14995        enable_rubberband: gboolean,
14996    );
14997    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
14998    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
14999    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15000    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15001    pub fn gtk_grid_view_set_single_click_activate(
15002        self_: *mut GtkGridView,
15003        single_click_activate: gboolean,
15004    );
15005    #[cfg(feature = "v4_12")]
15006    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15007    pub fn gtk_grid_view_set_tab_behavior(
15008        self_: *mut GtkGridView,
15009        tab_behavior: GtkListTabBehavior,
15010    );
15011
15012    //=========================================================================
15013    // GtkHeaderBar
15014    //=========================================================================
15015    pub fn gtk_header_bar_get_type() -> GType;
15016    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15017    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15018    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15019    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15020    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15021    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15022    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15023    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15024    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15025    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15026
15027    //=========================================================================
15028    // GtkIMContext
15029    //=========================================================================
15030    pub fn gtk_im_context_get_type() -> GType;
15031    #[cfg(feature = "v4_14")]
15032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15033    pub fn gtk_im_context_activate_osk(
15034        context: *mut GtkIMContext,
15035        event: *mut gdk::GdkEvent,
15036    ) -> gboolean;
15037    pub fn gtk_im_context_delete_surrounding(
15038        context: *mut GtkIMContext,
15039        offset: c_int,
15040        n_chars: c_int,
15041    ) -> gboolean;
15042    pub fn gtk_im_context_filter_key(
15043        context: *mut GtkIMContext,
15044        press: gboolean,
15045        surface: *mut gdk::GdkSurface,
15046        device: *mut gdk::GdkDevice,
15047        time: u32,
15048        keycode: c_uint,
15049        state: gdk::GdkModifierType,
15050        group: c_int,
15051    ) -> gboolean;
15052    pub fn gtk_im_context_filter_keypress(
15053        context: *mut GtkIMContext,
15054        event: *mut gdk::GdkEvent,
15055    ) -> gboolean;
15056    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15057    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15058    pub fn gtk_im_context_get_preedit_string(
15059        context: *mut GtkIMContext,
15060        str: *mut *mut c_char,
15061        attrs: *mut *mut pango::PangoAttrList,
15062        cursor_pos: *mut c_int,
15063    );
15064    pub fn gtk_im_context_get_surrounding(
15065        context: *mut GtkIMContext,
15066        text: *mut *mut c_char,
15067        cursor_index: *mut c_int,
15068    ) -> gboolean;
15069    #[cfg(feature = "v4_2")]
15070    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15071    pub fn gtk_im_context_get_surrounding_with_selection(
15072        context: *mut GtkIMContext,
15073        text: *mut *mut c_char,
15074        cursor_index: *mut c_int,
15075        anchor_index: *mut c_int,
15076    ) -> gboolean;
15077    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15078    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15079    pub fn gtk_im_context_set_cursor_location(
15080        context: *mut GtkIMContext,
15081        area: *const gdk::GdkRectangle,
15082    );
15083    pub fn gtk_im_context_set_surrounding(
15084        context: *mut GtkIMContext,
15085        text: *const c_char,
15086        len: c_int,
15087        cursor_index: c_int,
15088    );
15089    #[cfg(feature = "v4_2")]
15090    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15091    pub fn gtk_im_context_set_surrounding_with_selection(
15092        context: *mut GtkIMContext,
15093        text: *const c_char,
15094        len: c_int,
15095        cursor_index: c_int,
15096        anchor_index: c_int,
15097    );
15098    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15099
15100    //=========================================================================
15101    // GtkIMContextSimple
15102    //=========================================================================
15103    pub fn gtk_im_context_simple_get_type() -> GType;
15104    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15105    pub fn gtk_im_context_simple_add_compose_file(
15106        context_simple: *mut GtkIMContextSimple,
15107        compose_file: *const c_char,
15108    );
15109    pub fn gtk_im_context_simple_add_table(
15110        context_simple: *mut GtkIMContextSimple,
15111        data: *mut u16,
15112        max_seq_len: c_int,
15113        n_seqs: c_int,
15114    );
15115
15116    //=========================================================================
15117    // GtkIMMulticontext
15118    //=========================================================================
15119    pub fn gtk_im_multicontext_get_type() -> GType;
15120    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15121    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15122    pub fn gtk_im_multicontext_set_context_id(
15123        context: *mut GtkIMMulticontext,
15124        context_id: *const c_char,
15125    );
15126
15127    //=========================================================================
15128    // GtkIconPaintable
15129    //=========================================================================
15130    pub fn gtk_icon_paintable_get_type() -> GType;
15131    pub fn gtk_icon_paintable_new_for_file(
15132        file: *mut gio::GFile,
15133        size: c_int,
15134        scale: c_int,
15135    ) -> *mut GtkIconPaintable;
15136    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15137    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15138    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15139
15140    //=========================================================================
15141    // GtkIconTheme
15142    //=========================================================================
15143    pub fn gtk_icon_theme_get_type() -> GType;
15144    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15145    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15146    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15147    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15148    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15149    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15150    pub fn gtk_icon_theme_get_icon_sizes(
15151        self_: *mut GtkIconTheme,
15152        icon_name: *const c_char,
15153    ) -> *mut c_int;
15154    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15155    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15156    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15157    #[cfg(feature = "v4_2")]
15158    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15159    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15160    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15161    pub fn gtk_icon_theme_lookup_by_gicon(
15162        self_: *mut GtkIconTheme,
15163        icon: *mut gio::GIcon,
15164        size: c_int,
15165        scale: c_int,
15166        direction: GtkTextDirection,
15167        flags: GtkIconLookupFlags,
15168    ) -> *mut GtkIconPaintable;
15169    pub fn gtk_icon_theme_lookup_icon(
15170        self_: *mut GtkIconTheme,
15171        icon_name: *const c_char,
15172        fallbacks: *mut *const c_char,
15173        size: c_int,
15174        scale: c_int,
15175        direction: GtkTextDirection,
15176        flags: GtkIconLookupFlags,
15177    ) -> *mut GtkIconPaintable;
15178    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15179    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15180    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15181
15182    //=========================================================================
15183    // GtkIconView
15184    //=========================================================================
15185    pub fn gtk_icon_view_get_type() -> GType;
15186    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15187    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15188    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15189    pub fn gtk_icon_view_create_drag_icon(
15190        icon_view: *mut GtkIconView,
15191        path: *mut GtkTreePath,
15192    ) -> *mut gdk::GdkPaintable;
15193    pub fn gtk_icon_view_enable_model_drag_dest(
15194        icon_view: *mut GtkIconView,
15195        formats: *mut gdk::GdkContentFormats,
15196        actions: gdk::GdkDragAction,
15197    );
15198    pub fn gtk_icon_view_enable_model_drag_source(
15199        icon_view: *mut GtkIconView,
15200        start_button_mask: gdk::GdkModifierType,
15201        formats: *mut gdk::GdkContentFormats,
15202        actions: gdk::GdkDragAction,
15203    );
15204    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15205    pub fn gtk_icon_view_get_cell_rect(
15206        icon_view: *mut GtkIconView,
15207        path: *mut GtkTreePath,
15208        cell: *mut GtkCellRenderer,
15209        rect: *mut gdk::GdkRectangle,
15210    ) -> gboolean;
15211    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15212    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15213    pub fn gtk_icon_view_get_cursor(
15214        icon_view: *mut GtkIconView,
15215        path: *mut *mut GtkTreePath,
15216        cell: *mut *mut GtkCellRenderer,
15217    ) -> gboolean;
15218    pub fn gtk_icon_view_get_dest_item_at_pos(
15219        icon_view: *mut GtkIconView,
15220        drag_x: c_int,
15221        drag_y: c_int,
15222        path: *mut *mut GtkTreePath,
15223        pos: *mut GtkIconViewDropPosition,
15224    ) -> gboolean;
15225    pub fn gtk_icon_view_get_drag_dest_item(
15226        icon_view: *mut GtkIconView,
15227        path: *mut *mut GtkTreePath,
15228        pos: *mut GtkIconViewDropPosition,
15229    );
15230    pub fn gtk_icon_view_get_item_at_pos(
15231        icon_view: *mut GtkIconView,
15232        x: c_int,
15233        y: c_int,
15234        path: *mut *mut GtkTreePath,
15235        cell: *mut *mut GtkCellRenderer,
15236    ) -> gboolean;
15237    pub fn gtk_icon_view_get_item_column(
15238        icon_view: *mut GtkIconView,
15239        path: *mut GtkTreePath,
15240    ) -> c_int;
15241    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15242    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15243    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15244        -> c_int;
15245    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15246    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15247    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15248    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15249    pub fn gtk_icon_view_get_path_at_pos(
15250        icon_view: *mut GtkIconView,
15251        x: c_int,
15252        y: c_int,
15253    ) -> *mut GtkTreePath;
15254    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15255    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15256    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15257    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15258    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15259    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15260    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15261    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15262    pub fn gtk_icon_view_get_tooltip_context(
15263        icon_view: *mut GtkIconView,
15264        x: c_int,
15265        y: c_int,
15266        keyboard_tip: gboolean,
15267        model: *mut *mut GtkTreeModel,
15268        path: *mut *mut GtkTreePath,
15269        iter: *mut GtkTreeIter,
15270    ) -> gboolean;
15271    pub fn gtk_icon_view_get_visible_range(
15272        icon_view: *mut GtkIconView,
15273        start_path: *mut *mut GtkTreePath,
15274        end_path: *mut *mut GtkTreePath,
15275    ) -> gboolean;
15276    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15277    pub fn gtk_icon_view_path_is_selected(
15278        icon_view: *mut GtkIconView,
15279        path: *mut GtkTreePath,
15280    ) -> gboolean;
15281    pub fn gtk_icon_view_scroll_to_path(
15282        icon_view: *mut GtkIconView,
15283        path: *mut GtkTreePath,
15284        use_align: gboolean,
15285        row_align: c_float,
15286        col_align: c_float,
15287    );
15288    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15289    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15290    pub fn gtk_icon_view_selected_foreach(
15291        icon_view: *mut GtkIconView,
15292        func: GtkIconViewForeachFunc,
15293        data: gpointer,
15294    );
15295    pub fn gtk_icon_view_set_activate_on_single_click(
15296        icon_view: *mut GtkIconView,
15297        single: gboolean,
15298    );
15299    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15300    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15301    pub fn gtk_icon_view_set_cursor(
15302        icon_view: *mut GtkIconView,
15303        path: *mut GtkTreePath,
15304        cell: *mut GtkCellRenderer,
15305        start_editing: gboolean,
15306    );
15307    pub fn gtk_icon_view_set_drag_dest_item(
15308        icon_view: *mut GtkIconView,
15309        path: *mut GtkTreePath,
15310        pos: GtkIconViewDropPosition,
15311    );
15312    pub fn gtk_icon_view_set_item_orientation(
15313        icon_view: *mut GtkIconView,
15314        orientation: GtkOrientation,
15315    );
15316    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15317    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15318    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15319    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15320    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15321    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15322    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15323    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15324    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15325    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15326    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15327    pub fn gtk_icon_view_set_tooltip_cell(
15328        icon_view: *mut GtkIconView,
15329        tooltip: *mut GtkTooltip,
15330        path: *mut GtkTreePath,
15331        cell: *mut GtkCellRenderer,
15332    );
15333    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15334    pub fn gtk_icon_view_set_tooltip_item(
15335        icon_view: *mut GtkIconView,
15336        tooltip: *mut GtkTooltip,
15337        path: *mut GtkTreePath,
15338    );
15339    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15340    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15341    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15342    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15343
15344    //=========================================================================
15345    // GtkImage
15346    //=========================================================================
15347    pub fn gtk_image_get_type() -> GType;
15348    pub fn gtk_image_new() -> *mut GtkWidget;
15349    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15350    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15351    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15352    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15353    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15354    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15355    pub fn gtk_image_clear(image: *mut GtkImage);
15356    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15357    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15358    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15359    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15360    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15361    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15362    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15363    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15364    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15365    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15366    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15367    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15368    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15369    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15370
15371    //=========================================================================
15372    // GtkInfoBar
15373    //=========================================================================
15374    pub fn gtk_info_bar_get_type() -> GType;
15375    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15376    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15377    pub fn gtk_info_bar_add_action_widget(
15378        info_bar: *mut GtkInfoBar,
15379        child: *mut GtkWidget,
15380        response_id: GtkResponseType,
15381    );
15382    pub fn gtk_info_bar_add_button(
15383        info_bar: *mut GtkInfoBar,
15384        button_text: *const c_char,
15385        response_id: GtkResponseType,
15386    ) -> *mut GtkButton;
15387    pub fn gtk_info_bar_add_buttons(
15388        info_bar: *mut GtkInfoBar,
15389        first_button_text: *const c_char,
15390        ...
15391    );
15392    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15393    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15394    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15395    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15396    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15397    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15398    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15399    pub fn gtk_info_bar_set_default_response(
15400        info_bar: *mut GtkInfoBar,
15401        response_id: GtkResponseType,
15402    );
15403    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15404    pub fn gtk_info_bar_set_response_sensitive(
15405        info_bar: *mut GtkInfoBar,
15406        response_id: GtkResponseType,
15407        setting: gboolean,
15408    );
15409    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15410    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15411
15412    //=========================================================================
15413    // GtkInscription
15414    //=========================================================================
15415    #[cfg(feature = "v4_8")]
15416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15417    pub fn gtk_inscription_get_type() -> GType;
15418    #[cfg(feature = "v4_8")]
15419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15420    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15421    #[cfg(feature = "v4_8")]
15422    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15423    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15424    #[cfg(feature = "v4_8")]
15425    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15426    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15427    #[cfg(feature = "v4_8")]
15428    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15429    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15430    #[cfg(feature = "v4_8")]
15431    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15432    pub fn gtk_inscription_get_nat_chars(self_: *mut GtkInscription) -> c_uint;
15433    #[cfg(feature = "v4_8")]
15434    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15435    pub fn gtk_inscription_get_nat_lines(self_: *mut GtkInscription) -> c_uint;
15436    #[cfg(feature = "v4_8")]
15437    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15438    pub fn gtk_inscription_get_text(self_: *mut GtkInscription) -> *const c_char;
15439    #[cfg(feature = "v4_8")]
15440    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15441    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
15442    #[cfg(feature = "v4_8")]
15443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15444    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
15445    #[cfg(feature = "v4_8")]
15446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15447    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
15448    #[cfg(feature = "v4_8")]
15449    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15450    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
15451    #[cfg(feature = "v4_8")]
15452    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15453    pub fn gtk_inscription_set_attributes(
15454        self_: *mut GtkInscription,
15455        attrs: *mut pango::PangoAttrList,
15456    );
15457    #[cfg(feature = "v4_8")]
15458    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15459    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
15460    #[cfg(feature = "v4_8")]
15461    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15462    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
15463    #[cfg(feature = "v4_8")]
15464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15465    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
15466    #[cfg(feature = "v4_8")]
15467    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15468    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
15469    #[cfg(feature = "v4_8")]
15470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15471    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
15472    #[cfg(feature = "v4_8")]
15473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15474    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
15475    #[cfg(feature = "v4_8")]
15476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15477    pub fn gtk_inscription_set_text_overflow(
15478        self_: *mut GtkInscription,
15479        overflow: GtkInscriptionOverflow,
15480    );
15481    #[cfg(feature = "v4_8")]
15482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15483    pub fn gtk_inscription_set_wrap_mode(
15484        self_: *mut GtkInscription,
15485        wrap_mode: pango::PangoWrapMode,
15486    );
15487    #[cfg(feature = "v4_8")]
15488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15489    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
15490    #[cfg(feature = "v4_8")]
15491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15492    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
15493
15494    //=========================================================================
15495    // GtkKeyvalTrigger
15496    //=========================================================================
15497    pub fn gtk_keyval_trigger_get_type() -> GType;
15498    pub fn gtk_keyval_trigger_new(
15499        keyval: c_uint,
15500        modifiers: gdk::GdkModifierType,
15501    ) -> *mut GtkShortcutTrigger;
15502    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
15503    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
15504
15505    //=========================================================================
15506    // GtkLabel
15507    //=========================================================================
15508    pub fn gtk_label_get_type() -> GType;
15509    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
15510    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
15511    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
15512    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
15513    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
15514    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
15515    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
15516    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
15517    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
15518    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
15519    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
15520    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
15521    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
15522    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
15523    #[cfg(feature = "v4_6")]
15524    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
15525    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
15526    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
15527    pub fn gtk_label_get_selection_bounds(
15528        self_: *mut GtkLabel,
15529        start: *mut c_int,
15530        end: *mut c_int,
15531    ) -> gboolean;
15532    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
15533    #[cfg(feature = "v4_8")]
15534    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15535    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
15536    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
15537    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
15538    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
15539    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
15540    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
15541    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
15542    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
15543    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
15544    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
15545    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
15546    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
15547    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
15548    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
15549    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
15550    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
15551    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
15552    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
15553    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
15554    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
15555    #[cfg(feature = "v4_6")]
15556    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
15557    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
15558    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
15559    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
15560    #[cfg(feature = "v4_8")]
15561    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15562    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
15563    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
15564    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
15565    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
15566    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
15567    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
15568    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
15569    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
15570    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
15571    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
15572
15573    //=========================================================================
15574    // GtkLayoutChild
15575    //=========================================================================
15576    pub fn gtk_layout_child_get_type() -> GType;
15577    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
15578    pub fn gtk_layout_child_get_layout_manager(
15579        layout_child: *mut GtkLayoutChild,
15580    ) -> *mut GtkLayoutManager;
15581
15582    //=========================================================================
15583    // GtkLayoutManager
15584    //=========================================================================
15585    pub fn gtk_layout_manager_get_type() -> GType;
15586    pub fn gtk_layout_manager_allocate(
15587        manager: *mut GtkLayoutManager,
15588        widget: *mut GtkWidget,
15589        width: c_int,
15590        height: c_int,
15591        baseline: c_int,
15592    );
15593    pub fn gtk_layout_manager_get_layout_child(
15594        manager: *mut GtkLayoutManager,
15595        child: *mut GtkWidget,
15596    ) -> *mut GtkLayoutChild;
15597    pub fn gtk_layout_manager_get_request_mode(
15598        manager: *mut GtkLayoutManager,
15599    ) -> GtkSizeRequestMode;
15600    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
15601    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
15602    pub fn gtk_layout_manager_measure(
15603        manager: *mut GtkLayoutManager,
15604        widget: *mut GtkWidget,
15605        orientation: GtkOrientation,
15606        for_size: c_int,
15607        minimum: *mut c_int,
15608        natural: *mut c_int,
15609        minimum_baseline: *mut c_int,
15610        natural_baseline: *mut c_int,
15611    );
15612
15613    //=========================================================================
15614    // GtkLevelBar
15615    //=========================================================================
15616    pub fn gtk_level_bar_get_type() -> GType;
15617    pub fn gtk_level_bar_new() -> *mut GtkWidget;
15618    pub fn gtk_level_bar_new_for_interval(
15619        min_value: c_double,
15620        max_value: c_double,
15621    ) -> *mut GtkWidget;
15622    pub fn gtk_level_bar_add_offset_value(
15623        self_: *mut GtkLevelBar,
15624        name: *const c_char,
15625        value: c_double,
15626    );
15627    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
15628    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
15629    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
15630    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
15631    pub fn gtk_level_bar_get_offset_value(
15632        self_: *mut GtkLevelBar,
15633        name: *const c_char,
15634        value: *mut c_double,
15635    ) -> gboolean;
15636    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
15637    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
15638    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
15639    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
15640    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
15641    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
15642    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
15643
15644    //=========================================================================
15645    // GtkLinkButton
15646    //=========================================================================
15647    pub fn gtk_link_button_get_type() -> GType;
15648    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
15649    pub fn gtk_link_button_new_with_label(
15650        uri: *const c_char,
15651        label: *const c_char,
15652    ) -> *mut GtkWidget;
15653    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
15654    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
15655    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
15656    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
15657
15658    //=========================================================================
15659    // GtkListBase
15660    //=========================================================================
15661    pub fn gtk_list_base_get_type() -> GType;
15662
15663    //=========================================================================
15664    // GtkListBox
15665    //=========================================================================
15666    pub fn gtk_list_box_get_type() -> GType;
15667    pub fn gtk_list_box_new() -> *mut GtkWidget;
15668    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
15669    pub fn gtk_list_box_bind_model(
15670        box_: *mut GtkListBox,
15671        model: *mut gio::GListModel,
15672        create_widget_func: GtkListBoxCreateWidgetFunc,
15673        user_data: gpointer,
15674        user_data_free_func: glib::GDestroyNotify,
15675    );
15676    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
15677    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
15678    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
15679    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
15680    pub fn gtk_list_box_get_row_at_index(
15681        box_: *mut GtkListBox,
15682        index_: c_int,
15683    ) -> *mut GtkListBoxRow;
15684    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
15685    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
15686    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
15687    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
15688    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
15689    #[cfg(feature = "v4_18")]
15690    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15691    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
15692    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
15693    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
15694    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
15695    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
15696    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
15697    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
15698    #[cfg(feature = "v4_12")]
15699    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15700    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
15701    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
15702    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
15703    pub fn gtk_list_box_selected_foreach(
15704        box_: *mut GtkListBox,
15705        func: GtkListBoxForeachFunc,
15706        data: gpointer,
15707    );
15708    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
15709    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
15710    pub fn gtk_list_box_set_filter_func(
15711        box_: *mut GtkListBox,
15712        filter_func: GtkListBoxFilterFunc,
15713        user_data: gpointer,
15714        destroy: glib::GDestroyNotify,
15715    );
15716    pub fn gtk_list_box_set_header_func(
15717        box_: *mut GtkListBox,
15718        update_header: GtkListBoxUpdateHeaderFunc,
15719        user_data: gpointer,
15720        destroy: glib::GDestroyNotify,
15721    );
15722    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
15723    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
15724    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
15725    pub fn gtk_list_box_set_sort_func(
15726        box_: *mut GtkListBox,
15727        sort_func: GtkListBoxSortFunc,
15728        user_data: gpointer,
15729        destroy: glib::GDestroyNotify,
15730    );
15731    #[cfg(feature = "v4_18")]
15732    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15733    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
15734    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
15735    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
15736
15737    //=========================================================================
15738    // GtkListBoxRow
15739    //=========================================================================
15740    pub fn gtk_list_box_row_get_type() -> GType;
15741    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
15742    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
15743    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
15744    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
15745    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
15746    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
15747    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
15748    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
15749    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
15750    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
15751    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
15752    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
15753
15754    //=========================================================================
15755    // GtkListHeader
15756    //=========================================================================
15757    #[cfg(feature = "v4_12")]
15758    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15759    pub fn gtk_list_header_get_type() -> GType;
15760    #[cfg(feature = "v4_12")]
15761    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15762    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
15763    #[cfg(feature = "v4_12")]
15764    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15765    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
15766    #[cfg(feature = "v4_12")]
15767    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15768    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
15769    #[cfg(feature = "v4_12")]
15770    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15771    pub fn gtk_list_header_get_n_items(self_: *mut GtkListHeader) -> c_uint;
15772    #[cfg(feature = "v4_12")]
15773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15774    pub fn gtk_list_header_get_start(self_: *mut GtkListHeader) -> c_uint;
15775    #[cfg(feature = "v4_12")]
15776    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15777    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
15778
15779    //=========================================================================
15780    // GtkListItem
15781    //=========================================================================
15782    pub fn gtk_list_item_get_type() -> GType;
15783    #[cfg(feature = "v4_12")]
15784    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15785    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
15786    #[cfg(feature = "v4_12")]
15787    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15788    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
15789    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
15790    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
15791    #[cfg(feature = "v4_12")]
15792    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15793    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
15794    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
15795    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
15796    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
15797    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
15798    #[cfg(feature = "v4_12")]
15799    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15800    pub fn gtk_list_item_set_accessible_description(
15801        self_: *mut GtkListItem,
15802        description: *const c_char,
15803    );
15804    #[cfg(feature = "v4_12")]
15805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15806    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
15807    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
15808    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
15809    #[cfg(feature = "v4_12")]
15810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15811    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
15812    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
15813
15814    //=========================================================================
15815    // GtkListItemFactory
15816    //=========================================================================
15817    pub fn gtk_list_item_factory_get_type() -> GType;
15818
15819    //=========================================================================
15820    // GtkListStore
15821    //=========================================================================
15822    pub fn gtk_list_store_get_type() -> GType;
15823    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
15824    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
15825    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
15826    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
15827    pub fn gtk_list_store_insert(
15828        list_store: *mut GtkListStore,
15829        iter: *mut GtkTreeIter,
15830        position: c_int,
15831    );
15832    pub fn gtk_list_store_insert_after(
15833        list_store: *mut GtkListStore,
15834        iter: *mut GtkTreeIter,
15835        sibling: *mut GtkTreeIter,
15836    );
15837    pub fn gtk_list_store_insert_before(
15838        list_store: *mut GtkListStore,
15839        iter: *mut GtkTreeIter,
15840        sibling: *mut GtkTreeIter,
15841    );
15842    pub fn gtk_list_store_insert_with_values(
15843        list_store: *mut GtkListStore,
15844        iter: *mut GtkTreeIter,
15845        position: c_int,
15846        ...
15847    );
15848    pub fn gtk_list_store_insert_with_valuesv(
15849        list_store: *mut GtkListStore,
15850        iter: *mut GtkTreeIter,
15851        position: c_int,
15852        columns: *mut c_int,
15853        values: *mut gobject::GValue,
15854        n_values: c_int,
15855    );
15856    pub fn gtk_list_store_iter_is_valid(
15857        list_store: *mut GtkListStore,
15858        iter: *mut GtkTreeIter,
15859    ) -> gboolean;
15860    pub fn gtk_list_store_move_after(
15861        store: *mut GtkListStore,
15862        iter: *mut GtkTreeIter,
15863        position: *mut GtkTreeIter,
15864    );
15865    pub fn gtk_list_store_move_before(
15866        store: *mut GtkListStore,
15867        iter: *mut GtkTreeIter,
15868        position: *mut GtkTreeIter,
15869    );
15870    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
15871    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
15872        -> gboolean;
15873    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
15874    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
15875    pub fn gtk_list_store_set_column_types(
15876        list_store: *mut GtkListStore,
15877        n_columns: c_int,
15878        types: *mut GType,
15879    );
15880    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
15881    pub fn gtk_list_store_set_value(
15882        list_store: *mut GtkListStore,
15883        iter: *mut GtkTreeIter,
15884        column: c_int,
15885        value: *mut gobject::GValue,
15886    );
15887    pub fn gtk_list_store_set_valuesv(
15888        list_store: *mut GtkListStore,
15889        iter: *mut GtkTreeIter,
15890        columns: *mut c_int,
15891        values: *mut gobject::GValue,
15892        n_values: c_int,
15893    );
15894    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
15895
15896    //=========================================================================
15897    // GtkListView
15898    //=========================================================================
15899    pub fn gtk_list_view_get_type() -> GType;
15900    pub fn gtk_list_view_new(
15901        model: *mut GtkSelectionModel,
15902        factory: *mut GtkListItemFactory,
15903    ) -> *mut GtkWidget;
15904    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
15905    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
15906    #[cfg(feature = "v4_12")]
15907    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15908    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
15909    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
15910    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
15911    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
15912    #[cfg(feature = "v4_12")]
15913    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15914    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
15915    #[cfg(feature = "v4_12")]
15916    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15917    pub fn gtk_list_view_scroll_to(
15918        self_: *mut GtkListView,
15919        pos: c_uint,
15920        flags: GtkListScrollFlags,
15921        scroll: *mut GtkScrollInfo,
15922    );
15923    pub fn gtk_list_view_set_enable_rubberband(
15924        self_: *mut GtkListView,
15925        enable_rubberband: gboolean,
15926    );
15927    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
15928    #[cfg(feature = "v4_12")]
15929    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15930    pub fn gtk_list_view_set_header_factory(
15931        self_: *mut GtkListView,
15932        factory: *mut GtkListItemFactory,
15933    );
15934    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
15935    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
15936    pub fn gtk_list_view_set_single_click_activate(
15937        self_: *mut GtkListView,
15938        single_click_activate: gboolean,
15939    );
15940    #[cfg(feature = "v4_12")]
15941    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15942    pub fn gtk_list_view_set_tab_behavior(
15943        self_: *mut GtkListView,
15944        tab_behavior: GtkListTabBehavior,
15945    );
15946
15947    //=========================================================================
15948    // GtkLockButton
15949    //=========================================================================
15950    pub fn gtk_lock_button_get_type() -> GType;
15951    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
15952    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
15953    pub fn gtk_lock_button_set_permission(
15954        button: *mut GtkLockButton,
15955        permission: *mut gio::GPermission,
15956    );
15957
15958    //=========================================================================
15959    // GtkMapListModel
15960    //=========================================================================
15961    pub fn gtk_map_list_model_get_type() -> GType;
15962    pub fn gtk_map_list_model_new(
15963        model: *mut gio::GListModel,
15964        map_func: GtkMapListModelMapFunc,
15965        user_data: gpointer,
15966        user_destroy: glib::GDestroyNotify,
15967    ) -> *mut GtkMapListModel;
15968    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
15969    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
15970    pub fn gtk_map_list_model_set_map_func(
15971        self_: *mut GtkMapListModel,
15972        map_func: GtkMapListModelMapFunc,
15973        user_data: gpointer,
15974        user_destroy: glib::GDestroyNotify,
15975    );
15976    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
15977
15978    //=========================================================================
15979    // GtkMediaControls
15980    //=========================================================================
15981    pub fn gtk_media_controls_get_type() -> GType;
15982    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
15983    pub fn gtk_media_controls_get_media_stream(
15984        controls: *mut GtkMediaControls,
15985    ) -> *mut GtkMediaStream;
15986    pub fn gtk_media_controls_set_media_stream(
15987        controls: *mut GtkMediaControls,
15988        stream: *mut GtkMediaStream,
15989    );
15990
15991    //=========================================================================
15992    // GtkMediaFile
15993    //=========================================================================
15994    pub fn gtk_media_file_get_type() -> GType;
15995    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
15996    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
15997    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
15998    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
15999        -> *mut GtkMediaFile;
16000    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16001    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16002    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16003    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16004    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16005    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16006    pub fn gtk_media_file_set_input_stream(
16007        self_: *mut GtkMediaFile,
16008        stream: *mut gio::GInputStream,
16009    );
16010    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16011
16012    //=========================================================================
16013    // GtkMediaStream
16014    //=========================================================================
16015    pub fn gtk_media_stream_get_type() -> GType;
16016    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16017    pub fn gtk_media_stream_error(
16018        self_: *mut GtkMediaStream,
16019        domain: glib::GQuark,
16020        code: c_int,
16021        format: *const c_char,
16022        ...
16023    );
16024    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16025    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16026    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16027    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16028    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16029    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16030    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16031    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16032    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16033    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16034    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16035    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16036    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16037    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16038    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16039    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16040    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16041    pub fn gtk_media_stream_prepared(
16042        self_: *mut GtkMediaStream,
16043        has_audio: gboolean,
16044        has_video: gboolean,
16045        seekable: gboolean,
16046        duration: i64,
16047    );
16048    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16049    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16050    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16051    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16052    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16053    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16054    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16055    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16056    #[cfg(feature = "v4_4")]
16057    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16058    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16059    #[cfg(feature = "v4_4")]
16060    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16061    pub fn gtk_media_stream_stream_prepared(
16062        self_: *mut GtkMediaStream,
16063        has_audio: gboolean,
16064        has_video: gboolean,
16065        seekable: gboolean,
16066        duration: i64,
16067    );
16068    #[cfg(feature = "v4_4")]
16069    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16070    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16071    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16072    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16073    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16074
16075    //=========================================================================
16076    // GtkMenuButton
16077    //=========================================================================
16078    pub fn gtk_menu_button_get_type() -> GType;
16079    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16080    #[cfg(feature = "v4_10")]
16081    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16082    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16083    #[cfg(feature = "v4_4")]
16084    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16085    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16086    #[cfg(feature = "v4_12")]
16087    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16088    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16089    #[cfg(feature = "v4_6")]
16090    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16091    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16092    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16093    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16094    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16095    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16096    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16097    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16098    #[cfg(feature = "v4_4")]
16099    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16100    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16101    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16102    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16103    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16104    #[cfg(feature = "v4_10")]
16105    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16106    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16107    #[cfg(feature = "v4_4")]
16108    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16109    pub fn gtk_menu_button_set_always_show_arrow(
16110        menu_button: *mut GtkMenuButton,
16111        always_show_arrow: gboolean,
16112    );
16113    #[cfg(feature = "v4_12")]
16114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16115    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16116    #[cfg(feature = "v4_6")]
16117    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16118    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16119    pub fn gtk_menu_button_set_create_popup_func(
16120        menu_button: *mut GtkMenuButton,
16121        func: GtkMenuButtonCreatePopupFunc,
16122        user_data: gpointer,
16123        destroy_notify: glib::GDestroyNotify,
16124    );
16125    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16126    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16127    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16128    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16129    pub fn gtk_menu_button_set_menu_model(
16130        menu_button: *mut GtkMenuButton,
16131        menu_model: *mut gio::GMenuModel,
16132    );
16133    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkWidget);
16134    #[cfg(feature = "v4_4")]
16135    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16136    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16137    pub fn gtk_menu_button_set_use_underline(
16138        menu_button: *mut GtkMenuButton,
16139        use_underline: gboolean,
16140    );
16141
16142    //=========================================================================
16143    // GtkMessageDialog
16144    //=========================================================================
16145    pub fn gtk_message_dialog_get_type() -> GType;
16146    pub fn gtk_message_dialog_new(
16147        parent: *mut GtkWindow,
16148        flags: GtkDialogFlags,
16149        type_: GtkMessageType,
16150        buttons: GtkButtonsType,
16151        message_format: *const c_char,
16152        ...
16153    ) -> *mut GtkWidget;
16154    pub fn gtk_message_dialog_new_with_markup(
16155        parent: *mut GtkWindow,
16156        flags: GtkDialogFlags,
16157        type_: GtkMessageType,
16158        buttons: GtkButtonsType,
16159        message_format: *const c_char,
16160        ...
16161    ) -> *mut GtkWidget;
16162    pub fn gtk_message_dialog_format_secondary_markup(
16163        message_dialog: *mut GtkMessageDialog,
16164        message_format: *const c_char,
16165        ...
16166    );
16167    pub fn gtk_message_dialog_format_secondary_text(
16168        message_dialog: *mut GtkMessageDialog,
16169        message_format: *const c_char,
16170        ...
16171    );
16172    pub fn gtk_message_dialog_get_message_area(
16173        message_dialog: *mut GtkMessageDialog,
16174    ) -> *mut GtkWidget;
16175    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16176
16177    //=========================================================================
16178    // GtkMnemonicAction
16179    //=========================================================================
16180    pub fn gtk_mnemonic_action_get_type() -> GType;
16181    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16182
16183    //=========================================================================
16184    // GtkMnemonicTrigger
16185    //=========================================================================
16186    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16187    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16188    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16189
16190    //=========================================================================
16191    // GtkMountOperation
16192    //=========================================================================
16193    pub fn gtk_mount_operation_get_type() -> GType;
16194    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16195    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16196    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16197    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16198    pub fn gtk_mount_operation_set_display(
16199        op: *mut GtkMountOperation,
16200        display: *mut gdk::GdkDisplay,
16201    );
16202    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16203
16204    //=========================================================================
16205    // GtkMultiFilter
16206    //=========================================================================
16207    pub fn gtk_multi_filter_get_type() -> GType;
16208    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16209    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16210
16211    //=========================================================================
16212    // GtkMultiSelection
16213    //=========================================================================
16214    pub fn gtk_multi_selection_get_type() -> GType;
16215    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16216    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16217    pub fn gtk_multi_selection_set_model(
16218        self_: *mut GtkMultiSelection,
16219        model: *mut gio::GListModel,
16220    );
16221
16222    //=========================================================================
16223    // GtkMultiSorter
16224    //=========================================================================
16225    pub fn gtk_multi_sorter_get_type() -> GType;
16226    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16227    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16228    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16229
16230    //=========================================================================
16231    // GtkNamedAction
16232    //=========================================================================
16233    pub fn gtk_named_action_get_type() -> GType;
16234    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16235    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16236
16237    //=========================================================================
16238    // GtkNativeDialog
16239    //=========================================================================
16240    pub fn gtk_native_dialog_get_type() -> GType;
16241    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16242    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16243    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16244    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16245    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16246    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16247    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16248    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16249    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16250    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16251
16252    //=========================================================================
16253    // GtkNeverTrigger
16254    //=========================================================================
16255    pub fn gtk_never_trigger_get_type() -> GType;
16256    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16257
16258    //=========================================================================
16259    // GtkNoSelection
16260    //=========================================================================
16261    pub fn gtk_no_selection_get_type() -> GType;
16262    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16263    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16264    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16265
16266    //=========================================================================
16267    // GtkNotebook
16268    //=========================================================================
16269    pub fn gtk_notebook_get_type() -> GType;
16270    pub fn gtk_notebook_new() -> *mut GtkWidget;
16271    pub fn gtk_notebook_append_page(
16272        notebook: *mut GtkNotebook,
16273        child: *mut GtkWidget,
16274        tab_label: *mut GtkWidget,
16275    ) -> c_int;
16276    pub fn gtk_notebook_append_page_menu(
16277        notebook: *mut GtkNotebook,
16278        child: *mut GtkWidget,
16279        tab_label: *mut GtkWidget,
16280        menu_label: *mut GtkWidget,
16281    ) -> c_int;
16282    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16283    pub fn gtk_notebook_get_action_widget(
16284        notebook: *mut GtkNotebook,
16285        pack_type: GtkPackType,
16286    ) -> *mut GtkWidget;
16287    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16288    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16289    pub fn gtk_notebook_get_menu_label(
16290        notebook: *mut GtkNotebook,
16291        child: *mut GtkWidget,
16292    ) -> *mut GtkWidget;
16293    pub fn gtk_notebook_get_menu_label_text(
16294        notebook: *mut GtkNotebook,
16295        child: *mut GtkWidget,
16296    ) -> *const c_char;
16297    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16298    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16299        -> *mut GtkWidget;
16300    pub fn gtk_notebook_get_page(
16301        notebook: *mut GtkNotebook,
16302        child: *mut GtkWidget,
16303    ) -> *mut GtkNotebookPage;
16304    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16305    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16306    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16307    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16308    pub fn gtk_notebook_get_tab_detachable(
16309        notebook: *mut GtkNotebook,
16310        child: *mut GtkWidget,
16311    ) -> gboolean;
16312    pub fn gtk_notebook_get_tab_label(
16313        notebook: *mut GtkNotebook,
16314        child: *mut GtkWidget,
16315    ) -> *mut GtkWidget;
16316    pub fn gtk_notebook_get_tab_label_text(
16317        notebook: *mut GtkNotebook,
16318        child: *mut GtkWidget,
16319    ) -> *const c_char;
16320    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16321    pub fn gtk_notebook_get_tab_reorderable(
16322        notebook: *mut GtkNotebook,
16323        child: *mut GtkWidget,
16324    ) -> gboolean;
16325    pub fn gtk_notebook_insert_page(
16326        notebook: *mut GtkNotebook,
16327        child: *mut GtkWidget,
16328        tab_label: *mut GtkWidget,
16329        position: c_int,
16330    ) -> c_int;
16331    pub fn gtk_notebook_insert_page_menu(
16332        notebook: *mut GtkNotebook,
16333        child: *mut GtkWidget,
16334        tab_label: *mut GtkWidget,
16335        menu_label: *mut GtkWidget,
16336        position: c_int,
16337    ) -> c_int;
16338    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16339    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16340    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16341    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16342    pub fn gtk_notebook_prepend_page(
16343        notebook: *mut GtkNotebook,
16344        child: *mut GtkWidget,
16345        tab_label: *mut GtkWidget,
16346    ) -> c_int;
16347    pub fn gtk_notebook_prepend_page_menu(
16348        notebook: *mut GtkNotebook,
16349        child: *mut GtkWidget,
16350        tab_label: *mut GtkWidget,
16351        menu_label: *mut GtkWidget,
16352    ) -> c_int;
16353    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16354    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16355    pub fn gtk_notebook_reorder_child(
16356        notebook: *mut GtkNotebook,
16357        child: *mut GtkWidget,
16358        position: c_int,
16359    );
16360    pub fn gtk_notebook_set_action_widget(
16361        notebook: *mut GtkNotebook,
16362        widget: *mut GtkWidget,
16363        pack_type: GtkPackType,
16364    );
16365    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16366    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16367    pub fn gtk_notebook_set_menu_label(
16368        notebook: *mut GtkNotebook,
16369        child: *mut GtkWidget,
16370        menu_label: *mut GtkWidget,
16371    );
16372    pub fn gtk_notebook_set_menu_label_text(
16373        notebook: *mut GtkNotebook,
16374        child: *mut GtkWidget,
16375        menu_text: *const c_char,
16376    );
16377    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16378    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16379    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16380    pub fn gtk_notebook_set_tab_detachable(
16381        notebook: *mut GtkNotebook,
16382        child: *mut GtkWidget,
16383        detachable: gboolean,
16384    );
16385    pub fn gtk_notebook_set_tab_label(
16386        notebook: *mut GtkNotebook,
16387        child: *mut GtkWidget,
16388        tab_label: *mut GtkWidget,
16389    );
16390    pub fn gtk_notebook_set_tab_label_text(
16391        notebook: *mut GtkNotebook,
16392        child: *mut GtkWidget,
16393        tab_text: *const c_char,
16394    );
16395    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16396    pub fn gtk_notebook_set_tab_reorderable(
16397        notebook: *mut GtkNotebook,
16398        child: *mut GtkWidget,
16399        reorderable: gboolean,
16400    );
16401
16402    //=========================================================================
16403    // GtkNotebookPage
16404    //=========================================================================
16405    pub fn gtk_notebook_page_get_type() -> GType;
16406    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16407
16408    //=========================================================================
16409    // GtkNothingAction
16410    //=========================================================================
16411    pub fn gtk_nothing_action_get_type() -> GType;
16412    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16413
16414    //=========================================================================
16415    // GtkNumericSorter
16416    //=========================================================================
16417    pub fn gtk_numeric_sorter_get_type() -> GType;
16418    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16419    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16420    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16421    pub fn gtk_numeric_sorter_set_expression(
16422        self_: *mut GtkNumericSorter,
16423        expression: *mut GtkExpression,
16424    );
16425    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16426
16427    //=========================================================================
16428    // GtkObjectExpression
16429    //=========================================================================
16430    pub fn gtk_object_expression_get_type() -> GType;
16431    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16432    pub fn gtk_object_expression_get_object(
16433        expression: *mut GtkObjectExpression,
16434    ) -> *mut gobject::GObject;
16435
16436    //=========================================================================
16437    // GtkOverlay
16438    //=========================================================================
16439    pub fn gtk_overlay_get_type() -> GType;
16440    pub fn gtk_overlay_new() -> *mut GtkWidget;
16441    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16442    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
16443    pub fn gtk_overlay_get_clip_overlay(
16444        overlay: *mut GtkOverlay,
16445        widget: *mut GtkWidget,
16446    ) -> gboolean;
16447    pub fn gtk_overlay_get_measure_overlay(
16448        overlay: *mut GtkOverlay,
16449        widget: *mut GtkWidget,
16450    ) -> gboolean;
16451    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16452    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
16453    pub fn gtk_overlay_set_clip_overlay(
16454        overlay: *mut GtkOverlay,
16455        widget: *mut GtkWidget,
16456        clip_overlay: gboolean,
16457    );
16458    pub fn gtk_overlay_set_measure_overlay(
16459        overlay: *mut GtkOverlay,
16460        widget: *mut GtkWidget,
16461        measure: gboolean,
16462    );
16463
16464    //=========================================================================
16465    // GtkOverlayLayout
16466    //=========================================================================
16467    pub fn gtk_overlay_layout_get_type() -> GType;
16468    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
16469
16470    //=========================================================================
16471    // GtkOverlayLayoutChild
16472    //=========================================================================
16473    pub fn gtk_overlay_layout_child_get_type() -> GType;
16474    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
16475        -> gboolean;
16476    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
16477    pub fn gtk_overlay_layout_child_set_clip_overlay(
16478        child: *mut GtkOverlayLayoutChild,
16479        clip_overlay: gboolean,
16480    );
16481    pub fn gtk_overlay_layout_child_set_measure(
16482        child: *mut GtkOverlayLayoutChild,
16483        measure: gboolean,
16484    );
16485
16486    //=========================================================================
16487    // GtkPadController
16488    //=========================================================================
16489    pub fn gtk_pad_controller_get_type() -> GType;
16490    pub fn gtk_pad_controller_new(
16491        group: *mut gio::GActionGroup,
16492        pad: *mut gdk::GdkDevice,
16493    ) -> *mut GtkPadController;
16494    pub fn gtk_pad_controller_set_action(
16495        controller: *mut GtkPadController,
16496        type_: GtkPadActionType,
16497        index: c_int,
16498        mode: c_int,
16499        label: *const c_char,
16500        action_name: *const c_char,
16501    );
16502    pub fn gtk_pad_controller_set_action_entries(
16503        controller: *mut GtkPadController,
16504        entries: *const GtkPadActionEntry,
16505        n_entries: c_int,
16506    );
16507
16508    //=========================================================================
16509    // GtkPageSetup
16510    //=========================================================================
16511    pub fn gtk_page_setup_get_type() -> GType;
16512    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
16513    pub fn gtk_page_setup_new_from_file(
16514        file_name: *const c_char,
16515        error: *mut *mut glib::GError,
16516    ) -> *mut GtkPageSetup;
16517    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
16518    pub fn gtk_page_setup_new_from_key_file(
16519        key_file: *mut glib::GKeyFile,
16520        group_name: *const c_char,
16521        error: *mut *mut glib::GError,
16522    ) -> *mut GtkPageSetup;
16523    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
16524    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16525    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16526    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
16527    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16528    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16529    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16530    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
16531    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16532    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16533    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16534    pub fn gtk_page_setup_load_file(
16535        setup: *mut GtkPageSetup,
16536        file_name: *const c_char,
16537        error: *mut *mut glib::GError,
16538    ) -> gboolean;
16539    pub fn gtk_page_setup_load_key_file(
16540        setup: *mut GtkPageSetup,
16541        key_file: *mut glib::GKeyFile,
16542        group_name: *const c_char,
16543        error: *mut *mut glib::GError,
16544    ) -> gboolean;
16545    pub fn gtk_page_setup_set_bottom_margin(
16546        setup: *mut GtkPageSetup,
16547        margin: c_double,
16548        unit: GtkUnit,
16549    );
16550    pub fn gtk_page_setup_set_left_margin(
16551        setup: *mut GtkPageSetup,
16552        margin: c_double,
16553        unit: GtkUnit,
16554    );
16555    pub fn gtk_page_setup_set_orientation(
16556        setup: *mut GtkPageSetup,
16557        orientation: GtkPageOrientation,
16558    );
16559    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
16560    pub fn gtk_page_setup_set_paper_size_and_default_margins(
16561        setup: *mut GtkPageSetup,
16562        size: *mut GtkPaperSize,
16563    );
16564    pub fn gtk_page_setup_set_right_margin(
16565        setup: *mut GtkPageSetup,
16566        margin: c_double,
16567        unit: GtkUnit,
16568    );
16569    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
16570    pub fn gtk_page_setup_to_file(
16571        setup: *mut GtkPageSetup,
16572        file_name: *const c_char,
16573        error: *mut *mut glib::GError,
16574    ) -> gboolean;
16575    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
16576    pub fn gtk_page_setup_to_key_file(
16577        setup: *mut GtkPageSetup,
16578        key_file: *mut glib::GKeyFile,
16579        group_name: *const c_char,
16580    );
16581
16582    //=========================================================================
16583    // GtkPageSetupUnixDialog
16584    //=========================================================================
16585    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
16586    pub fn gtk_page_setup_unix_dialog_new(
16587        title: *const c_char,
16588        parent: *mut GtkWindow,
16589    ) -> *mut GtkWidget;
16590    pub fn gtk_page_setup_unix_dialog_get_page_setup(
16591        dialog: *mut GtkPageSetupUnixDialog,
16592    ) -> *mut GtkPageSetup;
16593    pub fn gtk_page_setup_unix_dialog_get_print_settings(
16594        dialog: *mut GtkPageSetupUnixDialog,
16595    ) -> *mut GtkPrintSettings;
16596    pub fn gtk_page_setup_unix_dialog_set_page_setup(
16597        dialog: *mut GtkPageSetupUnixDialog,
16598        page_setup: *mut GtkPageSetup,
16599    );
16600    pub fn gtk_page_setup_unix_dialog_set_print_settings(
16601        dialog: *mut GtkPageSetupUnixDialog,
16602        print_settings: *mut GtkPrintSettings,
16603    );
16604
16605    //=========================================================================
16606    // GtkPaned
16607    //=========================================================================
16608    pub fn gtk_paned_get_type() -> GType;
16609    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
16610    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
16611    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
16612    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
16613    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
16614    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
16615    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
16616    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
16617    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
16618    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
16619    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
16620    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
16621    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
16622    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
16623    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
16624    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
16625    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
16626
16627    //=========================================================================
16628    // GtkParamSpecExpression
16629    //=========================================================================
16630    pub fn gtk_param_expression_get_type() -> GType;
16631
16632    //=========================================================================
16633    // GtkPasswordEntry
16634    //=========================================================================
16635    pub fn gtk_password_entry_get_type() -> GType;
16636    pub fn gtk_password_entry_new() -> *mut GtkWidget;
16637    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
16638    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
16639    pub fn gtk_password_entry_set_extra_menu(
16640        entry: *mut GtkPasswordEntry,
16641        model: *mut gio::GMenuModel,
16642    );
16643    pub fn gtk_password_entry_set_show_peek_icon(
16644        entry: *mut GtkPasswordEntry,
16645        show_peek_icon: gboolean,
16646    );
16647
16648    //=========================================================================
16649    // GtkPasswordEntryBuffer
16650    //=========================================================================
16651    #[cfg(feature = "v4_4")]
16652    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16653    pub fn gtk_password_entry_buffer_get_type() -> GType;
16654    #[cfg(feature = "v4_4")]
16655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16656    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
16657
16658    //=========================================================================
16659    // GtkPicture
16660    //=========================================================================
16661    pub fn gtk_picture_get_type() -> GType;
16662    pub fn gtk_picture_new() -> *mut GtkWidget;
16663    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
16664    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
16665    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
16666    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
16667    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
16668    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
16669    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
16670    #[cfg(feature = "v4_8")]
16671    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16672    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
16673    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
16674    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
16675    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
16676    pub fn gtk_picture_set_alternative_text(
16677        self_: *mut GtkPicture,
16678        alternative_text: *const c_char,
16679    );
16680    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
16681    #[cfg(feature = "v4_8")]
16682    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16683    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
16684    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
16685    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
16686    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
16687    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
16688    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
16689    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
16690
16691    //=========================================================================
16692    // GtkPopover
16693    //=========================================================================
16694    pub fn gtk_popover_get_type() -> GType;
16695    pub fn gtk_popover_new() -> *mut GtkWidget;
16696    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
16697    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
16698    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
16699    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
16700    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
16701    pub fn gtk_popover_get_offset(
16702        popover: *mut GtkPopover,
16703        x_offset: *mut c_int,
16704        y_offset: *mut c_int,
16705    );
16706    pub fn gtk_popover_get_pointing_to(
16707        popover: *mut GtkPopover,
16708        rect: *mut gdk::GdkRectangle,
16709    ) -> gboolean;
16710    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
16711    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
16712    pub fn gtk_popover_popup(popover: *mut GtkPopover);
16713    pub fn gtk_popover_present(popover: *mut GtkPopover);
16714    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
16715    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
16716    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
16717    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
16718    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
16719    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
16720    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
16721    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
16722    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
16723
16724    //=========================================================================
16725    // GtkPopoverMenu
16726    //=========================================================================
16727    pub fn gtk_popover_menu_get_type() -> GType;
16728    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
16729    pub fn gtk_popover_menu_new_from_model_full(
16730        model: *mut gio::GMenuModel,
16731        flags: GtkPopoverMenuFlags,
16732    ) -> *mut GtkWidget;
16733    pub fn gtk_popover_menu_add_child(
16734        popover: *mut GtkPopoverMenu,
16735        child: *mut GtkWidget,
16736        id: *const c_char,
16737    ) -> gboolean;
16738    #[cfg(feature = "v4_14")]
16739    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16740    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
16741    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
16742    pub fn gtk_popover_menu_remove_child(
16743        popover: *mut GtkPopoverMenu,
16744        child: *mut GtkWidget,
16745    ) -> gboolean;
16746    #[cfg(feature = "v4_14")]
16747    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16748    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
16749    pub fn gtk_popover_menu_set_menu_model(
16750        popover: *mut GtkPopoverMenu,
16751        model: *mut gio::GMenuModel,
16752    );
16753
16754    //=========================================================================
16755    // GtkPopoverMenuBar
16756    //=========================================================================
16757    pub fn gtk_popover_menu_bar_get_type() -> GType;
16758    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
16759    pub fn gtk_popover_menu_bar_add_child(
16760        bar: *mut GtkPopoverMenuBar,
16761        child: *mut GtkWidget,
16762        id: *const c_char,
16763    ) -> gboolean;
16764    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
16765        -> *mut gio::GMenuModel;
16766    pub fn gtk_popover_menu_bar_remove_child(
16767        bar: *mut GtkPopoverMenuBar,
16768        child: *mut GtkWidget,
16769    ) -> gboolean;
16770    pub fn gtk_popover_menu_bar_set_menu_model(
16771        bar: *mut GtkPopoverMenuBar,
16772        model: *mut gio::GMenuModel,
16773    );
16774
16775    //=========================================================================
16776    // GtkPrintContext
16777    //=========================================================================
16778    pub fn gtk_print_context_get_type() -> GType;
16779    pub fn gtk_print_context_create_pango_context(
16780        context: *mut GtkPrintContext,
16781    ) -> *mut pango::PangoContext;
16782    pub fn gtk_print_context_create_pango_layout(
16783        context: *mut GtkPrintContext,
16784    ) -> *mut pango::PangoLayout;
16785    pub fn gtk_print_context_get_cairo_context(
16786        context: *mut GtkPrintContext,
16787    ) -> *mut cairo::cairo_t;
16788    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
16789    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
16790    pub fn gtk_print_context_get_hard_margins(
16791        context: *mut GtkPrintContext,
16792        top: *mut c_double,
16793        bottom: *mut c_double,
16794        left: *mut c_double,
16795        right: *mut c_double,
16796    ) -> gboolean;
16797    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
16798    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
16799    pub fn gtk_print_context_get_pango_fontmap(
16800        context: *mut GtkPrintContext,
16801    ) -> *mut pango::PangoFontMap;
16802    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
16803    pub fn gtk_print_context_set_cairo_context(
16804        context: *mut GtkPrintContext,
16805        cr: *mut cairo::cairo_t,
16806        dpi_x: c_double,
16807        dpi_y: c_double,
16808    );
16809
16810    //=========================================================================
16811    // GtkPrintDialog
16812    //=========================================================================
16813    #[cfg(feature = "v4_14")]
16814    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16815    pub fn gtk_print_dialog_get_type() -> GType;
16816    #[cfg(feature = "v4_14")]
16817    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16818    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
16819    #[cfg(feature = "v4_14")]
16820    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16821    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
16822    #[cfg(feature = "v4_14")]
16823    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16824    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
16825    #[cfg(feature = "v4_14")]
16826    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16827    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
16828    #[cfg(feature = "v4_14")]
16829    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16830    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
16831        -> *mut GtkPrintSettings;
16832    #[cfg(feature = "v4_14")]
16833    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16834    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
16835    #[cfg(feature = "v4_14")]
16836    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16837    pub fn gtk_print_dialog_print(
16838        self_: *mut GtkPrintDialog,
16839        parent: *mut GtkWindow,
16840        setup: *mut GtkPrintSetup,
16841        cancellable: *mut gio::GCancellable,
16842        callback: gio::GAsyncReadyCallback,
16843        user_data: gpointer,
16844    );
16845    #[cfg(feature = "v4_14")]
16846    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16847    pub fn gtk_print_dialog_print_file(
16848        self_: *mut GtkPrintDialog,
16849        parent: *mut GtkWindow,
16850        setup: *mut GtkPrintSetup,
16851        file: *mut gio::GFile,
16852        cancellable: *mut gio::GCancellable,
16853        callback: gio::GAsyncReadyCallback,
16854        user_data: gpointer,
16855    );
16856    #[cfg(feature = "v4_14")]
16857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16858    pub fn gtk_print_dialog_print_file_finish(
16859        self_: *mut GtkPrintDialog,
16860        result: *mut gio::GAsyncResult,
16861        error: *mut *mut glib::GError,
16862    ) -> gboolean;
16863    #[cfg(feature = "v4_14")]
16864    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16865    pub fn gtk_print_dialog_print_finish(
16866        self_: *mut GtkPrintDialog,
16867        result: *mut gio::GAsyncResult,
16868        error: *mut *mut glib::GError,
16869    ) -> *mut gio::GOutputStream;
16870    #[cfg(feature = "v4_14")]
16871    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16872    pub fn gtk_print_dialog_set_accept_label(
16873        self_: *mut GtkPrintDialog,
16874        accept_label: *const c_char,
16875    );
16876    #[cfg(feature = "v4_14")]
16877    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16878    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
16879    #[cfg(feature = "v4_14")]
16880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16881    pub fn gtk_print_dialog_set_page_setup(
16882        self_: *mut GtkPrintDialog,
16883        page_setup: *mut GtkPageSetup,
16884    );
16885    #[cfg(feature = "v4_14")]
16886    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16887    pub fn gtk_print_dialog_set_print_settings(
16888        self_: *mut GtkPrintDialog,
16889        print_settings: *mut GtkPrintSettings,
16890    );
16891    #[cfg(feature = "v4_14")]
16892    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16893    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
16894    #[cfg(feature = "v4_14")]
16895    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16896    pub fn gtk_print_dialog_setup(
16897        self_: *mut GtkPrintDialog,
16898        parent: *mut GtkWindow,
16899        cancellable: *mut gio::GCancellable,
16900        callback: gio::GAsyncReadyCallback,
16901        user_data: gpointer,
16902    );
16903    #[cfg(feature = "v4_14")]
16904    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
16905    pub fn gtk_print_dialog_setup_finish(
16906        self_: *mut GtkPrintDialog,
16907        result: *mut gio::GAsyncResult,
16908        error: *mut *mut glib::GError,
16909    ) -> *mut GtkPrintSetup;
16910
16911    //=========================================================================
16912    // GtkPrintJob
16913    //=========================================================================
16914    pub fn gtk_print_job_get_type() -> GType;
16915    pub fn gtk_print_job_new(
16916        title: *const c_char,
16917        printer: *mut GtkPrinter,
16918        settings: *mut GtkPrintSettings,
16919        page_setup: *mut GtkPageSetup,
16920    ) -> *mut GtkPrintJob;
16921    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
16922    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
16923    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
16924    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
16925    pub fn gtk_print_job_get_page_ranges(
16926        job: *mut GtkPrintJob,
16927        n_ranges: *mut c_int,
16928    ) -> *mut GtkPageRange;
16929    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
16930    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
16931    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
16932    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
16933    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
16934    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
16935    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
16936    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
16937    pub fn gtk_print_job_get_surface(
16938        job: *mut GtkPrintJob,
16939        error: *mut *mut glib::GError,
16940    ) -> *mut cairo::cairo_surface_t;
16941    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
16942    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
16943    pub fn gtk_print_job_send(
16944        job: *mut GtkPrintJob,
16945        callback: GtkPrintJobCompleteFunc,
16946        user_data: gpointer,
16947        dnotify: glib::GDestroyNotify,
16948    );
16949    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
16950    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
16951    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
16952    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
16953    pub fn gtk_print_job_set_page_ranges(
16954        job: *mut GtkPrintJob,
16955        ranges: *mut GtkPageRange,
16956        n_ranges: c_int,
16957    );
16958    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
16959    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
16960    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
16961    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
16962    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
16963    pub fn gtk_print_job_set_source_fd(
16964        job: *mut GtkPrintJob,
16965        fd: c_int,
16966        error: *mut *mut glib::GError,
16967    ) -> gboolean;
16968    pub fn gtk_print_job_set_source_file(
16969        job: *mut GtkPrintJob,
16970        filename: *const c_char,
16971        error: *mut *mut glib::GError,
16972    ) -> gboolean;
16973    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
16974
16975    //=========================================================================
16976    // GtkPrintOperation
16977    //=========================================================================
16978    pub fn gtk_print_operation_get_type() -> GType;
16979    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
16980    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
16981    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
16982    pub fn gtk_print_operation_get_default_page_setup(
16983        op: *mut GtkPrintOperation,
16984    ) -> *mut GtkPageSetup;
16985    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
16986    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
16987    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
16988    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
16989    pub fn gtk_print_operation_get_print_settings(
16990        op: *mut GtkPrintOperation,
16991    ) -> *mut GtkPrintSettings;
16992    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
16993    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
16994    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
16995    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
16996    pub fn gtk_print_operation_run(
16997        op: *mut GtkPrintOperation,
16998        action: GtkPrintOperationAction,
16999        parent: *mut GtkWindow,
17000        error: *mut *mut glib::GError,
17001    ) -> GtkPrintOperationResult;
17002    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17003    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17004    pub fn gtk_print_operation_set_custom_tab_label(
17005        op: *mut GtkPrintOperation,
17006        label: *const c_char,
17007    );
17008    pub fn gtk_print_operation_set_default_page_setup(
17009        op: *mut GtkPrintOperation,
17010        default_page_setup: *mut GtkPageSetup,
17011    );
17012    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17013    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17014    pub fn gtk_print_operation_set_export_filename(
17015        op: *mut GtkPrintOperation,
17016        filename: *const c_char,
17017    );
17018    pub fn gtk_print_operation_set_has_selection(
17019        op: *mut GtkPrintOperation,
17020        has_selection: gboolean,
17021    );
17022    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17023    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17024    pub fn gtk_print_operation_set_print_settings(
17025        op: *mut GtkPrintOperation,
17026        print_settings: *mut GtkPrintSettings,
17027    );
17028    pub fn gtk_print_operation_set_show_progress(
17029        op: *mut GtkPrintOperation,
17030        show_progress: gboolean,
17031    );
17032    pub fn gtk_print_operation_set_support_selection(
17033        op: *mut GtkPrintOperation,
17034        support_selection: gboolean,
17035    );
17036    pub fn gtk_print_operation_set_track_print_status(
17037        op: *mut GtkPrintOperation,
17038        track_status: gboolean,
17039    );
17040    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17041    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17042
17043    //=========================================================================
17044    // GtkPrintSettings
17045    //=========================================================================
17046    pub fn gtk_print_settings_get_type() -> GType;
17047    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17048    pub fn gtk_print_settings_new_from_file(
17049        file_name: *const c_char,
17050        error: *mut *mut glib::GError,
17051    ) -> *mut GtkPrintSettings;
17052    pub fn gtk_print_settings_new_from_gvariant(
17053        variant: *mut glib::GVariant,
17054    ) -> *mut GtkPrintSettings;
17055    pub fn gtk_print_settings_new_from_key_file(
17056        key_file: *mut glib::GKeyFile,
17057        group_name: *const c_char,
17058        error: *mut *mut glib::GError,
17059    ) -> *mut GtkPrintSettings;
17060    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17061    pub fn gtk_print_settings_foreach(
17062        settings: *mut GtkPrintSettings,
17063        func: GtkPrintSettingsFunc,
17064        user_data: gpointer,
17065    );
17066    pub fn gtk_print_settings_get(
17067        settings: *mut GtkPrintSettings,
17068        key: *const c_char,
17069    ) -> *const c_char;
17070    pub fn gtk_print_settings_get_bool(
17071        settings: *mut GtkPrintSettings,
17072        key: *const c_char,
17073    ) -> gboolean;
17074    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17075    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17076    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17077    pub fn gtk_print_settings_get_double(
17078        settings: *mut GtkPrintSettings,
17079        key: *const c_char,
17080    ) -> c_double;
17081    pub fn gtk_print_settings_get_double_with_default(
17082        settings: *mut GtkPrintSettings,
17083        key: *const c_char,
17084        def: c_double,
17085    ) -> c_double;
17086    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17087    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17088    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17089        -> c_int;
17090    pub fn gtk_print_settings_get_int_with_default(
17091        settings: *mut GtkPrintSettings,
17092        key: *const c_char,
17093        def: c_int,
17094    ) -> c_int;
17095    pub fn gtk_print_settings_get_length(
17096        settings: *mut GtkPrintSettings,
17097        key: *const c_char,
17098        unit: GtkUnit,
17099    ) -> c_double;
17100    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17101    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17102    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17103    pub fn gtk_print_settings_get_number_up_layout(
17104        settings: *mut GtkPrintSettings,
17105    ) -> GtkNumberUpLayout;
17106    pub fn gtk_print_settings_get_orientation(
17107        settings: *mut GtkPrintSettings,
17108    ) -> GtkPageOrientation;
17109    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17110    pub fn gtk_print_settings_get_page_ranges(
17111        settings: *mut GtkPrintSettings,
17112        num_ranges: *mut c_int,
17113    ) -> *mut GtkPageRange;
17114    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17115    pub fn gtk_print_settings_get_paper_height(
17116        settings: *mut GtkPrintSettings,
17117        unit: GtkUnit,
17118    ) -> c_double;
17119    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17120    pub fn gtk_print_settings_get_paper_width(
17121        settings: *mut GtkPrintSettings,
17122        unit: GtkUnit,
17123    ) -> c_double;
17124    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17125    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17126    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17127    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17128    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17129    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17130    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17131    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17132    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17133    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17134    pub fn gtk_print_settings_has_key(
17135        settings: *mut GtkPrintSettings,
17136        key: *const c_char,
17137    ) -> gboolean;
17138    pub fn gtk_print_settings_load_file(
17139        settings: *mut GtkPrintSettings,
17140        file_name: *const c_char,
17141        error: *mut *mut glib::GError,
17142    ) -> gboolean;
17143    pub fn gtk_print_settings_load_key_file(
17144        settings: *mut GtkPrintSettings,
17145        key_file: *mut glib::GKeyFile,
17146        group_name: *const c_char,
17147        error: *mut *mut glib::GError,
17148    ) -> gboolean;
17149    pub fn gtk_print_settings_set(
17150        settings: *mut GtkPrintSettings,
17151        key: *const c_char,
17152        value: *const c_char,
17153    );
17154    pub fn gtk_print_settings_set_bool(
17155        settings: *mut GtkPrintSettings,
17156        key: *const c_char,
17157        value: gboolean,
17158    );
17159    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17160    pub fn gtk_print_settings_set_default_source(
17161        settings: *mut GtkPrintSettings,
17162        default_source: *const c_char,
17163    );
17164    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17165    pub fn gtk_print_settings_set_double(
17166        settings: *mut GtkPrintSettings,
17167        key: *const c_char,
17168        value: c_double,
17169    );
17170    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17171    pub fn gtk_print_settings_set_finishings(
17172        settings: *mut GtkPrintSettings,
17173        finishings: *const c_char,
17174    );
17175    pub fn gtk_print_settings_set_int(
17176        settings: *mut GtkPrintSettings,
17177        key: *const c_char,
17178        value: c_int,
17179    );
17180    pub fn gtk_print_settings_set_length(
17181        settings: *mut GtkPrintSettings,
17182        key: *const c_char,
17183        value: c_double,
17184        unit: GtkUnit,
17185    );
17186    pub fn gtk_print_settings_set_media_type(
17187        settings: *mut GtkPrintSettings,
17188        media_type: *const c_char,
17189    );
17190    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17191    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17192    pub fn gtk_print_settings_set_number_up_layout(
17193        settings: *mut GtkPrintSettings,
17194        number_up_layout: GtkNumberUpLayout,
17195    );
17196    pub fn gtk_print_settings_set_orientation(
17197        settings: *mut GtkPrintSettings,
17198        orientation: GtkPageOrientation,
17199    );
17200    pub fn gtk_print_settings_set_output_bin(
17201        settings: *mut GtkPrintSettings,
17202        output_bin: *const c_char,
17203    );
17204    pub fn gtk_print_settings_set_page_ranges(
17205        settings: *mut GtkPrintSettings,
17206        page_ranges: *mut GtkPageRange,
17207        num_ranges: c_int,
17208    );
17209    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17210    pub fn gtk_print_settings_set_paper_height(
17211        settings: *mut GtkPrintSettings,
17212        height: c_double,
17213        unit: GtkUnit,
17214    );
17215    pub fn gtk_print_settings_set_paper_size(
17216        settings: *mut GtkPrintSettings,
17217        paper_size: *mut GtkPaperSize,
17218    );
17219    pub fn gtk_print_settings_set_paper_width(
17220        settings: *mut GtkPrintSettings,
17221        width: c_double,
17222        unit: GtkUnit,
17223    );
17224    pub fn gtk_print_settings_set_print_pages(
17225        settings: *mut GtkPrintSettings,
17226        pages: GtkPrintPages,
17227    );
17228    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17229    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17230    pub fn gtk_print_settings_set_quality(
17231        settings: *mut GtkPrintSettings,
17232        quality: GtkPrintQuality,
17233    );
17234    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17235    pub fn gtk_print_settings_set_resolution_xy(
17236        settings: *mut GtkPrintSettings,
17237        resolution_x: c_int,
17238        resolution_y: c_int,
17239    );
17240    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17241    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17242    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17243    pub fn gtk_print_settings_to_file(
17244        settings: *mut GtkPrintSettings,
17245        file_name: *const c_char,
17246        error: *mut *mut glib::GError,
17247    ) -> gboolean;
17248    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17249    pub fn gtk_print_settings_to_key_file(
17250        settings: *mut GtkPrintSettings,
17251        key_file: *mut glib::GKeyFile,
17252        group_name: *const c_char,
17253    );
17254    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17255
17256    //=========================================================================
17257    // GtkPrintUnixDialog
17258    //=========================================================================
17259    pub fn gtk_print_unix_dialog_get_type() -> GType;
17260    pub fn gtk_print_unix_dialog_new(
17261        title: *const c_char,
17262        parent: *mut GtkWindow,
17263    ) -> *mut GtkWidget;
17264    pub fn gtk_print_unix_dialog_add_custom_tab(
17265        dialog: *mut GtkPrintUnixDialog,
17266        child: *mut GtkWidget,
17267        tab_label: *mut GtkWidget,
17268    );
17269    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17270    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17271    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17272    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17273        dialog: *mut GtkPrintUnixDialog,
17274    ) -> GtkPrintCapabilities;
17275    pub fn gtk_print_unix_dialog_get_page_setup(
17276        dialog: *mut GtkPrintUnixDialog,
17277    ) -> *mut GtkPageSetup;
17278    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17279    pub fn gtk_print_unix_dialog_get_selected_printer(
17280        dialog: *mut GtkPrintUnixDialog,
17281    ) -> *mut GtkPrinter;
17282    pub fn gtk_print_unix_dialog_get_settings(
17283        dialog: *mut GtkPrintUnixDialog,
17284    ) -> *mut GtkPrintSettings;
17285    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17286        -> gboolean;
17287    pub fn gtk_print_unix_dialog_set_current_page(
17288        dialog: *mut GtkPrintUnixDialog,
17289        current_page: c_int,
17290    );
17291    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17292        dialog: *mut GtkPrintUnixDialog,
17293        embed: gboolean,
17294    );
17295    pub fn gtk_print_unix_dialog_set_has_selection(
17296        dialog: *mut GtkPrintUnixDialog,
17297        has_selection: gboolean,
17298    );
17299    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17300        dialog: *mut GtkPrintUnixDialog,
17301        capabilities: GtkPrintCapabilities,
17302    );
17303    pub fn gtk_print_unix_dialog_set_page_setup(
17304        dialog: *mut GtkPrintUnixDialog,
17305        page_setup: *mut GtkPageSetup,
17306    );
17307    pub fn gtk_print_unix_dialog_set_settings(
17308        dialog: *mut GtkPrintUnixDialog,
17309        settings: *mut GtkPrintSettings,
17310    );
17311    pub fn gtk_print_unix_dialog_set_support_selection(
17312        dialog: *mut GtkPrintUnixDialog,
17313        support_selection: gboolean,
17314    );
17315
17316    //=========================================================================
17317    // GtkPrinter
17318    //=========================================================================
17319    pub fn gtk_printer_get_type() -> GType;
17320    pub fn gtk_printer_new(
17321        name: *const c_char,
17322        backend: *mut GtkPrintBackend,
17323        virtual_: gboolean,
17324    ) -> *mut GtkPrinter;
17325    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17326    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17327    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17328    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17329    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17330    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17331    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17332    pub fn gtk_printer_get_hard_margins(
17333        printer: *mut GtkPrinter,
17334        top: *mut c_double,
17335        bottom: *mut c_double,
17336        left: *mut c_double,
17337        right: *mut c_double,
17338    ) -> gboolean;
17339    pub fn gtk_printer_get_hard_margins_for_paper_size(
17340        printer: *mut GtkPrinter,
17341        paper_size: *mut GtkPaperSize,
17342        top: *mut c_double,
17343        bottom: *mut c_double,
17344        left: *mut c_double,
17345        right: *mut c_double,
17346    ) -> gboolean;
17347    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17348    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17349    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17350    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17351    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17352    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17353    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17354    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17355    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17356    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17357    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17358    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17359    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17360
17361    //=========================================================================
17362    // GtkProgressBar
17363    //=========================================================================
17364    pub fn gtk_progress_bar_get_type() -> GType;
17365    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17366    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17367    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17368    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17369    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17370    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17371    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17372    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17373    pub fn gtk_progress_bar_set_ellipsize(
17374        pbar: *mut GtkProgressBar,
17375        mode: pango::PangoEllipsizeMode,
17376    );
17377    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17378    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17379    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17380    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17381    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17382
17383    //=========================================================================
17384    // GtkPropertyExpression
17385    //=========================================================================
17386    pub fn gtk_property_expression_get_type() -> GType;
17387    pub fn gtk_property_expression_new(
17388        this_type: GType,
17389        expression: *mut GtkExpression,
17390        property_name: *const c_char,
17391    ) -> *mut GtkPropertyExpression;
17392    pub fn gtk_property_expression_new_for_pspec(
17393        expression: *mut GtkExpression,
17394        pspec: *mut gobject::GParamSpec,
17395    ) -> *mut GtkPropertyExpression;
17396    pub fn gtk_property_expression_get_expression(
17397        expression: *mut GtkPropertyExpression,
17398    ) -> *mut GtkExpression;
17399    pub fn gtk_property_expression_get_pspec(
17400        expression: *mut GtkPropertyExpression,
17401    ) -> *mut gobject::GParamSpec;
17402
17403    //=========================================================================
17404    // GtkRange
17405    //=========================================================================
17406    pub fn gtk_range_get_type() -> GType;
17407    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
17408    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
17409    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
17410    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
17411    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
17412    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
17413    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
17414    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
17415    pub fn gtk_range_get_slider_range(
17416        range: *mut GtkRange,
17417        slider_start: *mut c_int,
17418        slider_end: *mut c_int,
17419    );
17420    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
17421    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
17422    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
17423    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
17424    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
17425    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
17426    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
17427    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
17428    pub fn gtk_range_set_restrict_to_fill_level(
17429        range: *mut GtkRange,
17430        restrict_to_fill_level: gboolean,
17431    );
17432    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
17433    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
17434    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
17435    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
17436
17437    //=========================================================================
17438    // GtkRecentManager
17439    //=========================================================================
17440    pub fn gtk_recent_manager_get_type() -> GType;
17441    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
17442    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
17443    pub fn gtk_recent_manager_add_full(
17444        manager: *mut GtkRecentManager,
17445        uri: *const c_char,
17446        recent_data: *const GtkRecentData,
17447    ) -> gboolean;
17448    pub fn gtk_recent_manager_add_item(
17449        manager: *mut GtkRecentManager,
17450        uri: *const c_char,
17451    ) -> gboolean;
17452    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
17453    pub fn gtk_recent_manager_has_item(
17454        manager: *mut GtkRecentManager,
17455        uri: *const c_char,
17456    ) -> gboolean;
17457    pub fn gtk_recent_manager_lookup_item(
17458        manager: *mut GtkRecentManager,
17459        uri: *const c_char,
17460        error: *mut *mut glib::GError,
17461    ) -> *mut GtkRecentInfo;
17462    pub fn gtk_recent_manager_move_item(
17463        manager: *mut GtkRecentManager,
17464        uri: *const c_char,
17465        new_uri: *const c_char,
17466        error: *mut *mut glib::GError,
17467    ) -> gboolean;
17468    pub fn gtk_recent_manager_purge_items(
17469        manager: *mut GtkRecentManager,
17470        error: *mut *mut glib::GError,
17471    ) -> c_int;
17472    pub fn gtk_recent_manager_remove_item(
17473        manager: *mut GtkRecentManager,
17474        uri: *const c_char,
17475        error: *mut *mut glib::GError,
17476    ) -> gboolean;
17477
17478    //=========================================================================
17479    // GtkRevealer
17480    //=========================================================================
17481    pub fn gtk_revealer_get_type() -> GType;
17482    pub fn gtk_revealer_new() -> *mut GtkWidget;
17483    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
17484    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
17485    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
17486    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
17487    pub fn gtk_revealer_get_transition_type(
17488        revealer: *mut GtkRevealer,
17489    ) -> GtkRevealerTransitionType;
17490    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
17491    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
17492    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
17493    pub fn gtk_revealer_set_transition_type(
17494        revealer: *mut GtkRevealer,
17495        transition: GtkRevealerTransitionType,
17496    );
17497
17498    //=========================================================================
17499    // GtkScale
17500    //=========================================================================
17501    pub fn gtk_scale_get_type() -> GType;
17502    pub fn gtk_scale_new(
17503        orientation: GtkOrientation,
17504        adjustment: *mut GtkAdjustment,
17505    ) -> *mut GtkWidget;
17506    pub fn gtk_scale_new_with_range(
17507        orientation: GtkOrientation,
17508        min: c_double,
17509        max: c_double,
17510        step: c_double,
17511    ) -> *mut GtkWidget;
17512    pub fn gtk_scale_add_mark(
17513        scale: *mut GtkScale,
17514        value: c_double,
17515        position: GtkPositionType,
17516        markup: *const c_char,
17517    );
17518    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
17519    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
17520    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
17521    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
17522    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
17523    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
17524    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
17525    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
17526    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
17527    pub fn gtk_scale_set_format_value_func(
17528        scale: *mut GtkScale,
17529        func: GtkScaleFormatValueFunc,
17530        user_data: gpointer,
17531        destroy_notify: glib::GDestroyNotify,
17532    );
17533    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
17534    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
17535
17536    //=========================================================================
17537    // GtkScaleButton
17538    //=========================================================================
17539    pub fn gtk_scale_button_get_type() -> GType;
17540    pub fn gtk_scale_button_new(
17541        min: c_double,
17542        max: c_double,
17543        step: c_double,
17544        icons: *mut *const c_char,
17545    ) -> *mut GtkWidget;
17546    #[cfg(feature = "v4_10")]
17547    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
17548    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
17549    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
17550    #[cfg(feature = "v4_14")]
17551    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17552    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
17553    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
17554    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
17555    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
17556    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
17557    pub fn gtk_scale_button_set_adjustment(
17558        button: *mut GtkScaleButton,
17559        adjustment: *mut GtkAdjustment,
17560    );
17561    #[cfg(feature = "v4_14")]
17562    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17563    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
17564    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
17565    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
17566
17567    //=========================================================================
17568    // GtkScrollbar
17569    //=========================================================================
17570    pub fn gtk_scrollbar_get_type() -> GType;
17571    pub fn gtk_scrollbar_new(
17572        orientation: GtkOrientation,
17573        adjustment: *mut GtkAdjustment,
17574    ) -> *mut GtkWidget;
17575    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
17576    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
17577
17578    //=========================================================================
17579    // GtkScrolledWindow
17580    //=========================================================================
17581    pub fn gtk_scrolled_window_get_type() -> GType;
17582    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
17583    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
17584        -> *mut GtkWidget;
17585    pub fn gtk_scrolled_window_get_hadjustment(
17586        scrolled_window: *mut GtkScrolledWindow,
17587    ) -> *mut GtkAdjustment;
17588    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
17589    pub fn gtk_scrolled_window_get_hscrollbar(
17590        scrolled_window: *mut GtkScrolledWindow,
17591    ) -> *mut GtkWidget;
17592    pub fn gtk_scrolled_window_get_kinetic_scrolling(
17593        scrolled_window: *mut GtkScrolledWindow,
17594    ) -> gboolean;
17595    pub fn gtk_scrolled_window_get_max_content_height(
17596        scrolled_window: *mut GtkScrolledWindow,
17597    ) -> c_int;
17598    pub fn gtk_scrolled_window_get_max_content_width(
17599        scrolled_window: *mut GtkScrolledWindow,
17600    ) -> c_int;
17601    pub fn gtk_scrolled_window_get_min_content_height(
17602        scrolled_window: *mut GtkScrolledWindow,
17603    ) -> c_int;
17604    pub fn gtk_scrolled_window_get_min_content_width(
17605        scrolled_window: *mut GtkScrolledWindow,
17606    ) -> c_int;
17607    pub fn gtk_scrolled_window_get_overlay_scrolling(
17608        scrolled_window: *mut GtkScrolledWindow,
17609    ) -> gboolean;
17610    pub fn gtk_scrolled_window_get_placement(
17611        scrolled_window: *mut GtkScrolledWindow,
17612    ) -> GtkCornerType;
17613    pub fn gtk_scrolled_window_get_policy(
17614        scrolled_window: *mut GtkScrolledWindow,
17615        hscrollbar_policy: *mut GtkPolicyType,
17616        vscrollbar_policy: *mut GtkPolicyType,
17617    );
17618    pub fn gtk_scrolled_window_get_propagate_natural_height(
17619        scrolled_window: *mut GtkScrolledWindow,
17620    ) -> gboolean;
17621    pub fn gtk_scrolled_window_get_propagate_natural_width(
17622        scrolled_window: *mut GtkScrolledWindow,
17623    ) -> gboolean;
17624    pub fn gtk_scrolled_window_get_vadjustment(
17625        scrolled_window: *mut GtkScrolledWindow,
17626    ) -> *mut GtkAdjustment;
17627    pub fn gtk_scrolled_window_get_vscrollbar(
17628        scrolled_window: *mut GtkScrolledWindow,
17629    ) -> *mut GtkWidget;
17630    pub fn gtk_scrolled_window_set_child(
17631        scrolled_window: *mut GtkScrolledWindow,
17632        child: *mut GtkWidget,
17633    );
17634    pub fn gtk_scrolled_window_set_hadjustment(
17635        scrolled_window: *mut GtkScrolledWindow,
17636        hadjustment: *mut GtkAdjustment,
17637    );
17638    pub fn gtk_scrolled_window_set_has_frame(
17639        scrolled_window: *mut GtkScrolledWindow,
17640        has_frame: gboolean,
17641    );
17642    pub fn gtk_scrolled_window_set_kinetic_scrolling(
17643        scrolled_window: *mut GtkScrolledWindow,
17644        kinetic_scrolling: gboolean,
17645    );
17646    pub fn gtk_scrolled_window_set_max_content_height(
17647        scrolled_window: *mut GtkScrolledWindow,
17648        height: c_int,
17649    );
17650    pub fn gtk_scrolled_window_set_max_content_width(
17651        scrolled_window: *mut GtkScrolledWindow,
17652        width: c_int,
17653    );
17654    pub fn gtk_scrolled_window_set_min_content_height(
17655        scrolled_window: *mut GtkScrolledWindow,
17656        height: c_int,
17657    );
17658    pub fn gtk_scrolled_window_set_min_content_width(
17659        scrolled_window: *mut GtkScrolledWindow,
17660        width: c_int,
17661    );
17662    pub fn gtk_scrolled_window_set_overlay_scrolling(
17663        scrolled_window: *mut GtkScrolledWindow,
17664        overlay_scrolling: gboolean,
17665    );
17666    pub fn gtk_scrolled_window_set_placement(
17667        scrolled_window: *mut GtkScrolledWindow,
17668        window_placement: GtkCornerType,
17669    );
17670    pub fn gtk_scrolled_window_set_policy(
17671        scrolled_window: *mut GtkScrolledWindow,
17672        hscrollbar_policy: GtkPolicyType,
17673        vscrollbar_policy: GtkPolicyType,
17674    );
17675    pub fn gtk_scrolled_window_set_propagate_natural_height(
17676        scrolled_window: *mut GtkScrolledWindow,
17677        propagate: gboolean,
17678    );
17679    pub fn gtk_scrolled_window_set_propagate_natural_width(
17680        scrolled_window: *mut GtkScrolledWindow,
17681        propagate: gboolean,
17682    );
17683    pub fn gtk_scrolled_window_set_vadjustment(
17684        scrolled_window: *mut GtkScrolledWindow,
17685        vadjustment: *mut GtkAdjustment,
17686    );
17687    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
17688
17689    //=========================================================================
17690    // GtkSearchBar
17691    //=========================================================================
17692    pub fn gtk_search_bar_get_type() -> GType;
17693    pub fn gtk_search_bar_new() -> *mut GtkWidget;
17694    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
17695    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
17696    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
17697    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
17698    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
17699    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
17700    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
17701    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
17702    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
17703
17704    //=========================================================================
17705    // GtkSearchEntry
17706    //=========================================================================
17707    pub fn gtk_search_entry_get_type() -> GType;
17708    pub fn gtk_search_entry_new() -> *mut GtkWidget;
17709    #[cfg(feature = "v4_14")]
17710    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17711    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
17712    #[cfg(feature = "v4_14")]
17713    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17714    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
17715    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
17716    #[cfg(feature = "v4_10")]
17717    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
17718    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
17719    #[cfg(feature = "v4_8")]
17720    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17721    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
17722    #[cfg(feature = "v4_14")]
17723    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17724    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
17725    #[cfg(feature = "v4_14")]
17726    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17727    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
17728    pub fn gtk_search_entry_set_key_capture_widget(
17729        entry: *mut GtkSearchEntry,
17730        widget: *mut GtkWidget,
17731    );
17732    #[cfg(feature = "v4_10")]
17733    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
17734    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
17735    #[cfg(feature = "v4_8")]
17736    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17737    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
17738
17739    //=========================================================================
17740    // GtkSelectionFilterModel
17741    //=========================================================================
17742    pub fn gtk_selection_filter_model_get_type() -> GType;
17743    pub fn gtk_selection_filter_model_new(
17744        model: *mut GtkSelectionModel,
17745    ) -> *mut GtkSelectionFilterModel;
17746    pub fn gtk_selection_filter_model_get_model(
17747        self_: *mut GtkSelectionFilterModel,
17748    ) -> *mut GtkSelectionModel;
17749    pub fn gtk_selection_filter_model_set_model(
17750        self_: *mut GtkSelectionFilterModel,
17751        model: *mut GtkSelectionModel,
17752    );
17753
17754    //=========================================================================
17755    // GtkSeparator
17756    //=========================================================================
17757    pub fn gtk_separator_get_type() -> GType;
17758    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
17759
17760    //=========================================================================
17761    // GtkSettings
17762    //=========================================================================
17763    pub fn gtk_settings_get_type() -> GType;
17764    pub fn gtk_settings_get_default() -> *mut GtkSettings;
17765    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
17766    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
17767
17768    //=========================================================================
17769    // GtkShortcut
17770    //=========================================================================
17771    pub fn gtk_shortcut_get_type() -> GType;
17772    pub fn gtk_shortcut_new(
17773        trigger: *mut GtkShortcutTrigger,
17774        action: *mut GtkShortcutAction,
17775    ) -> *mut GtkShortcut;
17776    pub fn gtk_shortcut_new_with_arguments(
17777        trigger: *mut GtkShortcutTrigger,
17778        action: *mut GtkShortcutAction,
17779        format_string: *const c_char,
17780        ...
17781    ) -> *mut GtkShortcut;
17782    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
17783    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
17784    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
17785    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
17786    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
17787    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
17788
17789    //=========================================================================
17790    // GtkShortcutAction
17791    //=========================================================================
17792    pub fn gtk_shortcut_action_get_type() -> GType;
17793    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
17794    pub fn gtk_shortcut_action_activate(
17795        self_: *mut GtkShortcutAction,
17796        flags: GtkShortcutActionFlags,
17797        widget: *mut GtkWidget,
17798        args: *mut glib::GVariant,
17799    ) -> gboolean;
17800    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
17801    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
17802
17803    //=========================================================================
17804    // GtkShortcutController
17805    //=========================================================================
17806    pub fn gtk_shortcut_controller_get_type() -> GType;
17807    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
17808    pub fn gtk_shortcut_controller_new_for_model(
17809        model: *mut gio::GListModel,
17810    ) -> *mut GtkEventController;
17811    pub fn gtk_shortcut_controller_add_shortcut(
17812        self_: *mut GtkShortcutController,
17813        shortcut: *mut GtkShortcut,
17814    );
17815    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
17816        self_: *mut GtkShortcutController,
17817    ) -> gdk::GdkModifierType;
17818    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
17819        -> GtkShortcutScope;
17820    pub fn gtk_shortcut_controller_remove_shortcut(
17821        self_: *mut GtkShortcutController,
17822        shortcut: *mut GtkShortcut,
17823    );
17824    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
17825        self_: *mut GtkShortcutController,
17826        modifiers: gdk::GdkModifierType,
17827    );
17828    pub fn gtk_shortcut_controller_set_scope(
17829        self_: *mut GtkShortcutController,
17830        scope: GtkShortcutScope,
17831    );
17832
17833    //=========================================================================
17834    // GtkShortcutLabel
17835    //=========================================================================
17836    pub fn gtk_shortcut_label_get_type() -> GType;
17837    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
17838    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
17839    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
17840    pub fn gtk_shortcut_label_set_accelerator(
17841        self_: *mut GtkShortcutLabel,
17842        accelerator: *const c_char,
17843    );
17844    pub fn gtk_shortcut_label_set_disabled_text(
17845        self_: *mut GtkShortcutLabel,
17846        disabled_text: *const c_char,
17847    );
17848
17849    //=========================================================================
17850    // GtkShortcutTrigger
17851    //=========================================================================
17852    pub fn gtk_shortcut_trigger_get_type() -> GType;
17853    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
17854    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
17855    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
17856        -> gboolean;
17857    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
17858    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
17859    pub fn gtk_shortcut_trigger_print_label(
17860        self_: *mut GtkShortcutTrigger,
17861        display: *mut gdk::GdkDisplay,
17862        string: *mut glib::GString,
17863    ) -> gboolean;
17864    pub fn gtk_shortcut_trigger_to_label(
17865        self_: *mut GtkShortcutTrigger,
17866        display: *mut gdk::GdkDisplay,
17867    ) -> *mut c_char;
17868    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
17869    pub fn gtk_shortcut_trigger_trigger(
17870        self_: *mut GtkShortcutTrigger,
17871        event: *mut gdk::GdkEvent,
17872        enable_mnemonics: gboolean,
17873    ) -> gdk::GdkKeyMatch;
17874
17875    //=========================================================================
17876    // GtkShortcutsGroup
17877    //=========================================================================
17878    pub fn gtk_shortcuts_group_get_type() -> GType;
17879    #[cfg(feature = "v4_14")]
17880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17881    pub fn gtk_shortcuts_group_add_shortcut(
17882        self_: *mut GtkShortcutsGroup,
17883        shortcut: *mut GtkShortcutsShortcut,
17884    );
17885
17886    //=========================================================================
17887    // GtkShortcutsSection
17888    //=========================================================================
17889    pub fn gtk_shortcuts_section_get_type() -> GType;
17890    #[cfg(feature = "v4_14")]
17891    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17892    pub fn gtk_shortcuts_section_add_group(
17893        self_: *mut GtkShortcutsSection,
17894        group: *mut GtkShortcutsGroup,
17895    );
17896
17897    //=========================================================================
17898    // GtkShortcutsShortcut
17899    //=========================================================================
17900    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
17901
17902    //=========================================================================
17903    // GtkShortcutsWindow
17904    //=========================================================================
17905    pub fn gtk_shortcuts_window_get_type() -> GType;
17906    #[cfg(feature = "v4_14")]
17907    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17908    pub fn gtk_shortcuts_window_add_section(
17909        self_: *mut GtkShortcutsWindow,
17910        section: *mut GtkShortcutsSection,
17911    );
17912
17913    //=========================================================================
17914    // GtkSignalAction
17915    //=========================================================================
17916    pub fn gtk_signal_action_get_type() -> GType;
17917    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
17918    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
17919
17920    //=========================================================================
17921    // GtkSignalListItemFactory
17922    //=========================================================================
17923    pub fn gtk_signal_list_item_factory_get_type() -> GType;
17924    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
17925
17926    //=========================================================================
17927    // GtkSingleSelection
17928    //=========================================================================
17929    pub fn gtk_single_selection_get_type() -> GType;
17930    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
17931    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
17932    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
17933    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
17934    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
17935    pub fn gtk_single_selection_get_selected_item(
17936        self_: *mut GtkSingleSelection,
17937    ) -> *mut gobject::GObject;
17938    pub fn gtk_single_selection_set_autoselect(
17939        self_: *mut GtkSingleSelection,
17940        autoselect: gboolean,
17941    );
17942    pub fn gtk_single_selection_set_can_unselect(
17943        self_: *mut GtkSingleSelection,
17944        can_unselect: gboolean,
17945    );
17946    pub fn gtk_single_selection_set_model(
17947        self_: *mut GtkSingleSelection,
17948        model: *mut gio::GListModel,
17949    );
17950    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
17951
17952    //=========================================================================
17953    // GtkSizeGroup
17954    //=========================================================================
17955    pub fn gtk_size_group_get_type() -> GType;
17956    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
17957    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
17958    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
17959    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
17960    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
17961    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
17962
17963    //=========================================================================
17964    // GtkSliceListModel
17965    //=========================================================================
17966    pub fn gtk_slice_list_model_get_type() -> GType;
17967    pub fn gtk_slice_list_model_new(
17968        model: *mut gio::GListModel,
17969        offset: c_uint,
17970        size: c_uint,
17971    ) -> *mut GtkSliceListModel;
17972    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
17973    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
17974    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
17975    pub fn gtk_slice_list_model_set_model(
17976        self_: *mut GtkSliceListModel,
17977        model: *mut gio::GListModel,
17978    );
17979    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
17980    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
17981
17982    //=========================================================================
17983    // GtkSnapshot
17984    //=========================================================================
17985    pub fn gtk_snapshot_get_type() -> GType;
17986    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
17987    pub fn gtk_snapshot_append_border(
17988        snapshot: *mut GtkSnapshot,
17989        outline: *const gsk::GskRoundedRect,
17990        border_width: *const [c_float; 4],
17991        border_color: *const [gdk::GdkRGBA; 4],
17992    );
17993    pub fn gtk_snapshot_append_cairo(
17994        snapshot: *mut GtkSnapshot,
17995        bounds: *const graphene::graphene_rect_t,
17996    ) -> *mut cairo::cairo_t;
17997    pub fn gtk_snapshot_append_color(
17998        snapshot: *mut GtkSnapshot,
17999        color: *const gdk::GdkRGBA,
18000        bounds: *const graphene::graphene_rect_t,
18001    );
18002    pub fn gtk_snapshot_append_conic_gradient(
18003        snapshot: *mut GtkSnapshot,
18004        bounds: *const graphene::graphene_rect_t,
18005        center: *const graphene::graphene_point_t,
18006        rotation: c_float,
18007        stops: *const gsk::GskColorStop,
18008        n_stops: size_t,
18009    );
18010    #[cfg(feature = "v4_14")]
18011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18012    pub fn gtk_snapshot_append_fill(
18013        snapshot: *mut GtkSnapshot,
18014        path: *mut gsk::GskPath,
18015        fill_rule: gsk::GskFillRule,
18016        color: *const gdk::GdkRGBA,
18017    );
18018    pub fn gtk_snapshot_append_inset_shadow(
18019        snapshot: *mut GtkSnapshot,
18020        outline: *const gsk::GskRoundedRect,
18021        color: *const gdk::GdkRGBA,
18022        dx: c_float,
18023        dy: c_float,
18024        spread: c_float,
18025        blur_radius: c_float,
18026    );
18027    pub fn gtk_snapshot_append_layout(
18028        snapshot: *mut GtkSnapshot,
18029        layout: *mut pango::PangoLayout,
18030        color: *const gdk::GdkRGBA,
18031    );
18032    pub fn gtk_snapshot_append_linear_gradient(
18033        snapshot: *mut GtkSnapshot,
18034        bounds: *const graphene::graphene_rect_t,
18035        start_point: *const graphene::graphene_point_t,
18036        end_point: *const graphene::graphene_point_t,
18037        stops: *const gsk::GskColorStop,
18038        n_stops: size_t,
18039    );
18040    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18041    pub fn gtk_snapshot_append_outset_shadow(
18042        snapshot: *mut GtkSnapshot,
18043        outline: *const gsk::GskRoundedRect,
18044        color: *const gdk::GdkRGBA,
18045        dx: c_float,
18046        dy: c_float,
18047        spread: c_float,
18048        blur_radius: c_float,
18049    );
18050    pub fn gtk_snapshot_append_radial_gradient(
18051        snapshot: *mut GtkSnapshot,
18052        bounds: *const graphene::graphene_rect_t,
18053        center: *const graphene::graphene_point_t,
18054        hradius: c_float,
18055        vradius: c_float,
18056        start: c_float,
18057        end: c_float,
18058        stops: *const gsk::GskColorStop,
18059        n_stops: size_t,
18060    );
18061    pub fn gtk_snapshot_append_repeating_linear_gradient(
18062        snapshot: *mut GtkSnapshot,
18063        bounds: *const graphene::graphene_rect_t,
18064        start_point: *const graphene::graphene_point_t,
18065        end_point: *const graphene::graphene_point_t,
18066        stops: *const gsk::GskColorStop,
18067        n_stops: size_t,
18068    );
18069    pub fn gtk_snapshot_append_repeating_radial_gradient(
18070        snapshot: *mut GtkSnapshot,
18071        bounds: *const graphene::graphene_rect_t,
18072        center: *const graphene::graphene_point_t,
18073        hradius: c_float,
18074        vradius: c_float,
18075        start: c_float,
18076        end: c_float,
18077        stops: *const gsk::GskColorStop,
18078        n_stops: size_t,
18079    );
18080    #[cfg(feature = "v4_10")]
18081    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18082    pub fn gtk_snapshot_append_scaled_texture(
18083        snapshot: *mut GtkSnapshot,
18084        texture: *mut gdk::GdkTexture,
18085        filter: gsk::GskScalingFilter,
18086        bounds: *const graphene::graphene_rect_t,
18087    );
18088    #[cfg(feature = "v4_14")]
18089    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18090    pub fn gtk_snapshot_append_stroke(
18091        snapshot: *mut GtkSnapshot,
18092        path: *mut gsk::GskPath,
18093        stroke: *const gsk::GskStroke,
18094        color: *const gdk::GdkRGBA,
18095    );
18096    pub fn gtk_snapshot_append_texture(
18097        snapshot: *mut GtkSnapshot,
18098        texture: *mut gdk::GdkTexture,
18099        bounds: *const graphene::graphene_rect_t,
18100    );
18101    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18102    pub fn gtk_snapshot_free_to_paintable(
18103        snapshot: *mut GtkSnapshot,
18104        size: *const graphene::graphene_size_t,
18105    ) -> *mut gdk::GdkPaintable;
18106    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18107    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18108    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18109    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18110    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18111    pub fn gtk_snapshot_push_clip(
18112        snapshot: *mut GtkSnapshot,
18113        bounds: *const graphene::graphene_rect_t,
18114    );
18115    pub fn gtk_snapshot_push_color_matrix(
18116        snapshot: *mut GtkSnapshot,
18117        color_matrix: *const graphene::graphene_matrix_t,
18118        color_offset: *const graphene::graphene_vec4_t,
18119    );
18120    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18121    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18122    #[cfg(feature = "v4_14")]
18123    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18124    pub fn gtk_snapshot_push_fill(
18125        snapshot: *mut GtkSnapshot,
18126        path: *mut gsk::GskPath,
18127        fill_rule: gsk::GskFillRule,
18128    );
18129    pub fn gtk_snapshot_push_gl_shader(
18130        snapshot: *mut GtkSnapshot,
18131        shader: *mut gsk::GskGLShader,
18132        bounds: *const graphene::graphene_rect_t,
18133        take_args: *mut glib::GBytes,
18134    );
18135    #[cfg(feature = "v4_10")]
18136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18137    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18138    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18139    pub fn gtk_snapshot_push_repeat(
18140        snapshot: *mut GtkSnapshot,
18141        bounds: *const graphene::graphene_rect_t,
18142        child_bounds: *const graphene::graphene_rect_t,
18143    );
18144    pub fn gtk_snapshot_push_rounded_clip(
18145        snapshot: *mut GtkSnapshot,
18146        bounds: *const gsk::GskRoundedRect,
18147    );
18148    pub fn gtk_snapshot_push_shadow(
18149        snapshot: *mut GtkSnapshot,
18150        shadow: *const gsk::GskShadow,
18151        n_shadows: size_t,
18152    );
18153    #[cfg(feature = "v4_14")]
18154    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18155    pub fn gtk_snapshot_push_stroke(
18156        snapshot: *mut GtkSnapshot,
18157        path: *mut gsk::GskPath,
18158        stroke: *const gsk::GskStroke,
18159    );
18160    pub fn gtk_snapshot_render_background(
18161        snapshot: *mut GtkSnapshot,
18162        context: *mut GtkStyleContext,
18163        x: c_double,
18164        y: c_double,
18165        width: c_double,
18166        height: c_double,
18167    );
18168    pub fn gtk_snapshot_render_focus(
18169        snapshot: *mut GtkSnapshot,
18170        context: *mut GtkStyleContext,
18171        x: c_double,
18172        y: c_double,
18173        width: c_double,
18174        height: c_double,
18175    );
18176    pub fn gtk_snapshot_render_frame(
18177        snapshot: *mut GtkSnapshot,
18178        context: *mut GtkStyleContext,
18179        x: c_double,
18180        y: c_double,
18181        width: c_double,
18182        height: c_double,
18183    );
18184    pub fn gtk_snapshot_render_insertion_cursor(
18185        snapshot: *mut GtkSnapshot,
18186        context: *mut GtkStyleContext,
18187        x: c_double,
18188        y: c_double,
18189        layout: *mut pango::PangoLayout,
18190        index: c_int,
18191        direction: pango::PangoDirection,
18192    );
18193    pub fn gtk_snapshot_render_layout(
18194        snapshot: *mut GtkSnapshot,
18195        context: *mut GtkStyleContext,
18196        x: c_double,
18197        y: c_double,
18198        layout: *mut pango::PangoLayout,
18199    );
18200    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18201    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18202    pub fn gtk_snapshot_rotate_3d(
18203        snapshot: *mut GtkSnapshot,
18204        angle: c_float,
18205        axis: *const graphene::graphene_vec3_t,
18206    );
18207    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18208    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18209    pub fn gtk_snapshot_scale_3d(
18210        snapshot: *mut GtkSnapshot,
18211        factor_x: c_float,
18212        factor_y: c_float,
18213        factor_z: c_float,
18214    );
18215    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18216    pub fn gtk_snapshot_to_paintable(
18217        snapshot: *mut GtkSnapshot,
18218        size: *const graphene::graphene_size_t,
18219    ) -> *mut gdk::GdkPaintable;
18220    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18221    pub fn gtk_snapshot_transform_matrix(
18222        snapshot: *mut GtkSnapshot,
18223        matrix: *const graphene::graphene_matrix_t,
18224    );
18225    pub fn gtk_snapshot_translate(
18226        snapshot: *mut GtkSnapshot,
18227        point: *const graphene::graphene_point_t,
18228    );
18229    pub fn gtk_snapshot_translate_3d(
18230        snapshot: *mut GtkSnapshot,
18231        point: *const graphene::graphene_point3d_t,
18232    );
18233
18234    //=========================================================================
18235    // GtkSortListModel
18236    //=========================================================================
18237    pub fn gtk_sort_list_model_get_type() -> GType;
18238    pub fn gtk_sort_list_model_new(
18239        model: *mut gio::GListModel,
18240        sorter: *mut GtkSorter,
18241    ) -> *mut GtkSortListModel;
18242    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18243    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18244    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18245    #[cfg(feature = "v4_12")]
18246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18247    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18248    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18249    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18250    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18251    #[cfg(feature = "v4_12")]
18252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18253    pub fn gtk_sort_list_model_set_section_sorter(
18254        self_: *mut GtkSortListModel,
18255        sorter: *mut GtkSorter,
18256    );
18257    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18258
18259    //=========================================================================
18260    // GtkSorter
18261    //=========================================================================
18262    pub fn gtk_sorter_get_type() -> GType;
18263    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18264    pub fn gtk_sorter_compare(
18265        self_: *mut GtkSorter,
18266        item1: *mut gobject::GObject,
18267        item2: *mut gobject::GObject,
18268    ) -> GtkOrdering;
18269    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18270
18271    //=========================================================================
18272    // GtkSpinButton
18273    //=========================================================================
18274    pub fn gtk_spin_button_get_type() -> GType;
18275    pub fn gtk_spin_button_new(
18276        adjustment: *mut GtkAdjustment,
18277        climb_rate: c_double,
18278        digits: c_uint,
18279    ) -> *mut GtkWidget;
18280    pub fn gtk_spin_button_new_with_range(
18281        min: c_double,
18282        max: c_double,
18283        step: c_double,
18284    ) -> *mut GtkWidget;
18285    pub fn gtk_spin_button_configure(
18286        spin_button: *mut GtkSpinButton,
18287        adjustment: *mut GtkAdjustment,
18288        climb_rate: c_double,
18289        digits: c_uint,
18290    );
18291    #[cfg(feature = "v4_14")]
18292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18293    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18294    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18295    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18296    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18297    pub fn gtk_spin_button_get_increments(
18298        spin_button: *mut GtkSpinButton,
18299        step: *mut c_double,
18300        page: *mut c_double,
18301    );
18302    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18303    pub fn gtk_spin_button_get_range(
18304        spin_button: *mut GtkSpinButton,
18305        min: *mut c_double,
18306        max: *mut c_double,
18307    );
18308    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18309    pub fn gtk_spin_button_get_update_policy(
18310        spin_button: *mut GtkSpinButton,
18311    ) -> GtkSpinButtonUpdatePolicy;
18312    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18313    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18314    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18315    #[cfg(feature = "v4_14")]
18316    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18317    pub fn gtk_spin_button_set_activates_default(
18318        spin_button: *mut GtkSpinButton,
18319        activates_default: gboolean,
18320    );
18321    pub fn gtk_spin_button_set_adjustment(
18322        spin_button: *mut GtkSpinButton,
18323        adjustment: *mut GtkAdjustment,
18324    );
18325    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18326    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18327    pub fn gtk_spin_button_set_increments(
18328        spin_button: *mut GtkSpinButton,
18329        step: c_double,
18330        page: c_double,
18331    );
18332    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18333    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18334    pub fn gtk_spin_button_set_snap_to_ticks(
18335        spin_button: *mut GtkSpinButton,
18336        snap_to_ticks: gboolean,
18337    );
18338    pub fn gtk_spin_button_set_update_policy(
18339        spin_button: *mut GtkSpinButton,
18340        policy: GtkSpinButtonUpdatePolicy,
18341    );
18342    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18343    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18344    pub fn gtk_spin_button_spin(
18345        spin_button: *mut GtkSpinButton,
18346        direction: GtkSpinType,
18347        increment: c_double,
18348    );
18349    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18350
18351    //=========================================================================
18352    // GtkSpinner
18353    //=========================================================================
18354    pub fn gtk_spinner_get_type() -> GType;
18355    pub fn gtk_spinner_new() -> *mut GtkWidget;
18356    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18357    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18358    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18359    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18360
18361    //=========================================================================
18362    // GtkStack
18363    //=========================================================================
18364    pub fn gtk_stack_get_type() -> GType;
18365    pub fn gtk_stack_new() -> *mut GtkWidget;
18366    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18367    pub fn gtk_stack_add_named(
18368        stack: *mut GtkStack,
18369        child: *mut GtkWidget,
18370        name: *const c_char,
18371    ) -> *mut GtkStackPage;
18372    pub fn gtk_stack_add_titled(
18373        stack: *mut GtkStack,
18374        child: *mut GtkWidget,
18375        name: *const c_char,
18376        title: *const c_char,
18377    ) -> *mut GtkStackPage;
18378    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
18379        -> *mut GtkWidget;
18380    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
18381    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
18382    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18383    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
18384    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
18385    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
18386    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
18387    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
18388    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
18389    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
18390    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
18391    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
18392    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
18393    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
18394    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
18395    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
18396    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
18397    pub fn gtk_stack_set_visible_child_full(
18398        stack: *mut GtkStack,
18399        name: *const c_char,
18400        transition: GtkStackTransitionType,
18401    );
18402    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
18403
18404    //=========================================================================
18405    // GtkStackPage
18406    //=========================================================================
18407    pub fn gtk_stack_page_get_type() -> GType;
18408    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
18409    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
18410    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
18411    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
18412    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
18413    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
18414    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
18415    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
18416    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
18417    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
18418    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
18419    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
18420    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
18421
18422    //=========================================================================
18423    // GtkStackSidebar
18424    //=========================================================================
18425    pub fn gtk_stack_sidebar_get_type() -> GType;
18426    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
18427    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
18428    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
18429
18430    //=========================================================================
18431    // GtkStackSwitcher
18432    //=========================================================================
18433    pub fn gtk_stack_switcher_get_type() -> GType;
18434    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
18435    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
18436    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
18437
18438    //=========================================================================
18439    // GtkStatusbar
18440    //=========================================================================
18441    pub fn gtk_statusbar_get_type() -> GType;
18442    pub fn gtk_statusbar_new() -> *mut GtkWidget;
18443    pub fn gtk_statusbar_get_context_id(
18444        statusbar: *mut GtkStatusbar,
18445        context_description: *const c_char,
18446    ) -> c_uint;
18447    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
18448    pub fn gtk_statusbar_push(
18449        statusbar: *mut GtkStatusbar,
18450        context_id: c_uint,
18451        text: *const c_char,
18452    ) -> c_uint;
18453    pub fn gtk_statusbar_remove(
18454        statusbar: *mut GtkStatusbar,
18455        context_id: c_uint,
18456        message_id: c_uint,
18457    );
18458    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
18459
18460    //=========================================================================
18461    // GtkStringFilter
18462    //=========================================================================
18463    pub fn gtk_string_filter_get_type() -> GType;
18464    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
18465    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
18466    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
18467    pub fn gtk_string_filter_get_match_mode(
18468        self_: *mut GtkStringFilter,
18469    ) -> GtkStringFilterMatchMode;
18470    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
18471    pub fn gtk_string_filter_set_expression(
18472        self_: *mut GtkStringFilter,
18473        expression: *mut GtkExpression,
18474    );
18475    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
18476    pub fn gtk_string_filter_set_match_mode(
18477        self_: *mut GtkStringFilter,
18478        mode: GtkStringFilterMatchMode,
18479    );
18480    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
18481
18482    //=========================================================================
18483    // GtkStringList
18484    //=========================================================================
18485    pub fn gtk_string_list_get_type() -> GType;
18486    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
18487    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
18488    #[cfg(feature = "v4_18")]
18489    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
18490    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
18491    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
18492        -> *const c_char;
18493    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
18494    pub fn gtk_string_list_splice(
18495        self_: *mut GtkStringList,
18496        position: c_uint,
18497        n_removals: c_uint,
18498        additions: *const *const c_char,
18499    );
18500    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
18501
18502    //=========================================================================
18503    // GtkStringObject
18504    //=========================================================================
18505    pub fn gtk_string_object_get_type() -> GType;
18506    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
18507    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
18508
18509    //=========================================================================
18510    // GtkStringSorter
18511    //=========================================================================
18512    pub fn gtk_string_sorter_get_type() -> GType;
18513    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
18514    #[cfg(feature = "v4_10")]
18515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18516    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
18517    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
18518    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
18519    #[cfg(feature = "v4_10")]
18520    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18521    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
18522    pub fn gtk_string_sorter_set_expression(
18523        self_: *mut GtkStringSorter,
18524        expression: *mut GtkExpression,
18525    );
18526    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
18527
18528    //=========================================================================
18529    // GtkStyleContext
18530    //=========================================================================
18531    pub fn gtk_style_context_get_type() -> GType;
18532    pub fn gtk_style_context_add_provider_for_display(
18533        display: *mut gdk::GdkDisplay,
18534        provider: *mut GtkStyleProvider,
18535        priority: c_uint,
18536    );
18537    pub fn gtk_style_context_remove_provider_for_display(
18538        display: *mut gdk::GdkDisplay,
18539        provider: *mut GtkStyleProvider,
18540    );
18541    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
18542    pub fn gtk_style_context_add_provider(
18543        context: *mut GtkStyleContext,
18544        provider: *mut GtkStyleProvider,
18545        priority: c_uint,
18546    );
18547    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
18548    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
18549    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
18550    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
18551    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
18552    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
18553    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
18554    pub fn gtk_style_context_has_class(
18555        context: *mut GtkStyleContext,
18556        class_name: *const c_char,
18557    ) -> gboolean;
18558    pub fn gtk_style_context_lookup_color(
18559        context: *mut GtkStyleContext,
18560        color_name: *const c_char,
18561        color: *mut gdk::GdkRGBA,
18562    ) -> gboolean;
18563    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
18564    pub fn gtk_style_context_remove_provider(
18565        context: *mut GtkStyleContext,
18566        provider: *mut GtkStyleProvider,
18567    );
18568    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
18569    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
18570    pub fn gtk_style_context_set_display(
18571        context: *mut GtkStyleContext,
18572        display: *mut gdk::GdkDisplay,
18573    );
18574    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
18575    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
18576    pub fn gtk_style_context_to_string(
18577        context: *mut GtkStyleContext,
18578        flags: GtkStyleContextPrintFlags,
18579    ) -> *mut c_char;
18580
18581    //=========================================================================
18582    // GtkSwitch
18583    //=========================================================================
18584    pub fn gtk_switch_get_type() -> GType;
18585    pub fn gtk_switch_new() -> *mut GtkWidget;
18586    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
18587    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
18588    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
18589    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
18590
18591    //=========================================================================
18592    // GtkText
18593    //=========================================================================
18594    pub fn gtk_text_get_type() -> GType;
18595    pub fn gtk_text_new() -> *mut GtkWidget;
18596    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
18597    #[cfg(feature = "v4_4")]
18598    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
18599    pub fn gtk_text_compute_cursor_extents(
18600        self_: *mut GtkText,
18601        position: size_t,
18602        strong: *mut graphene::graphene_rect_t,
18603        weak: *mut graphene::graphene_rect_t,
18604    );
18605    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
18606    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
18607    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
18608    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
18609    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
18610    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
18611    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
18612    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
18613    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
18614    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
18615    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
18616    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
18617    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
18618    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
18619    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
18620    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
18621    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
18622    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
18623    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
18624    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
18625    pub fn gtk_text_set_enable_emoji_completion(
18626        self_: *mut GtkText,
18627        enable_emoji_completion: gboolean,
18628    );
18629    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
18630    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
18631    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
18632    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
18633    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
18634    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
18635    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
18636    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
18637    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
18638    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
18639    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
18640    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
18641
18642    //=========================================================================
18643    // GtkTextBuffer
18644    //=========================================================================
18645    pub fn gtk_text_buffer_get_type() -> GType;
18646    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
18647    #[cfg(feature = "v4_16")]
18648    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
18649    pub fn gtk_text_buffer_add_commit_notify(
18650        buffer: *mut GtkTextBuffer,
18651        flags: GtkTextBufferNotifyFlags,
18652        commit_notify: GtkTextBufferCommitNotify,
18653        user_data: gpointer,
18654        destroy: glib::GDestroyNotify,
18655    ) -> c_uint;
18656    pub fn gtk_text_buffer_add_mark(
18657        buffer: *mut GtkTextBuffer,
18658        mark: *mut GtkTextMark,
18659        where_: *const GtkTextIter,
18660    );
18661    pub fn gtk_text_buffer_add_selection_clipboard(
18662        buffer: *mut GtkTextBuffer,
18663        clipboard: *mut gdk::GdkClipboard,
18664    );
18665    pub fn gtk_text_buffer_apply_tag(
18666        buffer: *mut GtkTextBuffer,
18667        tag: *mut GtkTextTag,
18668        start: *const GtkTextIter,
18669        end: *const GtkTextIter,
18670    );
18671    pub fn gtk_text_buffer_apply_tag_by_name(
18672        buffer: *mut GtkTextBuffer,
18673        name: *const c_char,
18674        start: *const GtkTextIter,
18675        end: *const GtkTextIter,
18676    );
18677    pub fn gtk_text_buffer_backspace(
18678        buffer: *mut GtkTextBuffer,
18679        iter: *mut GtkTextIter,
18680        interactive: gboolean,
18681        default_editable: gboolean,
18682    ) -> gboolean;
18683    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
18684    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
18685    pub fn gtk_text_buffer_copy_clipboard(
18686        buffer: *mut GtkTextBuffer,
18687        clipboard: *mut gdk::GdkClipboard,
18688    );
18689    pub fn gtk_text_buffer_create_child_anchor(
18690        buffer: *mut GtkTextBuffer,
18691        iter: *mut GtkTextIter,
18692    ) -> *mut GtkTextChildAnchor;
18693    pub fn gtk_text_buffer_create_mark(
18694        buffer: *mut GtkTextBuffer,
18695        mark_name: *const c_char,
18696        where_: *const GtkTextIter,
18697        left_gravity: gboolean,
18698    ) -> *mut GtkTextMark;
18699    pub fn gtk_text_buffer_create_tag(
18700        buffer: *mut GtkTextBuffer,
18701        tag_name: *const c_char,
18702        first_property_name: *const c_char,
18703        ...
18704    ) -> *mut GtkTextTag;
18705    pub fn gtk_text_buffer_cut_clipboard(
18706        buffer: *mut GtkTextBuffer,
18707        clipboard: *mut gdk::GdkClipboard,
18708        default_editable: gboolean,
18709    );
18710    pub fn gtk_text_buffer_delete(
18711        buffer: *mut GtkTextBuffer,
18712        start: *mut GtkTextIter,
18713        end: *mut GtkTextIter,
18714    );
18715    pub fn gtk_text_buffer_delete_interactive(
18716        buffer: *mut GtkTextBuffer,
18717        start_iter: *mut GtkTextIter,
18718        end_iter: *mut GtkTextIter,
18719        default_editable: gboolean,
18720    ) -> gboolean;
18721    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
18722    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
18723    pub fn gtk_text_buffer_delete_selection(
18724        buffer: *mut GtkTextBuffer,
18725        interactive: gboolean,
18726        default_editable: gboolean,
18727    ) -> gboolean;
18728    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
18729    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
18730    pub fn gtk_text_buffer_get_bounds(
18731        buffer: *mut GtkTextBuffer,
18732        start: *mut GtkTextIter,
18733        end: *mut GtkTextIter,
18734    );
18735    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
18736    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
18737    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
18738    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
18739    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
18740    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
18741    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
18742    pub fn gtk_text_buffer_get_iter_at_child_anchor(
18743        buffer: *mut GtkTextBuffer,
18744        iter: *mut GtkTextIter,
18745        anchor: *mut GtkTextChildAnchor,
18746    );
18747    pub fn gtk_text_buffer_get_iter_at_line(
18748        buffer: *mut GtkTextBuffer,
18749        iter: *mut GtkTextIter,
18750        line_number: c_int,
18751    ) -> gboolean;
18752    pub fn gtk_text_buffer_get_iter_at_line_index(
18753        buffer: *mut GtkTextBuffer,
18754        iter: *mut GtkTextIter,
18755        line_number: c_int,
18756        byte_index: c_int,
18757    ) -> gboolean;
18758    pub fn gtk_text_buffer_get_iter_at_line_offset(
18759        buffer: *mut GtkTextBuffer,
18760        iter: *mut GtkTextIter,
18761        line_number: c_int,
18762        char_offset: c_int,
18763    ) -> gboolean;
18764    pub fn gtk_text_buffer_get_iter_at_mark(
18765        buffer: *mut GtkTextBuffer,
18766        iter: *mut GtkTextIter,
18767        mark: *mut GtkTextMark,
18768    );
18769    pub fn gtk_text_buffer_get_iter_at_offset(
18770        buffer: *mut GtkTextBuffer,
18771        iter: *mut GtkTextIter,
18772        char_offset: c_int,
18773    );
18774    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
18775    pub fn gtk_text_buffer_get_mark(
18776        buffer: *mut GtkTextBuffer,
18777        name: *const c_char,
18778    ) -> *mut GtkTextMark;
18779    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
18780    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
18781    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
18782    pub fn gtk_text_buffer_get_selection_bounds(
18783        buffer: *mut GtkTextBuffer,
18784        start: *mut GtkTextIter,
18785        end: *mut GtkTextIter,
18786    ) -> gboolean;
18787    pub fn gtk_text_buffer_get_selection_content(
18788        buffer: *mut GtkTextBuffer,
18789    ) -> *mut gdk::GdkContentProvider;
18790    pub fn gtk_text_buffer_get_slice(
18791        buffer: *mut GtkTextBuffer,
18792        start: *const GtkTextIter,
18793        end: *const GtkTextIter,
18794        include_hidden_chars: gboolean,
18795    ) -> *mut c_char;
18796    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
18797    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
18798    pub fn gtk_text_buffer_get_text(
18799        buffer: *mut GtkTextBuffer,
18800        start: *const GtkTextIter,
18801        end: *const GtkTextIter,
18802        include_hidden_chars: gboolean,
18803    ) -> *mut c_char;
18804    pub fn gtk_text_buffer_insert(
18805        buffer: *mut GtkTextBuffer,
18806        iter: *mut GtkTextIter,
18807        text: *const c_char,
18808        len: c_int,
18809    );
18810    pub fn gtk_text_buffer_insert_at_cursor(
18811        buffer: *mut GtkTextBuffer,
18812        text: *const c_char,
18813        len: c_int,
18814    );
18815    pub fn gtk_text_buffer_insert_child_anchor(
18816        buffer: *mut GtkTextBuffer,
18817        iter: *mut GtkTextIter,
18818        anchor: *mut GtkTextChildAnchor,
18819    );
18820    pub fn gtk_text_buffer_insert_interactive(
18821        buffer: *mut GtkTextBuffer,
18822        iter: *mut GtkTextIter,
18823        text: *const c_char,
18824        len: c_int,
18825        default_editable: gboolean,
18826    ) -> gboolean;
18827    pub fn gtk_text_buffer_insert_interactive_at_cursor(
18828        buffer: *mut GtkTextBuffer,
18829        text: *const c_char,
18830        len: c_int,
18831        default_editable: gboolean,
18832    ) -> gboolean;
18833    pub fn gtk_text_buffer_insert_markup(
18834        buffer: *mut GtkTextBuffer,
18835        iter: *mut GtkTextIter,
18836        markup: *const c_char,
18837        len: c_int,
18838    );
18839    pub fn gtk_text_buffer_insert_paintable(
18840        buffer: *mut GtkTextBuffer,
18841        iter: *mut GtkTextIter,
18842        paintable: *mut gdk::GdkPaintable,
18843    );
18844    pub fn gtk_text_buffer_insert_range(
18845        buffer: *mut GtkTextBuffer,
18846        iter: *mut GtkTextIter,
18847        start: *const GtkTextIter,
18848        end: *const GtkTextIter,
18849    );
18850    pub fn gtk_text_buffer_insert_range_interactive(
18851        buffer: *mut GtkTextBuffer,
18852        iter: *mut GtkTextIter,
18853        start: *const GtkTextIter,
18854        end: *const GtkTextIter,
18855        default_editable: gboolean,
18856    ) -> gboolean;
18857    pub fn gtk_text_buffer_insert_with_tags(
18858        buffer: *mut GtkTextBuffer,
18859        iter: *mut GtkTextIter,
18860        text: *const c_char,
18861        len: c_int,
18862        first_tag: *mut GtkTextTag,
18863        ...
18864    );
18865    pub fn gtk_text_buffer_insert_with_tags_by_name(
18866        buffer: *mut GtkTextBuffer,
18867        iter: *mut GtkTextIter,
18868        text: *const c_char,
18869        len: c_int,
18870        first_tag_name: *const c_char,
18871        ...
18872    );
18873    pub fn gtk_text_buffer_move_mark(
18874        buffer: *mut GtkTextBuffer,
18875        mark: *mut GtkTextMark,
18876        where_: *const GtkTextIter,
18877    );
18878    pub fn gtk_text_buffer_move_mark_by_name(
18879        buffer: *mut GtkTextBuffer,
18880        name: *const c_char,
18881        where_: *const GtkTextIter,
18882    );
18883    pub fn gtk_text_buffer_paste_clipboard(
18884        buffer: *mut GtkTextBuffer,
18885        clipboard: *mut gdk::GdkClipboard,
18886        override_location: *mut GtkTextIter,
18887        default_editable: gboolean,
18888    );
18889    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
18890    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
18891    pub fn gtk_text_buffer_remove_all_tags(
18892        buffer: *mut GtkTextBuffer,
18893        start: *const GtkTextIter,
18894        end: *const GtkTextIter,
18895    );
18896    #[cfg(feature = "v4_16")]
18897    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
18898    pub fn gtk_text_buffer_remove_commit_notify(
18899        buffer: *mut GtkTextBuffer,
18900        commit_notify_handler: c_uint,
18901    );
18902    pub fn gtk_text_buffer_remove_selection_clipboard(
18903        buffer: *mut GtkTextBuffer,
18904        clipboard: *mut gdk::GdkClipboard,
18905    );
18906    pub fn gtk_text_buffer_remove_tag(
18907        buffer: *mut GtkTextBuffer,
18908        tag: *mut GtkTextTag,
18909        start: *const GtkTextIter,
18910        end: *const GtkTextIter,
18911    );
18912    pub fn gtk_text_buffer_remove_tag_by_name(
18913        buffer: *mut GtkTextBuffer,
18914        name: *const c_char,
18915        start: *const GtkTextIter,
18916        end: *const GtkTextIter,
18917    );
18918    pub fn gtk_text_buffer_select_range(
18919        buffer: *mut GtkTextBuffer,
18920        ins: *const GtkTextIter,
18921        bound: *const GtkTextIter,
18922    );
18923    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
18924    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
18925    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
18926    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
18927    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
18928
18929    //=========================================================================
18930    // GtkTextChildAnchor
18931    //=========================================================================
18932    pub fn gtk_text_child_anchor_get_type() -> GType;
18933    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
18934    #[cfg(feature = "v4_6")]
18935    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
18936    pub fn gtk_text_child_anchor_new_with_replacement(
18937        character: *const c_char,
18938    ) -> *mut GtkTextChildAnchor;
18939    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
18940    pub fn gtk_text_child_anchor_get_widgets(
18941        anchor: *mut GtkTextChildAnchor,
18942        out_len: *mut c_uint,
18943    ) -> *mut *mut GtkWidget;
18944
18945    //=========================================================================
18946    // GtkTextMark
18947    //=========================================================================
18948    pub fn gtk_text_mark_get_type() -> GType;
18949    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
18950    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
18951    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
18952    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
18953    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
18954    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
18955    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
18956
18957    //=========================================================================
18958    // GtkTextTag
18959    //=========================================================================
18960    pub fn gtk_text_tag_get_type() -> GType;
18961    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
18962    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
18963    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
18964    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
18965
18966    //=========================================================================
18967    // GtkTextTagTable
18968    //=========================================================================
18969    pub fn gtk_text_tag_table_get_type() -> GType;
18970    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
18971    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
18972    pub fn gtk_text_tag_table_foreach(
18973        table: *mut GtkTextTagTable,
18974        func: GtkTextTagTableForeach,
18975        data: gpointer,
18976    );
18977    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
18978    pub fn gtk_text_tag_table_lookup(
18979        table: *mut GtkTextTagTable,
18980        name: *const c_char,
18981    ) -> *mut GtkTextTag;
18982    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
18983
18984    //=========================================================================
18985    // GtkTextView
18986    //=========================================================================
18987    pub fn gtk_text_view_get_type() -> GType;
18988    pub fn gtk_text_view_new() -> *mut GtkWidget;
18989    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
18990    pub fn gtk_text_view_add_child_at_anchor(
18991        text_view: *mut GtkTextView,
18992        child: *mut GtkWidget,
18993        anchor: *mut GtkTextChildAnchor,
18994    );
18995    pub fn gtk_text_view_add_overlay(
18996        text_view: *mut GtkTextView,
18997        child: *mut GtkWidget,
18998        xpos: c_int,
18999        ypos: c_int,
19000    );
19001    pub fn gtk_text_view_backward_display_line(
19002        text_view: *mut GtkTextView,
19003        iter: *mut GtkTextIter,
19004    ) -> gboolean;
19005    pub fn gtk_text_view_backward_display_line_start(
19006        text_view: *mut GtkTextView,
19007        iter: *mut GtkTextIter,
19008    ) -> gboolean;
19009    pub fn gtk_text_view_buffer_to_window_coords(
19010        text_view: *mut GtkTextView,
19011        win: GtkTextWindowType,
19012        buffer_x: c_int,
19013        buffer_y: c_int,
19014        window_x: *mut c_int,
19015        window_y: *mut c_int,
19016    );
19017    pub fn gtk_text_view_forward_display_line(
19018        text_view: *mut GtkTextView,
19019        iter: *mut GtkTextIter,
19020    ) -> gboolean;
19021    pub fn gtk_text_view_forward_display_line_end(
19022        text_view: *mut GtkTextView,
19023        iter: *mut GtkTextIter,
19024    ) -> gboolean;
19025    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19026    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19027    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19028    pub fn gtk_text_view_get_cursor_locations(
19029        text_view: *mut GtkTextView,
19030        iter: *const GtkTextIter,
19031        strong: *mut gdk::GdkRectangle,
19032        weak: *mut gdk::GdkRectangle,
19033    );
19034    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19035    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19036    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19037    pub fn gtk_text_view_get_gutter(
19038        text_view: *mut GtkTextView,
19039        win: GtkTextWindowType,
19040    ) -> *mut GtkWidget;
19041    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19042    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19043    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19044    pub fn gtk_text_view_get_iter_at_location(
19045        text_view: *mut GtkTextView,
19046        iter: *mut GtkTextIter,
19047        x: c_int,
19048        y: c_int,
19049    ) -> gboolean;
19050    pub fn gtk_text_view_get_iter_at_position(
19051        text_view: *mut GtkTextView,
19052        iter: *mut GtkTextIter,
19053        trailing: *mut c_int,
19054        x: c_int,
19055        y: c_int,
19056    ) -> gboolean;
19057    pub fn gtk_text_view_get_iter_location(
19058        text_view: *mut GtkTextView,
19059        iter: *const GtkTextIter,
19060        location: *mut gdk::GdkRectangle,
19061    );
19062    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19063    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19064    pub fn gtk_text_view_get_line_at_y(
19065        text_view: *mut GtkTextView,
19066        target_iter: *mut GtkTextIter,
19067        y: c_int,
19068        line_top: *mut c_int,
19069    );
19070    pub fn gtk_text_view_get_line_yrange(
19071        text_view: *mut GtkTextView,
19072        iter: *const GtkTextIter,
19073        y: *mut c_int,
19074        height: *mut c_int,
19075    );
19076    #[cfg(feature = "v4_4")]
19077    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19078    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19079    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19080    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19081    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19082    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19083    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19084    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19085    #[cfg(feature = "v4_4")]
19086    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19087    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19088    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19089    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19090    #[cfg(feature = "v4_18")]
19091    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19092    pub fn gtk_text_view_get_visible_offset(
19093        text_view: *mut GtkTextView,
19094        x_offset: *mut c_double,
19095        y_offset: *mut c_double,
19096    );
19097    pub fn gtk_text_view_get_visible_rect(
19098        text_view: *mut GtkTextView,
19099        visible_rect: *mut gdk::GdkRectangle,
19100    );
19101    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19102    pub fn gtk_text_view_im_context_filter_keypress(
19103        text_view: *mut GtkTextView,
19104        event: *mut gdk::GdkEvent,
19105    ) -> gboolean;
19106    pub fn gtk_text_view_move_mark_onscreen(
19107        text_view: *mut GtkTextView,
19108        mark: *mut GtkTextMark,
19109    ) -> gboolean;
19110    pub fn gtk_text_view_move_overlay(
19111        text_view: *mut GtkTextView,
19112        child: *mut GtkWidget,
19113        xpos: c_int,
19114        ypos: c_int,
19115    );
19116    pub fn gtk_text_view_move_visually(
19117        text_view: *mut GtkTextView,
19118        iter: *mut GtkTextIter,
19119        count: c_int,
19120    ) -> gboolean;
19121    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19122    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19123    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19124    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19125    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19126    pub fn gtk_text_view_scroll_to_iter(
19127        text_view: *mut GtkTextView,
19128        iter: *mut GtkTextIter,
19129        within_margin: c_double,
19130        use_align: gboolean,
19131        xalign: c_double,
19132        yalign: c_double,
19133    ) -> gboolean;
19134    pub fn gtk_text_view_scroll_to_mark(
19135        text_view: *mut GtkTextView,
19136        mark: *mut GtkTextMark,
19137        within_margin: c_double,
19138        use_align: gboolean,
19139        xalign: c_double,
19140        yalign: c_double,
19141    );
19142    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19143    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19144    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19145    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19146    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19147    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19148    pub fn gtk_text_view_set_gutter(
19149        text_view: *mut GtkTextView,
19150        win: GtkTextWindowType,
19151        widget: *mut GtkWidget,
19152    );
19153    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19154    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19155    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19156    pub fn gtk_text_view_set_justification(
19157        text_view: *mut GtkTextView,
19158        justification: GtkJustification,
19159    );
19160    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19161    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19162    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19163    pub fn gtk_text_view_set_pixels_above_lines(
19164        text_view: *mut GtkTextView,
19165        pixels_above_lines: c_int,
19166    );
19167    pub fn gtk_text_view_set_pixels_below_lines(
19168        text_view: *mut GtkTextView,
19169        pixels_below_lines: c_int,
19170    );
19171    pub fn gtk_text_view_set_pixels_inside_wrap(
19172        text_view: *mut GtkTextView,
19173        pixels_inside_wrap: c_int,
19174    );
19175    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19176    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19177    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19178    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19179    pub fn gtk_text_view_starts_display_line(
19180        text_view: *mut GtkTextView,
19181        iter: *const GtkTextIter,
19182    ) -> gboolean;
19183    pub fn gtk_text_view_window_to_buffer_coords(
19184        text_view: *mut GtkTextView,
19185        win: GtkTextWindowType,
19186        window_x: c_int,
19187        window_y: c_int,
19188        buffer_x: *mut c_int,
19189        buffer_y: *mut c_int,
19190    );
19191
19192    //=========================================================================
19193    // GtkToggleButton
19194    //=========================================================================
19195    pub fn gtk_toggle_button_get_type() -> GType;
19196    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19197    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19198    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19199    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19200    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19201    pub fn gtk_toggle_button_set_group(
19202        toggle_button: *mut GtkToggleButton,
19203        group: *mut GtkToggleButton,
19204    );
19205    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19206
19207    //=========================================================================
19208    // GtkTooltip
19209    //=========================================================================
19210    pub fn gtk_tooltip_get_type() -> GType;
19211    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19212    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19213    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19214    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19215    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19216    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19217    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19218
19219    //=========================================================================
19220    // GtkTreeExpander
19221    //=========================================================================
19222    pub fn gtk_tree_expander_get_type() -> GType;
19223    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19224    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19225    #[cfg(feature = "v4_10")]
19226    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19227    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19228    #[cfg(feature = "v4_10")]
19229    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19230    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19231    #[cfg(feature = "v4_6")]
19232    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19233    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19234    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19235    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19236    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19237    #[cfg(feature = "v4_10")]
19238    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19239    pub fn gtk_tree_expander_set_hide_expander(
19240        self_: *mut GtkTreeExpander,
19241        hide_expander: gboolean,
19242    );
19243    #[cfg(feature = "v4_10")]
19244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19245    pub fn gtk_tree_expander_set_indent_for_depth(
19246        self_: *mut GtkTreeExpander,
19247        indent_for_depth: gboolean,
19248    );
19249    #[cfg(feature = "v4_6")]
19250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19251    pub fn gtk_tree_expander_set_indent_for_icon(
19252        self_: *mut GtkTreeExpander,
19253        indent_for_icon: gboolean,
19254    );
19255    pub fn gtk_tree_expander_set_list_row(
19256        self_: *mut GtkTreeExpander,
19257        list_row: *mut GtkTreeListRow,
19258    );
19259
19260    //=========================================================================
19261    // GtkTreeListModel
19262    //=========================================================================
19263    pub fn gtk_tree_list_model_get_type() -> GType;
19264    pub fn gtk_tree_list_model_new(
19265        root: *mut gio::GListModel,
19266        passthrough: gboolean,
19267        autoexpand: gboolean,
19268        create_func: GtkTreeListModelCreateModelFunc,
19269        user_data: gpointer,
19270        user_destroy: glib::GDestroyNotify,
19271    ) -> *mut GtkTreeListModel;
19272    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
19273    pub fn gtk_tree_list_model_get_child_row(
19274        self_: *mut GtkTreeListModel,
19275        position: c_uint,
19276    ) -> *mut GtkTreeListRow;
19277    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
19278    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
19279    pub fn gtk_tree_list_model_get_row(
19280        self_: *mut GtkTreeListModel,
19281        position: c_uint,
19282    ) -> *mut GtkTreeListRow;
19283    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
19284
19285    //=========================================================================
19286    // GtkTreeListRow
19287    //=========================================================================
19288    pub fn gtk_tree_list_row_get_type() -> GType;
19289    pub fn gtk_tree_list_row_get_child_row(
19290        self_: *mut GtkTreeListRow,
19291        position: c_uint,
19292    ) -> *mut GtkTreeListRow;
19293    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
19294    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
19295    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
19296    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
19297    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
19298    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
19299    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
19300    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
19301
19302    //=========================================================================
19303    // GtkTreeListRowSorter
19304    //=========================================================================
19305    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
19306    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
19307    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
19308    pub fn gtk_tree_list_row_sorter_set_sorter(
19309        self_: *mut GtkTreeListRowSorter,
19310        sorter: *mut GtkSorter,
19311    );
19312
19313    //=========================================================================
19314    // GtkTreeModelFilter
19315    //=========================================================================
19316    pub fn gtk_tree_model_filter_get_type() -> GType;
19317    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
19318    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
19319        filter: *mut GtkTreeModelFilter,
19320        filter_iter: *mut GtkTreeIter,
19321        child_iter: *mut GtkTreeIter,
19322    ) -> gboolean;
19323    pub fn gtk_tree_model_filter_convert_child_path_to_path(
19324        filter: *mut GtkTreeModelFilter,
19325        child_path: *mut GtkTreePath,
19326    ) -> *mut GtkTreePath;
19327    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
19328        filter: *mut GtkTreeModelFilter,
19329        child_iter: *mut GtkTreeIter,
19330        filter_iter: *mut GtkTreeIter,
19331    );
19332    pub fn gtk_tree_model_filter_convert_path_to_child_path(
19333        filter: *mut GtkTreeModelFilter,
19334        filter_path: *mut GtkTreePath,
19335    ) -> *mut GtkTreePath;
19336    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
19337    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
19338    pub fn gtk_tree_model_filter_set_modify_func(
19339        filter: *mut GtkTreeModelFilter,
19340        n_columns: c_int,
19341        types: *mut GType,
19342        func: GtkTreeModelFilterModifyFunc,
19343        data: gpointer,
19344        destroy: glib::GDestroyNotify,
19345    );
19346    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
19347    pub fn gtk_tree_model_filter_set_visible_func(
19348        filter: *mut GtkTreeModelFilter,
19349        func: GtkTreeModelFilterVisibleFunc,
19350        data: gpointer,
19351        destroy: glib::GDestroyNotify,
19352    );
19353
19354    //=========================================================================
19355    // GtkTreeModelSort
19356    //=========================================================================
19357    pub fn gtk_tree_model_sort_get_type() -> GType;
19358    pub fn gtk_tree_model_sort_new_with_model(
19359        child_model: *mut GtkTreeModel,
19360    ) -> *mut GtkTreeModelSort;
19361    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
19362    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
19363        tree_model_sort: *mut GtkTreeModelSort,
19364        sort_iter: *mut GtkTreeIter,
19365        child_iter: *mut GtkTreeIter,
19366    ) -> gboolean;
19367    pub fn gtk_tree_model_sort_convert_child_path_to_path(
19368        tree_model_sort: *mut GtkTreeModelSort,
19369        child_path: *mut GtkTreePath,
19370    ) -> *mut GtkTreePath;
19371    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
19372        tree_model_sort: *mut GtkTreeModelSort,
19373        child_iter: *mut GtkTreeIter,
19374        sorted_iter: *mut GtkTreeIter,
19375    );
19376    pub fn gtk_tree_model_sort_convert_path_to_child_path(
19377        tree_model_sort: *mut GtkTreeModelSort,
19378        sorted_path: *mut GtkTreePath,
19379    ) -> *mut GtkTreePath;
19380    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
19381    pub fn gtk_tree_model_sort_iter_is_valid(
19382        tree_model_sort: *mut GtkTreeModelSort,
19383        iter: *mut GtkTreeIter,
19384    ) -> gboolean;
19385    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
19386
19387    //=========================================================================
19388    // GtkTreeSelection
19389    //=========================================================================
19390    pub fn gtk_tree_selection_get_type() -> GType;
19391    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
19392    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
19393    pub fn gtk_tree_selection_get_select_function(
19394        selection: *mut GtkTreeSelection,
19395    ) -> GtkTreeSelectionFunc;
19396    pub fn gtk_tree_selection_get_selected(
19397        selection: *mut GtkTreeSelection,
19398        model: *mut *mut GtkTreeModel,
19399        iter: *mut GtkTreeIter,
19400    ) -> gboolean;
19401    pub fn gtk_tree_selection_get_selected_rows(
19402        selection: *mut GtkTreeSelection,
19403        model: *mut *mut GtkTreeModel,
19404    ) -> *mut glib::GList;
19405    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
19406    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
19407    pub fn gtk_tree_selection_iter_is_selected(
19408        selection: *mut GtkTreeSelection,
19409        iter: *mut GtkTreeIter,
19410    ) -> gboolean;
19411    pub fn gtk_tree_selection_path_is_selected(
19412        selection: *mut GtkTreeSelection,
19413        path: *mut GtkTreePath,
19414    ) -> gboolean;
19415    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
19416    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
19417    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
19418    pub fn gtk_tree_selection_select_range(
19419        selection: *mut GtkTreeSelection,
19420        start_path: *mut GtkTreePath,
19421        end_path: *mut GtkTreePath,
19422    );
19423    pub fn gtk_tree_selection_selected_foreach(
19424        selection: *mut GtkTreeSelection,
19425        func: GtkTreeSelectionForeachFunc,
19426        data: gpointer,
19427    );
19428    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
19429    pub fn gtk_tree_selection_set_select_function(
19430        selection: *mut GtkTreeSelection,
19431        func: GtkTreeSelectionFunc,
19432        data: gpointer,
19433        destroy: glib::GDestroyNotify,
19434    );
19435    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
19436    pub fn gtk_tree_selection_unselect_iter(
19437        selection: *mut GtkTreeSelection,
19438        iter: *mut GtkTreeIter,
19439    );
19440    pub fn gtk_tree_selection_unselect_path(
19441        selection: *mut GtkTreeSelection,
19442        path: *mut GtkTreePath,
19443    );
19444    pub fn gtk_tree_selection_unselect_range(
19445        selection: *mut GtkTreeSelection,
19446        start_path: *mut GtkTreePath,
19447        end_path: *mut GtkTreePath,
19448    );
19449
19450    //=========================================================================
19451    // GtkTreeStore
19452    //=========================================================================
19453    pub fn gtk_tree_store_get_type() -> GType;
19454    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
19455    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
19456    pub fn gtk_tree_store_append(
19457        tree_store: *mut GtkTreeStore,
19458        iter: *mut GtkTreeIter,
19459        parent: *mut GtkTreeIter,
19460    );
19461    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
19462    pub fn gtk_tree_store_insert(
19463        tree_store: *mut GtkTreeStore,
19464        iter: *mut GtkTreeIter,
19465        parent: *mut GtkTreeIter,
19466        position: c_int,
19467    );
19468    pub fn gtk_tree_store_insert_after(
19469        tree_store: *mut GtkTreeStore,
19470        iter: *mut GtkTreeIter,
19471        parent: *mut GtkTreeIter,
19472        sibling: *mut GtkTreeIter,
19473    );
19474    pub fn gtk_tree_store_insert_before(
19475        tree_store: *mut GtkTreeStore,
19476        iter: *mut GtkTreeIter,
19477        parent: *mut GtkTreeIter,
19478        sibling: *mut GtkTreeIter,
19479    );
19480    pub fn gtk_tree_store_insert_with_values(
19481        tree_store: *mut GtkTreeStore,
19482        iter: *mut GtkTreeIter,
19483        parent: *mut GtkTreeIter,
19484        position: c_int,
19485        ...
19486    );
19487    pub fn gtk_tree_store_insert_with_valuesv(
19488        tree_store: *mut GtkTreeStore,
19489        iter: *mut GtkTreeIter,
19490        parent: *mut GtkTreeIter,
19491        position: c_int,
19492        columns: *mut c_int,
19493        values: *mut gobject::GValue,
19494        n_values: c_int,
19495    );
19496    pub fn gtk_tree_store_is_ancestor(
19497        tree_store: *mut GtkTreeStore,
19498        iter: *mut GtkTreeIter,
19499        descendant: *mut GtkTreeIter,
19500    ) -> gboolean;
19501    pub fn gtk_tree_store_iter_depth(
19502        tree_store: *mut GtkTreeStore,
19503        iter: *mut GtkTreeIter,
19504    ) -> c_int;
19505    pub fn gtk_tree_store_iter_is_valid(
19506        tree_store: *mut GtkTreeStore,
19507        iter: *mut GtkTreeIter,
19508    ) -> gboolean;
19509    pub fn gtk_tree_store_move_after(
19510        tree_store: *mut GtkTreeStore,
19511        iter: *mut GtkTreeIter,
19512        position: *mut GtkTreeIter,
19513    );
19514    pub fn gtk_tree_store_move_before(
19515        tree_store: *mut GtkTreeStore,
19516        iter: *mut GtkTreeIter,
19517        position: *mut GtkTreeIter,
19518    );
19519    pub fn gtk_tree_store_prepend(
19520        tree_store: *mut GtkTreeStore,
19521        iter: *mut GtkTreeIter,
19522        parent: *mut GtkTreeIter,
19523    );
19524    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
19525        -> gboolean;
19526    pub fn gtk_tree_store_reorder(
19527        tree_store: *mut GtkTreeStore,
19528        parent: *mut GtkTreeIter,
19529        new_order: *mut c_int,
19530    );
19531    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
19532    pub fn gtk_tree_store_set_column_types(
19533        tree_store: *mut GtkTreeStore,
19534        n_columns: c_int,
19535        types: *mut GType,
19536    );
19537    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
19538    pub fn gtk_tree_store_set_value(
19539        tree_store: *mut GtkTreeStore,
19540        iter: *mut GtkTreeIter,
19541        column: c_int,
19542        value: *mut gobject::GValue,
19543    );
19544    pub fn gtk_tree_store_set_valuesv(
19545        tree_store: *mut GtkTreeStore,
19546        iter: *mut GtkTreeIter,
19547        columns: *mut c_int,
19548        values: *mut gobject::GValue,
19549        n_values: c_int,
19550    );
19551    pub fn gtk_tree_store_swap(
19552        tree_store: *mut GtkTreeStore,
19553        a: *mut GtkTreeIter,
19554        b: *mut GtkTreeIter,
19555    );
19556
19557    //=========================================================================
19558    // GtkTreeView
19559    //=========================================================================
19560    pub fn gtk_tree_view_get_type() -> GType;
19561    pub fn gtk_tree_view_new() -> *mut GtkWidget;
19562    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
19563    pub fn gtk_tree_view_append_column(
19564        tree_view: *mut GtkTreeView,
19565        column: *mut GtkTreeViewColumn,
19566    ) -> c_int;
19567    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
19568    pub fn gtk_tree_view_collapse_row(
19569        tree_view: *mut GtkTreeView,
19570        path: *mut GtkTreePath,
19571    ) -> gboolean;
19572    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
19573    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
19574        tree_view: *mut GtkTreeView,
19575        bx: c_int,
19576        by: c_int,
19577        tx: *mut c_int,
19578        ty: *mut c_int,
19579    );
19580    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
19581        tree_view: *mut GtkTreeView,
19582        bx: c_int,
19583        by: c_int,
19584        wx: *mut c_int,
19585        wy: *mut c_int,
19586    );
19587    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
19588        tree_view: *mut GtkTreeView,
19589        tx: c_int,
19590        ty: c_int,
19591        bx: *mut c_int,
19592        by: *mut c_int,
19593    );
19594    pub fn gtk_tree_view_convert_tree_to_widget_coords(
19595        tree_view: *mut GtkTreeView,
19596        tx: c_int,
19597        ty: c_int,
19598        wx: *mut c_int,
19599        wy: *mut c_int,
19600    );
19601    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
19602        tree_view: *mut GtkTreeView,
19603        wx: c_int,
19604        wy: c_int,
19605        bx: *mut c_int,
19606        by: *mut c_int,
19607    );
19608    pub fn gtk_tree_view_convert_widget_to_tree_coords(
19609        tree_view: *mut GtkTreeView,
19610        wx: c_int,
19611        wy: c_int,
19612        tx: *mut c_int,
19613        ty: *mut c_int,
19614    );
19615    pub fn gtk_tree_view_create_row_drag_icon(
19616        tree_view: *mut GtkTreeView,
19617        path: *mut GtkTreePath,
19618    ) -> *mut gdk::GdkPaintable;
19619    pub fn gtk_tree_view_enable_model_drag_dest(
19620        tree_view: *mut GtkTreeView,
19621        formats: *mut gdk::GdkContentFormats,
19622        actions: gdk::GdkDragAction,
19623    );
19624    pub fn gtk_tree_view_enable_model_drag_source(
19625        tree_view: *mut GtkTreeView,
19626        start_button_mask: gdk::GdkModifierType,
19627        formats: *mut gdk::GdkContentFormats,
19628        actions: gdk::GdkDragAction,
19629    );
19630    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
19631    pub fn gtk_tree_view_expand_row(
19632        tree_view: *mut GtkTreeView,
19633        path: *mut GtkTreePath,
19634        open_all: gboolean,
19635    ) -> gboolean;
19636    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
19637    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
19638    pub fn gtk_tree_view_get_background_area(
19639        tree_view: *mut GtkTreeView,
19640        path: *mut GtkTreePath,
19641        column: *mut GtkTreeViewColumn,
19642        rect: *mut gdk::GdkRectangle,
19643    );
19644    pub fn gtk_tree_view_get_cell_area(
19645        tree_view: *mut GtkTreeView,
19646        path: *mut GtkTreePath,
19647        column: *mut GtkTreeViewColumn,
19648        rect: *mut gdk::GdkRectangle,
19649    );
19650    pub fn gtk_tree_view_get_column(
19651        tree_view: *mut GtkTreeView,
19652        n: c_int,
19653    ) -> *mut GtkTreeViewColumn;
19654    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
19655    pub fn gtk_tree_view_get_cursor(
19656        tree_view: *mut GtkTreeView,
19657        path: *mut *mut GtkTreePath,
19658        focus_column: *mut *mut GtkTreeViewColumn,
19659    );
19660    pub fn gtk_tree_view_get_dest_row_at_pos(
19661        tree_view: *mut GtkTreeView,
19662        drag_x: c_int,
19663        drag_y: c_int,
19664        path: *mut *mut GtkTreePath,
19665        pos: *mut GtkTreeViewDropPosition,
19666    ) -> gboolean;
19667    pub fn gtk_tree_view_get_drag_dest_row(
19668        tree_view: *mut GtkTreeView,
19669        path: *mut *mut GtkTreePath,
19670        pos: *mut GtkTreeViewDropPosition,
19671    );
19672    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
19673    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
19674    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
19675        -> *mut GtkTreeViewColumn;
19676    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
19677    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
19678    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
19679    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
19680    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
19681    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
19682    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
19683    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
19684    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
19685    pub fn gtk_tree_view_get_path_at_pos(
19686        tree_view: *mut GtkTreeView,
19687        x: c_int,
19688        y: c_int,
19689        path: *mut *mut GtkTreePath,
19690        column: *mut *mut GtkTreeViewColumn,
19691        cell_x: *mut c_int,
19692        cell_y: *mut c_int,
19693    ) -> gboolean;
19694    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
19695    pub fn gtk_tree_view_get_row_separator_func(
19696        tree_view: *mut GtkTreeView,
19697    ) -> GtkTreeViewRowSeparatorFunc;
19698    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
19699    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
19700    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
19701    pub fn gtk_tree_view_get_search_equal_func(
19702        tree_view: *mut GtkTreeView,
19703    ) -> GtkTreeViewSearchEqualFunc;
19704    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
19705    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
19706    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
19707    pub fn gtk_tree_view_get_tooltip_context(
19708        tree_view: *mut GtkTreeView,
19709        x: c_int,
19710        y: c_int,
19711        keyboard_tip: gboolean,
19712        model: *mut *mut GtkTreeModel,
19713        path: *mut *mut GtkTreePath,
19714        iter: *mut GtkTreeIter,
19715    ) -> gboolean;
19716    pub fn gtk_tree_view_get_visible_range(
19717        tree_view: *mut GtkTreeView,
19718        start_path: *mut *mut GtkTreePath,
19719        end_path: *mut *mut GtkTreePath,
19720    ) -> gboolean;
19721    pub fn gtk_tree_view_get_visible_rect(
19722        tree_view: *mut GtkTreeView,
19723        visible_rect: *mut gdk::GdkRectangle,
19724    );
19725    pub fn gtk_tree_view_insert_column(
19726        tree_view: *mut GtkTreeView,
19727        column: *mut GtkTreeViewColumn,
19728        position: c_int,
19729    ) -> c_int;
19730    pub fn gtk_tree_view_insert_column_with_attributes(
19731        tree_view: *mut GtkTreeView,
19732        position: c_int,
19733        title: *const c_char,
19734        cell: *mut GtkCellRenderer,
19735        ...
19736    ) -> c_int;
19737    pub fn gtk_tree_view_insert_column_with_data_func(
19738        tree_view: *mut GtkTreeView,
19739        position: c_int,
19740        title: *const c_char,
19741        cell: *mut GtkCellRenderer,
19742        func: GtkTreeCellDataFunc,
19743        data: gpointer,
19744        dnotify: glib::GDestroyNotify,
19745    ) -> c_int;
19746    pub fn gtk_tree_view_is_blank_at_pos(
19747        tree_view: *mut GtkTreeView,
19748        x: c_int,
19749        y: c_int,
19750        path: *mut *mut GtkTreePath,
19751        column: *mut *mut GtkTreeViewColumn,
19752        cell_x: *mut c_int,
19753        cell_y: *mut c_int,
19754    ) -> gboolean;
19755    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
19756    pub fn gtk_tree_view_map_expanded_rows(
19757        tree_view: *mut GtkTreeView,
19758        func: GtkTreeViewMappingFunc,
19759        data: gpointer,
19760    );
19761    pub fn gtk_tree_view_move_column_after(
19762        tree_view: *mut GtkTreeView,
19763        column: *mut GtkTreeViewColumn,
19764        base_column: *mut GtkTreeViewColumn,
19765    );
19766    pub fn gtk_tree_view_remove_column(
19767        tree_view: *mut GtkTreeView,
19768        column: *mut GtkTreeViewColumn,
19769    ) -> c_int;
19770    pub fn gtk_tree_view_row_activated(
19771        tree_view: *mut GtkTreeView,
19772        path: *mut GtkTreePath,
19773        column: *mut GtkTreeViewColumn,
19774    );
19775    pub fn gtk_tree_view_row_expanded(
19776        tree_view: *mut GtkTreeView,
19777        path: *mut GtkTreePath,
19778    ) -> gboolean;
19779    pub fn gtk_tree_view_scroll_to_cell(
19780        tree_view: *mut GtkTreeView,
19781        path: *mut GtkTreePath,
19782        column: *mut GtkTreeViewColumn,
19783        use_align: gboolean,
19784        row_align: c_float,
19785        col_align: c_float,
19786    );
19787    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
19788    pub fn gtk_tree_view_set_activate_on_single_click(
19789        tree_view: *mut GtkTreeView,
19790        single: gboolean,
19791    );
19792    pub fn gtk_tree_view_set_column_drag_function(
19793        tree_view: *mut GtkTreeView,
19794        func: GtkTreeViewColumnDropFunc,
19795        user_data: gpointer,
19796        destroy: glib::GDestroyNotify,
19797    );
19798    pub fn gtk_tree_view_set_cursor(
19799        tree_view: *mut GtkTreeView,
19800        path: *mut GtkTreePath,
19801        focus_column: *mut GtkTreeViewColumn,
19802        start_editing: gboolean,
19803    );
19804    pub fn gtk_tree_view_set_cursor_on_cell(
19805        tree_view: *mut GtkTreeView,
19806        path: *mut GtkTreePath,
19807        focus_column: *mut GtkTreeViewColumn,
19808        focus_cell: *mut GtkCellRenderer,
19809        start_editing: gboolean,
19810    );
19811    pub fn gtk_tree_view_set_drag_dest_row(
19812        tree_view: *mut GtkTreeView,
19813        path: *mut GtkTreePath,
19814        pos: GtkTreeViewDropPosition,
19815    );
19816    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
19817    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
19818    pub fn gtk_tree_view_set_expander_column(
19819        tree_view: *mut GtkTreeView,
19820        column: *mut GtkTreeViewColumn,
19821    );
19822    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
19823    pub fn gtk_tree_view_set_grid_lines(
19824        tree_view: *mut GtkTreeView,
19825        grid_lines: GtkTreeViewGridLines,
19826    );
19827    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
19828    pub fn gtk_tree_view_set_headers_visible(
19829        tree_view: *mut GtkTreeView,
19830        headers_visible: gboolean,
19831    );
19832    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
19833    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
19834    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
19835    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
19836    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
19837    pub fn gtk_tree_view_set_row_separator_func(
19838        tree_view: *mut GtkTreeView,
19839        func: GtkTreeViewRowSeparatorFunc,
19840        data: gpointer,
19841        destroy: glib::GDestroyNotify,
19842    );
19843    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
19844    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
19845    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
19846    pub fn gtk_tree_view_set_search_equal_func(
19847        tree_view: *mut GtkTreeView,
19848        search_equal_func: GtkTreeViewSearchEqualFunc,
19849        search_user_data: gpointer,
19850        search_destroy: glib::GDestroyNotify,
19851    );
19852    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
19853    pub fn gtk_tree_view_set_tooltip_cell(
19854        tree_view: *mut GtkTreeView,
19855        tooltip: *mut GtkTooltip,
19856        path: *mut GtkTreePath,
19857        column: *mut GtkTreeViewColumn,
19858        cell: *mut GtkCellRenderer,
19859    );
19860    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
19861    pub fn gtk_tree_view_set_tooltip_row(
19862        tree_view: *mut GtkTreeView,
19863        tooltip: *mut GtkTooltip,
19864        path: *mut GtkTreePath,
19865    );
19866    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
19867    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
19868
19869    //=========================================================================
19870    // GtkTreeViewColumn
19871    //=========================================================================
19872    pub fn gtk_tree_view_column_get_type() -> GType;
19873    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
19874    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
19875    pub fn gtk_tree_view_column_new_with_attributes(
19876        title: *const c_char,
19877        cell: *mut GtkCellRenderer,
19878        ...
19879    ) -> *mut GtkTreeViewColumn;
19880    pub fn gtk_tree_view_column_add_attribute(
19881        tree_column: *mut GtkTreeViewColumn,
19882        cell_renderer: *mut GtkCellRenderer,
19883        attribute: *const c_char,
19884        column: c_int,
19885    );
19886    pub fn gtk_tree_view_column_cell_get_position(
19887        tree_column: *mut GtkTreeViewColumn,
19888        cell_renderer: *mut GtkCellRenderer,
19889        x_offset: *mut c_int,
19890        width: *mut c_int,
19891    ) -> gboolean;
19892    pub fn gtk_tree_view_column_cell_get_size(
19893        tree_column: *mut GtkTreeViewColumn,
19894        x_offset: *mut c_int,
19895        y_offset: *mut c_int,
19896        width: *mut c_int,
19897        height: *mut c_int,
19898    );
19899    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19900    pub fn gtk_tree_view_column_cell_set_cell_data(
19901        tree_column: *mut GtkTreeViewColumn,
19902        tree_model: *mut GtkTreeModel,
19903        iter: *mut GtkTreeIter,
19904        is_expander: gboolean,
19905        is_expanded: gboolean,
19906    );
19907    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
19908    pub fn gtk_tree_view_column_clear_attributes(
19909        tree_column: *mut GtkTreeViewColumn,
19910        cell_renderer: *mut GtkCellRenderer,
19911    );
19912    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
19913    pub fn gtk_tree_view_column_focus_cell(
19914        tree_column: *mut GtkTreeViewColumn,
19915        cell: *mut GtkCellRenderer,
19916    );
19917    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
19918    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
19919    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19920    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19921    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
19922    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
19923    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
19924    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19925    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19926    pub fn gtk_tree_view_column_get_sizing(
19927        tree_column: *mut GtkTreeViewColumn,
19928    ) -> GtkTreeViewColumnSizing;
19929    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
19930    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
19931        -> gboolean;
19932    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
19933    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
19934    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
19935    pub fn gtk_tree_view_column_get_tree_view(
19936        tree_column: *mut GtkTreeViewColumn,
19937    ) -> *mut GtkWidget;
19938    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
19939    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
19940    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
19941    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
19942    pub fn gtk_tree_view_column_pack_end(
19943        tree_column: *mut GtkTreeViewColumn,
19944        cell: *mut GtkCellRenderer,
19945        expand: gboolean,
19946    );
19947    pub fn gtk_tree_view_column_pack_start(
19948        tree_column: *mut GtkTreeViewColumn,
19949        cell: *mut GtkCellRenderer,
19950        expand: gboolean,
19951    );
19952    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
19953    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
19954    pub fn gtk_tree_view_column_set_attributes(
19955        tree_column: *mut GtkTreeViewColumn,
19956        cell_renderer: *mut GtkCellRenderer,
19957        ...
19958    );
19959    pub fn gtk_tree_view_column_set_cell_data_func(
19960        tree_column: *mut GtkTreeViewColumn,
19961        cell_renderer: *mut GtkCellRenderer,
19962        func: GtkTreeCellDataFunc,
19963        func_data: gpointer,
19964        destroy: glib::GDestroyNotify,
19965    );
19966    pub fn gtk_tree_view_column_set_clickable(
19967        tree_column: *mut GtkTreeViewColumn,
19968        clickable: gboolean,
19969    );
19970    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
19971    pub fn gtk_tree_view_column_set_fixed_width(
19972        tree_column: *mut GtkTreeViewColumn,
19973        fixed_width: c_int,
19974    );
19975    pub fn gtk_tree_view_column_set_max_width(
19976        tree_column: *mut GtkTreeViewColumn,
19977        max_width: c_int,
19978    );
19979    pub fn gtk_tree_view_column_set_min_width(
19980        tree_column: *mut GtkTreeViewColumn,
19981        min_width: c_int,
19982    );
19983    pub fn gtk_tree_view_column_set_reorderable(
19984        tree_column: *mut GtkTreeViewColumn,
19985        reorderable: gboolean,
19986    );
19987    pub fn gtk_tree_view_column_set_resizable(
19988        tree_column: *mut GtkTreeViewColumn,
19989        resizable: gboolean,
19990    );
19991    pub fn gtk_tree_view_column_set_sizing(
19992        tree_column: *mut GtkTreeViewColumn,
19993        type_: GtkTreeViewColumnSizing,
19994    );
19995    pub fn gtk_tree_view_column_set_sort_column_id(
19996        tree_column: *mut GtkTreeViewColumn,
19997        sort_column_id: c_int,
19998    );
19999    pub fn gtk_tree_view_column_set_sort_indicator(
20000        tree_column: *mut GtkTreeViewColumn,
20001        setting: gboolean,
20002    );
20003    pub fn gtk_tree_view_column_set_sort_order(
20004        tree_column: *mut GtkTreeViewColumn,
20005        order: GtkSortType,
20006    );
20007    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20008    pub fn gtk_tree_view_column_set_title(
20009        tree_column: *mut GtkTreeViewColumn,
20010        title: *const c_char,
20011    );
20012    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20013    pub fn gtk_tree_view_column_set_widget(
20014        tree_column: *mut GtkTreeViewColumn,
20015        widget: *mut GtkWidget,
20016    );
20017
20018    //=========================================================================
20019    // GtkUriLauncher
20020    //=========================================================================
20021    #[cfg(feature = "v4_10")]
20022    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20023    pub fn gtk_uri_launcher_get_type() -> GType;
20024    #[cfg(feature = "v4_10")]
20025    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20026    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20027    #[cfg(feature = "v4_10")]
20028    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20029    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20030    #[cfg(feature = "v4_10")]
20031    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20032    pub fn gtk_uri_launcher_launch(
20033        self_: *mut GtkUriLauncher,
20034        parent: *mut GtkWindow,
20035        cancellable: *mut gio::GCancellable,
20036        callback: gio::GAsyncReadyCallback,
20037        user_data: gpointer,
20038    );
20039    #[cfg(feature = "v4_10")]
20040    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20041    pub fn gtk_uri_launcher_launch_finish(
20042        self_: *mut GtkUriLauncher,
20043        result: *mut gio::GAsyncResult,
20044        error: *mut *mut glib::GError,
20045    ) -> gboolean;
20046    #[cfg(feature = "v4_10")]
20047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20048    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20049
20050    //=========================================================================
20051    // GtkVideo
20052    //=========================================================================
20053    pub fn gtk_video_get_type() -> GType;
20054    pub fn gtk_video_new() -> *mut GtkWidget;
20055    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20056    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20057    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20058    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20059    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20060    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20061    #[cfg(feature = "v4_14")]
20062    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20063    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20064    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20065    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20066    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20067    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20068    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20069    #[cfg(feature = "v4_14")]
20070    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20071    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20072    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20073    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20074    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20075
20076    //=========================================================================
20077    // GtkViewport
20078    //=========================================================================
20079    pub fn gtk_viewport_get_type() -> GType;
20080    pub fn gtk_viewport_new(
20081        hadjustment: *mut GtkAdjustment,
20082        vadjustment: *mut GtkAdjustment,
20083    ) -> *mut GtkWidget;
20084    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20085    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20086    #[cfg(feature = "v4_12")]
20087    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20088    pub fn gtk_viewport_scroll_to(
20089        viewport: *mut GtkViewport,
20090        descendant: *mut GtkWidget,
20091        scroll: *mut GtkScrollInfo,
20092    );
20093    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20094    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20095
20096    //=========================================================================
20097    // GtkVolumeButton
20098    //=========================================================================
20099    pub fn gtk_volume_button_get_type() -> GType;
20100    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20101
20102    //=========================================================================
20103    // GtkWidget
20104    //=========================================================================
20105    pub fn gtk_widget_get_type() -> GType;
20106    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20107    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20108    pub fn gtk_widget_action_set_enabled(
20109        widget: *mut GtkWidget,
20110        action_name: *const c_char,
20111        enabled: gboolean,
20112    );
20113    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20114    pub fn gtk_widget_activate_action(
20115        widget: *mut GtkWidget,
20116        name: *const c_char,
20117        format_string: *const c_char,
20118        ...
20119    ) -> gboolean;
20120    pub fn gtk_widget_activate_action_variant(
20121        widget: *mut GtkWidget,
20122        name: *const c_char,
20123        args: *mut glib::GVariant,
20124    ) -> gboolean;
20125    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20126    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20127    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20128    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20129    pub fn gtk_widget_add_tick_callback(
20130        widget: *mut GtkWidget,
20131        callback: GtkTickCallback,
20132        user_data: gpointer,
20133        notify: glib::GDestroyNotify,
20134    ) -> c_uint;
20135    pub fn gtk_widget_allocate(
20136        widget: *mut GtkWidget,
20137        width: c_int,
20138        height: c_int,
20139        baseline: c_int,
20140        transform: *mut gsk::GskTransform,
20141    );
20142    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20143    pub fn gtk_widget_compute_bounds(
20144        widget: *mut GtkWidget,
20145        target: *mut GtkWidget,
20146        out_bounds: *mut graphene::graphene_rect_t,
20147    ) -> gboolean;
20148    pub fn gtk_widget_compute_expand(
20149        widget: *mut GtkWidget,
20150        orientation: GtkOrientation,
20151    ) -> gboolean;
20152    pub fn gtk_widget_compute_point(
20153        widget: *mut GtkWidget,
20154        target: *mut GtkWidget,
20155        point: *const graphene::graphene_point_t,
20156        out_point: *mut graphene::graphene_point_t,
20157    ) -> gboolean;
20158    pub fn gtk_widget_compute_transform(
20159        widget: *mut GtkWidget,
20160        target: *mut GtkWidget,
20161        out_transform: *mut graphene::graphene_matrix_t,
20162    ) -> gboolean;
20163    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20164    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20165    pub fn gtk_widget_create_pango_layout(
20166        widget: *mut GtkWidget,
20167        text: *const c_char,
20168    ) -> *mut pango::PangoLayout;
20169    #[cfg(feature = "v4_8")]
20170    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20171    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20172    pub fn gtk_drag_check_threshold(
20173        widget: *mut GtkWidget,
20174        start_x: c_int,
20175        start_y: c_int,
20176        current_x: c_int,
20177        current_y: c_int,
20178    ) -> gboolean;
20179    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20180    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20181    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20182    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20183    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20184    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20185    #[cfg(feature = "v4_12")]
20186    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20187    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20188    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20189    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20190    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20191    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20192    #[cfg(feature = "v4_10")]
20193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20194    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20195    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20196    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20197    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20198    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20199    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20200    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20201    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20202    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20203    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20204    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20205    pub fn gtk_widget_get_font_options(
20206        widget: *mut GtkWidget,
20207    ) -> *const cairo::cairo_font_options_t;
20208    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20209    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20210    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20211    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20212    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20213    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20214    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20215    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20216    #[cfg(feature = "v4_18")]
20217    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20218    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20219    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20220    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20221    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20222    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20223    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20224    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20225    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20226    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20227    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20228    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20229    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20230    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20231    pub fn gtk_widget_get_preferred_size(
20232        widget: *mut GtkWidget,
20233        minimum_size: *mut GtkRequisition,
20234        natural_size: *mut GtkRequisition,
20235    );
20236    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20237    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20238    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20239    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20240    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20241    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20242    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20243    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20244    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20245    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
20246    pub fn gtk_widget_get_size_request(
20247        widget: *mut GtkWidget,
20248        width: *mut c_int,
20249        height: *mut c_int,
20250    );
20251    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
20252    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
20253    pub fn gtk_widget_get_template_child(
20254        widget: *mut GtkWidget,
20255        widget_type: GType,
20256        name: *const c_char,
20257    ) -> *mut gobject::GObject;
20258    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
20259    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
20260    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
20261    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
20262    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
20263    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
20264    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
20265    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
20266    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
20267    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
20268    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
20269    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
20270    pub fn gtk_widget_hide(widget: *mut GtkWidget);
20271    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
20272    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
20273    pub fn gtk_widget_insert_action_group(
20274        widget: *mut GtkWidget,
20275        name: *const c_char,
20276        group: *mut gio::GActionGroup,
20277    );
20278    pub fn gtk_widget_insert_after(
20279        widget: *mut GtkWidget,
20280        parent: *mut GtkWidget,
20281        previous_sibling: *mut GtkWidget,
20282    );
20283    pub fn gtk_widget_insert_before(
20284        widget: *mut GtkWidget,
20285        parent: *mut GtkWidget,
20286        next_sibling: *mut GtkWidget,
20287    );
20288    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
20289    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
20290    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
20291    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
20292    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
20293    pub fn gtk_widget_keynav_failed(
20294        widget: *mut GtkWidget,
20295        direction: GtkDirectionType,
20296    ) -> gboolean;
20297    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
20298    pub fn gtk_widget_map(widget: *mut GtkWidget);
20299    pub fn gtk_widget_measure(
20300        widget: *mut GtkWidget,
20301        orientation: GtkOrientation,
20302        for_size: c_int,
20303        minimum: *mut c_int,
20304        natural: *mut c_int,
20305        minimum_baseline: *mut c_int,
20306        natural_baseline: *mut c_int,
20307    );
20308    pub fn gtk_widget_mnemonic_activate(
20309        widget: *mut GtkWidget,
20310        group_cycling: gboolean,
20311    ) -> gboolean;
20312    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
20313    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
20314    pub fn gtk_widget_pick(
20315        widget: *mut GtkWidget,
20316        x: c_double,
20317        y: c_double,
20318        flags: GtkPickFlags,
20319    ) -> *mut GtkWidget;
20320    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
20321    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
20322    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
20323    pub fn gtk_widget_realize(widget: *mut GtkWidget);
20324    pub fn gtk_widget_remove_controller(
20325        widget: *mut GtkWidget,
20326        controller: *mut GtkEventController,
20327    );
20328    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20329    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20330    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
20331    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
20332    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
20333    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
20334    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
20335    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
20336    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
20337    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
20338    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
20339    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
20340    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
20341    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
20342    pub fn gtk_widget_set_font_options(
20343        widget: *mut GtkWidget,
20344        options: *const cairo::cairo_font_options_t,
20345    );
20346    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
20347    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
20348    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
20349    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
20350    pub fn gtk_widget_set_layout_manager(
20351        widget: *mut GtkWidget,
20352        layout_manager: *mut GtkLayoutManager,
20353    );
20354    #[cfg(feature = "v4_18")]
20355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20356    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
20357    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
20358    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
20359    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
20360    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
20361    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
20362    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
20363    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
20364    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
20365    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
20366    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
20367    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
20368    pub fn gtk_widget_set_state_flags(
20369        widget: *mut GtkWidget,
20370        flags: GtkStateFlags,
20371        clear: gboolean,
20372    );
20373    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
20374    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
20375    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
20376    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
20377    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
20378    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
20379    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
20380    pub fn gtk_widget_show(widget: *mut GtkWidget);
20381    pub fn gtk_widget_size_allocate(
20382        widget: *mut GtkWidget,
20383        allocation: *const GtkAllocation,
20384        baseline: c_int,
20385    );
20386    pub fn gtk_widget_snapshot_child(
20387        widget: *mut GtkWidget,
20388        child: *mut GtkWidget,
20389        snapshot: *mut GtkSnapshot,
20390    );
20391    pub fn gtk_widget_translate_coordinates(
20392        src_widget: *mut GtkWidget,
20393        dest_widget: *mut GtkWidget,
20394        src_x: c_double,
20395        src_y: c_double,
20396        dest_x: *mut c_double,
20397        dest_y: *mut c_double,
20398    ) -> gboolean;
20399    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
20400    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
20401    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
20402    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
20403    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
20404
20405    //=========================================================================
20406    // GtkWidgetPaintable
20407    //=========================================================================
20408    pub fn gtk_widget_paintable_get_type() -> GType;
20409    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
20410    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
20411    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
20412
20413    //=========================================================================
20414    // GtkWindow
20415    //=========================================================================
20416    pub fn gtk_window_get_type() -> GType;
20417    pub fn gtk_window_new() -> *mut GtkWidget;
20418    pub fn gtk_window_get_default_icon_name() -> *const c_char;
20419    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
20420    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
20421    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
20422    pub fn gtk_window_set_default_icon_name(name: *const c_char);
20423    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
20424    pub fn gtk_window_close(window: *mut GtkWindow);
20425    pub fn gtk_window_destroy(window: *mut GtkWindow);
20426    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
20427    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
20428    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
20429    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
20430    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
20431    pub fn gtk_window_get_default_size(
20432        window: *mut GtkWindow,
20433        width: *mut c_int,
20434        height: *mut c_int,
20435    );
20436    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
20437    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
20438    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
20439    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
20440    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
20441    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
20442    #[cfg(feature = "v4_2")]
20443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
20444    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
20445    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
20446    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
20447    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
20448    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
20449    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
20450    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
20451    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
20452    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
20453    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
20454    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
20455    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
20456    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
20457    #[cfg(feature = "v4_12")]
20458    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20459    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
20460    pub fn gtk_window_maximize(window: *mut GtkWindow);
20461    pub fn gtk_window_minimize(window: *mut GtkWindow);
20462    pub fn gtk_window_present(window: *mut GtkWindow);
20463    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
20464    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
20465    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
20466    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
20467    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
20468    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
20469    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
20470    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
20471    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
20472    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
20473    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
20474    #[cfg(feature = "v4_2")]
20475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
20476    pub fn gtk_window_set_handle_menubar_accel(
20477        window: *mut GtkWindow,
20478        handle_menubar_accel: gboolean,
20479    );
20480    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
20481    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
20482    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
20483    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
20484    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
20485    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
20486    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
20487    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
20488    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
20489    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
20490    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
20491    pub fn gtk_window_unminimize(window: *mut GtkWindow);
20492
20493    //=========================================================================
20494    // GtkWindowControls
20495    //=========================================================================
20496    pub fn gtk_window_controls_get_type() -> GType;
20497    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
20498    pub fn gtk_window_controls_get_decoration_layout(
20499        self_: *mut GtkWindowControls,
20500    ) -> *const c_char;
20501    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
20502    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
20503    pub fn gtk_window_controls_set_decoration_layout(
20504        self_: *mut GtkWindowControls,
20505        layout: *const c_char,
20506    );
20507    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
20508
20509    //=========================================================================
20510    // GtkWindowGroup
20511    //=========================================================================
20512    pub fn gtk_window_group_get_type() -> GType;
20513    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
20514    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
20515    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
20516    pub fn gtk_window_group_remove_window(
20517        window_group: *mut GtkWindowGroup,
20518        window: *mut GtkWindow,
20519    );
20520
20521    //=========================================================================
20522    // GtkWindowHandle
20523    //=========================================================================
20524    pub fn gtk_window_handle_get_type() -> GType;
20525    pub fn gtk_window_handle_new() -> *mut GtkWidget;
20526    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
20527    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
20528
20529    //=========================================================================
20530    // GtkAccessible
20531    //=========================================================================
20532    pub fn gtk_accessible_get_type() -> GType;
20533    #[cfg(feature = "v4_14")]
20534    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20535    pub fn gtk_accessible_announce(
20536        self_: *mut GtkAccessible,
20537        message: *const c_char,
20538        priority: GtkAccessibleAnnouncementPriority,
20539    );
20540    #[cfg(feature = "v4_10")]
20541    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20542    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
20543    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
20544    #[cfg(feature = "v4_10")]
20545    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20546    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
20547    #[cfg(feature = "v4_10")]
20548    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20549    pub fn gtk_accessible_get_bounds(
20550        self_: *mut GtkAccessible,
20551        x: *mut c_int,
20552        y: *mut c_int,
20553        width: *mut c_int,
20554        height: *mut c_int,
20555    ) -> gboolean;
20556    #[cfg(feature = "v4_10")]
20557    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20558    pub fn gtk_accessible_get_first_accessible_child(
20559        self_: *mut GtkAccessible,
20560    ) -> *mut GtkAccessible;
20561    #[cfg(feature = "v4_10")]
20562    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20563    pub fn gtk_accessible_get_next_accessible_sibling(
20564        self_: *mut GtkAccessible,
20565    ) -> *mut GtkAccessible;
20566    #[cfg(feature = "v4_10")]
20567    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20568    pub fn gtk_accessible_get_platform_state(
20569        self_: *mut GtkAccessible,
20570        state: GtkAccessiblePlatformState,
20571    ) -> gboolean;
20572    pub fn gtk_accessible_reset_property(
20573        self_: *mut GtkAccessible,
20574        property: GtkAccessibleProperty,
20575    );
20576    pub fn gtk_accessible_reset_relation(
20577        self_: *mut GtkAccessible,
20578        relation: GtkAccessibleRelation,
20579    );
20580    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
20581    #[cfg(feature = "v4_10")]
20582    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20583    pub fn gtk_accessible_set_accessible_parent(
20584        self_: *mut GtkAccessible,
20585        parent: *mut GtkAccessible,
20586        next_sibling: *mut GtkAccessible,
20587    );
20588    #[cfg(feature = "v4_10")]
20589    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20590    pub fn gtk_accessible_update_next_accessible_sibling(
20591        self_: *mut GtkAccessible,
20592        new_sibling: *mut GtkAccessible,
20593    );
20594    #[cfg(feature = "v4_18")]
20595    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20596    pub fn gtk_accessible_update_platform_state(
20597        self_: *mut GtkAccessible,
20598        state: GtkAccessiblePlatformState,
20599    );
20600    pub fn gtk_accessible_update_property(
20601        self_: *mut GtkAccessible,
20602        first_property: GtkAccessibleProperty,
20603        ...
20604    );
20605    pub fn gtk_accessible_update_property_value(
20606        self_: *mut GtkAccessible,
20607        n_properties: c_int,
20608        properties: *mut GtkAccessibleProperty,
20609        values: *const gobject::GValue,
20610    );
20611    pub fn gtk_accessible_update_relation(
20612        self_: *mut GtkAccessible,
20613        first_relation: GtkAccessibleRelation,
20614        ...
20615    );
20616    pub fn gtk_accessible_update_relation_value(
20617        self_: *mut GtkAccessible,
20618        n_relations: c_int,
20619        relations: *mut GtkAccessibleRelation,
20620        values: *const gobject::GValue,
20621    );
20622    pub fn gtk_accessible_update_state(
20623        self_: *mut GtkAccessible,
20624        first_state: GtkAccessibleState,
20625        ...
20626    );
20627    pub fn gtk_accessible_update_state_value(
20628        self_: *mut GtkAccessible,
20629        n_states: c_int,
20630        states: *mut GtkAccessibleState,
20631        values: *const gobject::GValue,
20632    );
20633
20634    //=========================================================================
20635    // GtkAccessibleRange
20636    //=========================================================================
20637    #[cfg(feature = "v4_10")]
20638    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20639    pub fn gtk_accessible_range_get_type() -> GType;
20640
20641    //=========================================================================
20642    // GtkAccessibleText
20643    //=========================================================================
20644    #[cfg(feature = "v4_14")]
20645    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20646    pub fn gtk_accessible_text_get_type() -> GType;
20647    #[cfg(feature = "v4_14")]
20648    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20649    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
20650    #[cfg(feature = "v4_14")]
20651    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20652    pub fn gtk_accessible_text_update_contents(
20653        self_: *mut GtkAccessibleText,
20654        change: GtkAccessibleTextContentChange,
20655        start: c_uint,
20656        end: c_uint,
20657    );
20658    #[cfg(feature = "v4_14")]
20659    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20660    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
20661
20662    //=========================================================================
20663    // GtkActionable
20664    //=========================================================================
20665    pub fn gtk_actionable_get_type() -> GType;
20666    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
20667    pub fn gtk_actionable_get_action_target_value(
20668        actionable: *mut GtkActionable,
20669    ) -> *mut glib::GVariant;
20670    pub fn gtk_actionable_set_action_name(
20671        actionable: *mut GtkActionable,
20672        action_name: *const c_char,
20673    );
20674    pub fn gtk_actionable_set_action_target(
20675        actionable: *mut GtkActionable,
20676        format_string: *const c_char,
20677        ...
20678    );
20679    pub fn gtk_actionable_set_action_target_value(
20680        actionable: *mut GtkActionable,
20681        target_value: *mut glib::GVariant,
20682    );
20683    pub fn gtk_actionable_set_detailed_action_name(
20684        actionable: *mut GtkActionable,
20685        detailed_action_name: *const c_char,
20686    );
20687
20688    //=========================================================================
20689    // GtkAppChooser
20690    //=========================================================================
20691    pub fn gtk_app_chooser_get_type() -> GType;
20692    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
20693    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
20694    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
20695
20696    //=========================================================================
20697    // GtkBuildable
20698    //=========================================================================
20699    pub fn gtk_buildable_get_type() -> GType;
20700    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
20701
20702    //=========================================================================
20703    // GtkBuilderScope
20704    //=========================================================================
20705    pub fn gtk_builder_scope_get_type() -> GType;
20706
20707    //=========================================================================
20708    // GtkCellEditable
20709    //=========================================================================
20710    pub fn gtk_cell_editable_get_type() -> GType;
20711    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
20712    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
20713    pub fn gtk_cell_editable_start_editing(
20714        cell_editable: *mut GtkCellEditable,
20715        event: *mut gdk::GdkEvent,
20716    );
20717
20718    //=========================================================================
20719    // GtkCellLayout
20720    //=========================================================================
20721    pub fn gtk_cell_layout_get_type() -> GType;
20722    pub fn gtk_cell_layout_add_attribute(
20723        cell_layout: *mut GtkCellLayout,
20724        cell: *mut GtkCellRenderer,
20725        attribute: *const c_char,
20726        column: c_int,
20727    );
20728    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
20729    pub fn gtk_cell_layout_clear_attributes(
20730        cell_layout: *mut GtkCellLayout,
20731        cell: *mut GtkCellRenderer,
20732    );
20733    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
20734    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
20735    pub fn gtk_cell_layout_pack_end(
20736        cell_layout: *mut GtkCellLayout,
20737        cell: *mut GtkCellRenderer,
20738        expand: gboolean,
20739    );
20740    pub fn gtk_cell_layout_pack_start(
20741        cell_layout: *mut GtkCellLayout,
20742        cell: *mut GtkCellRenderer,
20743        expand: gboolean,
20744    );
20745    pub fn gtk_cell_layout_reorder(
20746        cell_layout: *mut GtkCellLayout,
20747        cell: *mut GtkCellRenderer,
20748        position: c_int,
20749    );
20750    pub fn gtk_cell_layout_set_attributes(
20751        cell_layout: *mut GtkCellLayout,
20752        cell: *mut GtkCellRenderer,
20753        ...
20754    );
20755    pub fn gtk_cell_layout_set_cell_data_func(
20756        cell_layout: *mut GtkCellLayout,
20757        cell: *mut GtkCellRenderer,
20758        func: GtkCellLayoutDataFunc,
20759        func_data: gpointer,
20760        destroy: glib::GDestroyNotify,
20761    );
20762
20763    //=========================================================================
20764    // GtkColorChooser
20765    //=========================================================================
20766    pub fn gtk_color_chooser_get_type() -> GType;
20767    pub fn gtk_color_chooser_add_palette(
20768        chooser: *mut GtkColorChooser,
20769        orientation: GtkOrientation,
20770        colors_per_line: c_int,
20771        n_colors: c_int,
20772        colors: *mut gdk::GdkRGBA,
20773    );
20774    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
20775    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
20776    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
20777    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
20778
20779    //=========================================================================
20780    // GtkConstraintTarget
20781    //=========================================================================
20782    pub fn gtk_constraint_target_get_type() -> GType;
20783
20784    //=========================================================================
20785    // GtkEditable
20786    //=========================================================================
20787    pub fn gtk_editable_get_type() -> GType;
20788    pub fn gtk_editable_delegate_get_property(
20789        object: *mut gobject::GObject,
20790        prop_id: c_uint,
20791        value: *mut gobject::GValue,
20792        pspec: *mut gobject::GParamSpec,
20793    ) -> gboolean;
20794    pub fn gtk_editable_delegate_set_property(
20795        object: *mut gobject::GObject,
20796        prop_id: c_uint,
20797        value: *const gobject::GValue,
20798        pspec: *mut gobject::GParamSpec,
20799    ) -> gboolean;
20800    pub fn gtk_editable_install_properties(
20801        object_class: *mut gobject::GObjectClass,
20802        first_prop: c_uint,
20803    ) -> c_uint;
20804    #[cfg(feature = "v4_10")]
20805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20806    pub fn gtk_editable_delegate_get_accessible_platform_state(
20807        editable: *mut GtkEditable,
20808        state: GtkAccessiblePlatformState,
20809    ) -> gboolean;
20810    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
20811    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
20812    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
20813    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
20814    pub fn gtk_editable_get_chars(
20815        editable: *mut GtkEditable,
20816        start_pos: c_int,
20817        end_pos: c_int,
20818    ) -> *mut c_char;
20819    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
20820    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
20821    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
20822    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
20823    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
20824    pub fn gtk_editable_get_selection_bounds(
20825        editable: *mut GtkEditable,
20826        start_pos: *mut c_int,
20827        end_pos: *mut c_int,
20828    ) -> gboolean;
20829    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
20830    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
20831    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
20832    pub fn gtk_editable_insert_text(
20833        editable: *mut GtkEditable,
20834        text: *const c_char,
20835        length: c_int,
20836        position: *mut c_int,
20837    );
20838    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
20839    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
20840    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
20841    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
20842    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
20843    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
20844    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
20845    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
20846
20847    //=========================================================================
20848    // GtkFileChooser
20849    //=========================================================================
20850    pub fn gtk_file_chooser_get_type() -> GType;
20851    pub fn gtk_file_chooser_add_choice(
20852        chooser: *mut GtkFileChooser,
20853        id: *const c_char,
20854        label: *const c_char,
20855        options: *mut *const c_char,
20856        option_labels: *mut *const c_char,
20857    );
20858    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
20859    pub fn gtk_file_chooser_add_shortcut_folder(
20860        chooser: *mut GtkFileChooser,
20861        folder: *mut gio::GFile,
20862        error: *mut *mut glib::GError,
20863    ) -> gboolean;
20864    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
20865    pub fn gtk_file_chooser_get_choice(
20866        chooser: *mut GtkFileChooser,
20867        id: *const c_char,
20868    ) -> *const c_char;
20869    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
20870    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
20871    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
20872    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
20873    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
20874    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
20875    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
20876    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
20877    pub fn gtk_file_chooser_get_shortcut_folders(
20878        chooser: *mut GtkFileChooser,
20879    ) -> *mut gio::GListModel;
20880    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
20881    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
20882    pub fn gtk_file_chooser_remove_shortcut_folder(
20883        chooser: *mut GtkFileChooser,
20884        folder: *mut gio::GFile,
20885        error: *mut *mut glib::GError,
20886    ) -> gboolean;
20887    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
20888    pub fn gtk_file_chooser_set_choice(
20889        chooser: *mut GtkFileChooser,
20890        id: *const c_char,
20891        option: *const c_char,
20892    );
20893    pub fn gtk_file_chooser_set_create_folders(
20894        chooser: *mut GtkFileChooser,
20895        create_folders: gboolean,
20896    );
20897    pub fn gtk_file_chooser_set_current_folder(
20898        chooser: *mut GtkFileChooser,
20899        file: *mut gio::GFile,
20900        error: *mut *mut glib::GError,
20901    ) -> gboolean;
20902    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
20903    pub fn gtk_file_chooser_set_file(
20904        chooser: *mut GtkFileChooser,
20905        file: *mut gio::GFile,
20906        error: *mut *mut glib::GError,
20907    ) -> gboolean;
20908    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
20909    pub fn gtk_file_chooser_set_select_multiple(
20910        chooser: *mut GtkFileChooser,
20911        select_multiple: gboolean,
20912    );
20913
20914    //=========================================================================
20915    // GtkFontChooser
20916    //=========================================================================
20917    pub fn gtk_font_chooser_get_type() -> GType;
20918    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
20919    pub fn gtk_font_chooser_get_font_desc(
20920        fontchooser: *mut GtkFontChooser,
20921    ) -> *mut pango::PangoFontDescription;
20922    pub fn gtk_font_chooser_get_font_face(
20923        fontchooser: *mut GtkFontChooser,
20924    ) -> *mut pango::PangoFontFace;
20925    pub fn gtk_font_chooser_get_font_family(
20926        fontchooser: *mut GtkFontChooser,
20927    ) -> *mut pango::PangoFontFamily;
20928    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
20929    pub fn gtk_font_chooser_get_font_map(
20930        fontchooser: *mut GtkFontChooser,
20931    ) -> *mut pango::PangoFontMap;
20932    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
20933    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
20934    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
20935    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
20936    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
20937    pub fn gtk_font_chooser_set_filter_func(
20938        fontchooser: *mut GtkFontChooser,
20939        filter: GtkFontFilterFunc,
20940        user_data: gpointer,
20941        destroy: glib::GDestroyNotify,
20942    );
20943    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
20944    pub fn gtk_font_chooser_set_font_desc(
20945        fontchooser: *mut GtkFontChooser,
20946        font_desc: *const pango::PangoFontDescription,
20947    );
20948    pub fn gtk_font_chooser_set_font_map(
20949        fontchooser: *mut GtkFontChooser,
20950        fontmap: *mut pango::PangoFontMap,
20951    );
20952    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
20953    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
20954    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
20955    pub fn gtk_font_chooser_set_show_preview_entry(
20956        fontchooser: *mut GtkFontChooser,
20957        show_preview_entry: gboolean,
20958    );
20959
20960    //=========================================================================
20961    // GtkNative
20962    //=========================================================================
20963    pub fn gtk_native_get_type() -> GType;
20964    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
20965    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
20966    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
20967    pub fn gtk_native_get_surface_transform(
20968        self_: *mut GtkNative,
20969        x: *mut c_double,
20970        y: *mut c_double,
20971    );
20972    pub fn gtk_native_realize(self_: *mut GtkNative);
20973    pub fn gtk_native_unrealize(self_: *mut GtkNative);
20974
20975    //=========================================================================
20976    // GtkOrientable
20977    //=========================================================================
20978    pub fn gtk_orientable_get_type() -> GType;
20979    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
20980    pub fn gtk_orientable_set_orientation(
20981        orientable: *mut GtkOrientable,
20982        orientation: GtkOrientation,
20983    );
20984
20985    //=========================================================================
20986    // GtkPrintOperationPreview
20987    //=========================================================================
20988    pub fn gtk_print_operation_preview_get_type() -> GType;
20989    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
20990    pub fn gtk_print_operation_preview_is_selected(
20991        preview: *mut GtkPrintOperationPreview,
20992        page_nr: c_int,
20993    ) -> gboolean;
20994    pub fn gtk_print_operation_preview_render_page(
20995        preview: *mut GtkPrintOperationPreview,
20996        page_nr: c_int,
20997    );
20998
20999    //=========================================================================
21000    // GtkRoot
21001    //=========================================================================
21002    pub fn gtk_root_get_type() -> GType;
21003    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21004    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21005    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21006
21007    //=========================================================================
21008    // GtkScrollable
21009    //=========================================================================
21010    pub fn gtk_scrollable_get_type() -> GType;
21011    pub fn gtk_scrollable_get_border(
21012        scrollable: *mut GtkScrollable,
21013        border: *mut GtkBorder,
21014    ) -> gboolean;
21015    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21016    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21017        -> GtkScrollablePolicy;
21018    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21019    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21020        -> GtkScrollablePolicy;
21021    pub fn gtk_scrollable_set_hadjustment(
21022        scrollable: *mut GtkScrollable,
21023        hadjustment: *mut GtkAdjustment,
21024    );
21025    pub fn gtk_scrollable_set_hscroll_policy(
21026        scrollable: *mut GtkScrollable,
21027        policy: GtkScrollablePolicy,
21028    );
21029    pub fn gtk_scrollable_set_vadjustment(
21030        scrollable: *mut GtkScrollable,
21031        vadjustment: *mut GtkAdjustment,
21032    );
21033    pub fn gtk_scrollable_set_vscroll_policy(
21034        scrollable: *mut GtkScrollable,
21035        policy: GtkScrollablePolicy,
21036    );
21037
21038    //=========================================================================
21039    // GtkSectionModel
21040    //=========================================================================
21041    #[cfg(feature = "v4_12")]
21042    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21043    pub fn gtk_section_model_get_type() -> GType;
21044    #[cfg(feature = "v4_12")]
21045    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21046    pub fn gtk_section_model_get_section(
21047        self_: *mut GtkSectionModel,
21048        position: c_uint,
21049        out_start: *mut c_uint,
21050        out_end: *mut c_uint,
21051    );
21052    #[cfg(feature = "v4_12")]
21053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21054    pub fn gtk_section_model_sections_changed(
21055        self_: *mut GtkSectionModel,
21056        position: c_uint,
21057        n_items: c_uint,
21058    );
21059
21060    //=========================================================================
21061    // GtkSelectionModel
21062    //=========================================================================
21063    pub fn gtk_selection_model_get_type() -> GType;
21064    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21065    pub fn gtk_selection_model_get_selection_in_range(
21066        model: *mut GtkSelectionModel,
21067        position: c_uint,
21068        n_items: c_uint,
21069    ) -> *mut GtkBitset;
21070    pub fn gtk_selection_model_is_selected(
21071        model: *mut GtkSelectionModel,
21072        position: c_uint,
21073    ) -> gboolean;
21074    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21075    pub fn gtk_selection_model_select_item(
21076        model: *mut GtkSelectionModel,
21077        position: c_uint,
21078        unselect_rest: gboolean,
21079    ) -> gboolean;
21080    pub fn gtk_selection_model_select_range(
21081        model: *mut GtkSelectionModel,
21082        position: c_uint,
21083        n_items: c_uint,
21084        unselect_rest: gboolean,
21085    ) -> gboolean;
21086    pub fn gtk_selection_model_selection_changed(
21087        model: *mut GtkSelectionModel,
21088        position: c_uint,
21089        n_items: c_uint,
21090    );
21091    pub fn gtk_selection_model_set_selection(
21092        model: *mut GtkSelectionModel,
21093        selected: *mut GtkBitset,
21094        mask: *mut GtkBitset,
21095    ) -> gboolean;
21096    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21097    pub fn gtk_selection_model_unselect_item(
21098        model: *mut GtkSelectionModel,
21099        position: c_uint,
21100    ) -> gboolean;
21101    pub fn gtk_selection_model_unselect_range(
21102        model: *mut GtkSelectionModel,
21103        position: c_uint,
21104        n_items: c_uint,
21105    ) -> gboolean;
21106
21107    //=========================================================================
21108    // GtkShortcutManager
21109    //=========================================================================
21110    pub fn gtk_shortcut_manager_get_type() -> GType;
21111
21112    //=========================================================================
21113    // GtkStyleProvider
21114    //=========================================================================
21115    pub fn gtk_style_provider_get_type() -> GType;
21116
21117    //=========================================================================
21118    // GtkSymbolicPaintable
21119    //=========================================================================
21120    #[cfg(feature = "v4_6")]
21121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21122    pub fn gtk_symbolic_paintable_get_type() -> GType;
21123    #[cfg(feature = "v4_6")]
21124    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21125    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21126        paintable: *mut GtkSymbolicPaintable,
21127        snapshot: *mut gdk::GdkSnapshot,
21128        width: c_double,
21129        height: c_double,
21130        colors: *const gdk::GdkRGBA,
21131        n_colors: size_t,
21132    );
21133
21134    //=========================================================================
21135    // GtkTreeDragDest
21136    //=========================================================================
21137    pub fn gtk_tree_drag_dest_get_type() -> GType;
21138    pub fn gtk_tree_drag_dest_drag_data_received(
21139        drag_dest: *mut GtkTreeDragDest,
21140        dest: *mut GtkTreePath,
21141        value: *const gobject::GValue,
21142    ) -> gboolean;
21143    pub fn gtk_tree_drag_dest_row_drop_possible(
21144        drag_dest: *mut GtkTreeDragDest,
21145        dest_path: *mut GtkTreePath,
21146        value: *const gobject::GValue,
21147    ) -> gboolean;
21148
21149    //=========================================================================
21150    // GtkTreeDragSource
21151    //=========================================================================
21152    pub fn gtk_tree_drag_source_get_type() -> GType;
21153    pub fn gtk_tree_drag_source_drag_data_delete(
21154        drag_source: *mut GtkTreeDragSource,
21155        path: *mut GtkTreePath,
21156    ) -> gboolean;
21157    pub fn gtk_tree_drag_source_drag_data_get(
21158        drag_source: *mut GtkTreeDragSource,
21159        path: *mut GtkTreePath,
21160    ) -> *mut gdk::GdkContentProvider;
21161    pub fn gtk_tree_drag_source_row_draggable(
21162        drag_source: *mut GtkTreeDragSource,
21163        path: *mut GtkTreePath,
21164    ) -> gboolean;
21165
21166    //=========================================================================
21167    // GtkTreeModel
21168    //=========================================================================
21169    pub fn gtk_tree_model_get_type() -> GType;
21170    pub fn gtk_tree_model_filter_new(
21171        child_model: *mut GtkTreeModel,
21172        root: *mut GtkTreePath,
21173    ) -> *mut GtkTreeModel;
21174    pub fn gtk_tree_model_foreach(
21175        model: *mut GtkTreeModel,
21176        func: GtkTreeModelForeachFunc,
21177        user_data: gpointer,
21178    );
21179    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
21180    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
21181    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
21182    pub fn gtk_tree_model_get_iter(
21183        tree_model: *mut GtkTreeModel,
21184        iter: *mut GtkTreeIter,
21185        path: *mut GtkTreePath,
21186    ) -> gboolean;
21187    pub fn gtk_tree_model_get_iter_first(
21188        tree_model: *mut GtkTreeModel,
21189        iter: *mut GtkTreeIter,
21190    ) -> gboolean;
21191    pub fn gtk_tree_model_get_iter_from_string(
21192        tree_model: *mut GtkTreeModel,
21193        iter: *mut GtkTreeIter,
21194        path_string: *const c_char,
21195    ) -> gboolean;
21196    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
21197    pub fn gtk_tree_model_get_path(
21198        tree_model: *mut GtkTreeModel,
21199        iter: *mut GtkTreeIter,
21200    ) -> *mut GtkTreePath;
21201    pub fn gtk_tree_model_get_string_from_iter(
21202        tree_model: *mut GtkTreeModel,
21203        iter: *mut GtkTreeIter,
21204    ) -> *mut c_char;
21205    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
21206    pub fn gtk_tree_model_get_value(
21207        tree_model: *mut GtkTreeModel,
21208        iter: *mut GtkTreeIter,
21209        column: c_int,
21210        value: *mut gobject::GValue,
21211    );
21212    pub fn gtk_tree_model_iter_children(
21213        tree_model: *mut GtkTreeModel,
21214        iter: *mut GtkTreeIter,
21215        parent: *mut GtkTreeIter,
21216    ) -> gboolean;
21217    pub fn gtk_tree_model_iter_has_child(
21218        tree_model: *mut GtkTreeModel,
21219        iter: *mut GtkTreeIter,
21220    ) -> gboolean;
21221    pub fn gtk_tree_model_iter_n_children(
21222        tree_model: *mut GtkTreeModel,
21223        iter: *mut GtkTreeIter,
21224    ) -> c_int;
21225    pub fn gtk_tree_model_iter_next(
21226        tree_model: *mut GtkTreeModel,
21227        iter: *mut GtkTreeIter,
21228    ) -> gboolean;
21229    pub fn gtk_tree_model_iter_nth_child(
21230        tree_model: *mut GtkTreeModel,
21231        iter: *mut GtkTreeIter,
21232        parent: *mut GtkTreeIter,
21233        n: c_int,
21234    ) -> gboolean;
21235    pub fn gtk_tree_model_iter_parent(
21236        tree_model: *mut GtkTreeModel,
21237        iter: *mut GtkTreeIter,
21238        child: *mut GtkTreeIter,
21239    ) -> gboolean;
21240    pub fn gtk_tree_model_iter_previous(
21241        tree_model: *mut GtkTreeModel,
21242        iter: *mut GtkTreeIter,
21243    ) -> gboolean;
21244    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
21245    pub fn gtk_tree_model_row_changed(
21246        tree_model: *mut GtkTreeModel,
21247        path: *mut GtkTreePath,
21248        iter: *mut GtkTreeIter,
21249    );
21250    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
21251    pub fn gtk_tree_model_row_has_child_toggled(
21252        tree_model: *mut GtkTreeModel,
21253        path: *mut GtkTreePath,
21254        iter: *mut GtkTreeIter,
21255    );
21256    pub fn gtk_tree_model_row_inserted(
21257        tree_model: *mut GtkTreeModel,
21258        path: *mut GtkTreePath,
21259        iter: *mut GtkTreeIter,
21260    );
21261    pub fn gtk_tree_model_rows_reordered(
21262        tree_model: *mut GtkTreeModel,
21263        path: *mut GtkTreePath,
21264        iter: *mut GtkTreeIter,
21265        new_order: *mut c_int,
21266    );
21267    pub fn gtk_tree_model_rows_reordered_with_length(
21268        tree_model: *mut GtkTreeModel,
21269        path: *mut GtkTreePath,
21270        iter: *mut GtkTreeIter,
21271        new_order: *mut c_int,
21272        length: c_int,
21273    );
21274    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
21275
21276    //=========================================================================
21277    // GtkTreeSortable
21278    //=========================================================================
21279    pub fn gtk_tree_sortable_get_type() -> GType;
21280    pub fn gtk_tree_sortable_get_sort_column_id(
21281        sortable: *mut GtkTreeSortable,
21282        sort_column_id: *mut c_int,
21283        order: *mut GtkSortType,
21284    ) -> gboolean;
21285    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
21286    pub fn gtk_tree_sortable_set_default_sort_func(
21287        sortable: *mut GtkTreeSortable,
21288        sort_func: GtkTreeIterCompareFunc,
21289        user_data: gpointer,
21290        destroy: glib::GDestroyNotify,
21291    );
21292    pub fn gtk_tree_sortable_set_sort_column_id(
21293        sortable: *mut GtkTreeSortable,
21294        sort_column_id: c_int,
21295        order: GtkSortType,
21296    );
21297    pub fn gtk_tree_sortable_set_sort_func(
21298        sortable: *mut GtkTreeSortable,
21299        sort_column_id: c_int,
21300        sort_func: GtkTreeIterCompareFunc,
21301        user_data: gpointer,
21302        destroy: glib::GDestroyNotify,
21303    );
21304    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
21305
21306    //=========================================================================
21307    // Other functions
21308    //=========================================================================
21309    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
21310    pub fn gtk_accelerator_get_label(
21311        accelerator_key: c_uint,
21312        accelerator_mods: gdk::GdkModifierType,
21313    ) -> *mut c_char;
21314    pub fn gtk_accelerator_get_label_with_keycode(
21315        display: *mut gdk::GdkDisplay,
21316        accelerator_key: c_uint,
21317        keycode: c_uint,
21318        accelerator_mods: gdk::GdkModifierType,
21319    ) -> *mut c_char;
21320    pub fn gtk_accelerator_name(
21321        accelerator_key: c_uint,
21322        accelerator_mods: gdk::GdkModifierType,
21323    ) -> *mut c_char;
21324    pub fn gtk_accelerator_name_with_keycode(
21325        display: *mut gdk::GdkDisplay,
21326        accelerator_key: c_uint,
21327        keycode: c_uint,
21328        accelerator_mods: gdk::GdkModifierType,
21329    ) -> *mut c_char;
21330    pub fn gtk_accelerator_parse(
21331        accelerator: *const c_char,
21332        accelerator_key: *mut c_uint,
21333        accelerator_mods: *mut gdk::GdkModifierType,
21334    ) -> gboolean;
21335    pub fn gtk_accelerator_parse_with_keycode(
21336        accelerator: *const c_char,
21337        display: *mut gdk::GdkDisplay,
21338        accelerator_key: *mut c_uint,
21339        accelerator_codes: *mut *mut c_uint,
21340        accelerator_mods: *mut gdk::GdkModifierType,
21341    ) -> gboolean;
21342    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
21343    pub fn gtk_check_version(
21344        required_major: c_uint,
21345        required_minor: c_uint,
21346        required_micro: c_uint,
21347    ) -> *const c_char;
21348    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
21349    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
21350    #[cfg(feature = "v4_18")]
21351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21352    pub fn gtk_disable_portals();
21353    pub fn gtk_disable_setlocale();
21354    pub fn gtk_distribute_natural_allocation(
21355        extra_space: c_int,
21356        n_requested_sizes: c_uint,
21357        sizes: *mut GtkRequestedSize,
21358    ) -> c_int;
21359    pub fn gtk_enumerate_printers(
21360        func: GtkPrinterFunc,
21361        data: gpointer,
21362        destroy: glib::GDestroyNotify,
21363        wait: gboolean,
21364    );
21365    pub fn gtk_get_binary_age() -> c_uint;
21366    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
21367    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
21368    pub fn gtk_get_interface_age() -> c_uint;
21369    pub fn gtk_get_locale_direction() -> GtkTextDirection;
21370    pub fn gtk_get_major_version() -> c_uint;
21371    pub fn gtk_get_micro_version() -> c_uint;
21372    pub fn gtk_get_minor_version() -> c_uint;
21373    pub fn gtk_hsv_to_rgb(
21374        h: c_float,
21375        s: c_float,
21376        v: c_float,
21377        r: *mut c_float,
21378        g: *mut c_float,
21379        b: *mut c_float,
21380    );
21381    pub fn gtk_init();
21382    pub fn gtk_init_check() -> gboolean;
21383    pub fn gtk_is_initialized() -> gboolean;
21384    pub fn gtk_param_spec_expression(
21385        name: *const c_char,
21386        nick: *const c_char,
21387        blurb: *const c_char,
21388        flags: gobject::GParamFlags,
21389    ) -> *mut gobject::GParamSpec;
21390    pub fn gtk_print_run_page_setup_dialog(
21391        parent: *mut GtkWindow,
21392        page_setup: *mut GtkPageSetup,
21393        settings: *mut GtkPrintSettings,
21394    ) -> *mut GtkPageSetup;
21395    pub fn gtk_print_run_page_setup_dialog_async(
21396        parent: *mut GtkWindow,
21397        page_setup: *mut GtkPageSetup,
21398        settings: *mut GtkPrintSettings,
21399        done_cb: GtkPageSetupDoneFunc,
21400        data: gpointer,
21401    );
21402    pub fn gtk_render_activity(
21403        context: *mut GtkStyleContext,
21404        cr: *mut cairo::cairo_t,
21405        x: c_double,
21406        y: c_double,
21407        width: c_double,
21408        height: c_double,
21409    );
21410    pub fn gtk_render_arrow(
21411        context: *mut GtkStyleContext,
21412        cr: *mut cairo::cairo_t,
21413        angle: c_double,
21414        x: c_double,
21415        y: c_double,
21416        size: c_double,
21417    );
21418    pub fn gtk_render_background(
21419        context: *mut GtkStyleContext,
21420        cr: *mut cairo::cairo_t,
21421        x: c_double,
21422        y: c_double,
21423        width: c_double,
21424        height: c_double,
21425    );
21426    pub fn gtk_render_check(
21427        context: *mut GtkStyleContext,
21428        cr: *mut cairo::cairo_t,
21429        x: c_double,
21430        y: c_double,
21431        width: c_double,
21432        height: c_double,
21433    );
21434    pub fn gtk_render_expander(
21435        context: *mut GtkStyleContext,
21436        cr: *mut cairo::cairo_t,
21437        x: c_double,
21438        y: c_double,
21439        width: c_double,
21440        height: c_double,
21441    );
21442    pub fn gtk_render_focus(
21443        context: *mut GtkStyleContext,
21444        cr: *mut cairo::cairo_t,
21445        x: c_double,
21446        y: c_double,
21447        width: c_double,
21448        height: c_double,
21449    );
21450    pub fn gtk_render_frame(
21451        context: *mut GtkStyleContext,
21452        cr: *mut cairo::cairo_t,
21453        x: c_double,
21454        y: c_double,
21455        width: c_double,
21456        height: c_double,
21457    );
21458    pub fn gtk_render_handle(
21459        context: *mut GtkStyleContext,
21460        cr: *mut cairo::cairo_t,
21461        x: c_double,
21462        y: c_double,
21463        width: c_double,
21464        height: c_double,
21465    );
21466    pub fn gtk_render_icon(
21467        context: *mut GtkStyleContext,
21468        cr: *mut cairo::cairo_t,
21469        texture: *mut gdk::GdkTexture,
21470        x: c_double,
21471        y: c_double,
21472    );
21473    pub fn gtk_render_layout(
21474        context: *mut GtkStyleContext,
21475        cr: *mut cairo::cairo_t,
21476        x: c_double,
21477        y: c_double,
21478        layout: *mut pango::PangoLayout,
21479    );
21480    pub fn gtk_render_line(
21481        context: *mut GtkStyleContext,
21482        cr: *mut cairo::cairo_t,
21483        x0: c_double,
21484        y0: c_double,
21485        x1: c_double,
21486        y1: c_double,
21487    );
21488    pub fn gtk_render_option(
21489        context: *mut GtkStyleContext,
21490        cr: *mut cairo::cairo_t,
21491        x: c_double,
21492        y: c_double,
21493        width: c_double,
21494        height: c_double,
21495    );
21496    pub fn gtk_rgb_to_hsv(
21497        r: c_float,
21498        g: c_float,
21499        b: c_float,
21500        h: *mut c_float,
21501        s: *mut c_float,
21502        v: *mut c_float,
21503    );
21504    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
21505    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
21506    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
21507    pub fn gtk_show_uri_full(
21508        parent: *mut GtkWindow,
21509        uri: *const c_char,
21510        timestamp: u32,
21511        cancellable: *mut gio::GCancellable,
21512        callback: gio::GAsyncReadyCallback,
21513        user_data: gpointer,
21514    );
21515    pub fn gtk_show_uri_full_finish(
21516        parent: *mut GtkWindow,
21517        result: *mut gio::GAsyncResult,
21518        error: *mut *mut glib::GError,
21519    ) -> gboolean;
21520    pub fn gtk_test_accessible_assertion_message_role(
21521        domain: *const c_char,
21522        file: *const c_char,
21523        line: c_int,
21524        func: *const c_char,
21525        expr: *const c_char,
21526        accessible: *mut GtkAccessible,
21527        expected_role: GtkAccessibleRole,
21528        actual_role: GtkAccessibleRole,
21529    );
21530    pub fn gtk_test_accessible_check_property(
21531        accessible: *mut GtkAccessible,
21532        property: GtkAccessibleProperty,
21533        ...
21534    ) -> *mut c_char;
21535    pub fn gtk_test_accessible_check_relation(
21536        accessible: *mut GtkAccessible,
21537        relation: GtkAccessibleRelation,
21538        ...
21539    ) -> *mut c_char;
21540    pub fn gtk_test_accessible_check_state(
21541        accessible: *mut GtkAccessible,
21542        state: GtkAccessibleState,
21543        ...
21544    ) -> *mut c_char;
21545    pub fn gtk_test_accessible_has_property(
21546        accessible: *mut GtkAccessible,
21547        property: GtkAccessibleProperty,
21548    ) -> gboolean;
21549    pub fn gtk_test_accessible_has_relation(
21550        accessible: *mut GtkAccessible,
21551        relation: GtkAccessibleRelation,
21552    ) -> gboolean;
21553    pub fn gtk_test_accessible_has_role(
21554        accessible: *mut GtkAccessible,
21555        role: GtkAccessibleRole,
21556    ) -> gboolean;
21557    pub fn gtk_test_accessible_has_state(
21558        accessible: *mut GtkAccessible,
21559        state: GtkAccessibleState,
21560    ) -> gboolean;
21561    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
21562    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
21563    pub fn gtk_test_register_all_types();
21564    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
21565    pub fn gtk_tree_create_row_drag_content(
21566        tree_model: *mut GtkTreeModel,
21567        path: *mut GtkTreePath,
21568    ) -> *mut gdk::GdkContentProvider;
21569    pub fn gtk_tree_get_row_drag_data(
21570        value: *const gobject::GValue,
21571        tree_model: *mut *mut GtkTreeModel,
21572        path: *mut *mut GtkTreePath,
21573    ) -> gboolean;
21574    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
21575    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
21576    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
21577    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
21578
21579}