Skip to main content

gtk4_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7    clippy::approx_constant,
8    clippy::type_complexity,
9    clippy::unreadable_literal,
10    clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use cairo_sys as cairo;
15use gdk_pixbuf_sys as gdk_pixbuf;
16use gdk4_sys as gdk;
17use gio_sys as gio;
18use glib_sys as glib;
19use gobject_sys as gobject;
20use graphene_sys as graphene;
21use gsk4_sys as gsk;
22use pango_sys as pango;
23
24#[allow(unused_imports)]
25use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
26#[cfg(unix)]
27#[allow(unused_imports)]
28use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
29#[allow(unused_imports)]
30use std::ffi::{
31    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
32};
33
34#[allow(unused_imports)]
35use glib::{GType, gboolean, gconstpointer, gpointer};
36
37pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = u16::MAX;
38
39// Aliases
40pub type GtkAllocation = gdk::GdkRectangle;
41
42// Enums
43pub type GtkAccessibleAnnouncementPriority = c_int;
44pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW: GtkAccessibleAnnouncementPriority = 0;
45pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM: GtkAccessibleAnnouncementPriority = 1;
46pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH: GtkAccessibleAnnouncementPriority = 2;
47
48pub type GtkAccessibleAutocomplete = c_int;
49pub const GTK_ACCESSIBLE_AUTOCOMPLETE_NONE: GtkAccessibleAutocomplete = 0;
50pub const GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE: GtkAccessibleAutocomplete = 1;
51pub const GTK_ACCESSIBLE_AUTOCOMPLETE_LIST: GtkAccessibleAutocomplete = 2;
52pub const GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH: GtkAccessibleAutocomplete = 3;
53
54pub type GtkAccessibleInvalidState = c_int;
55pub const GTK_ACCESSIBLE_INVALID_FALSE: GtkAccessibleInvalidState = 0;
56pub const GTK_ACCESSIBLE_INVALID_TRUE: GtkAccessibleInvalidState = 1;
57pub const GTK_ACCESSIBLE_INVALID_GRAMMAR: GtkAccessibleInvalidState = 2;
58pub const GTK_ACCESSIBLE_INVALID_SPELLING: GtkAccessibleInvalidState = 3;
59
60pub type GtkAccessiblePlatformState = c_int;
61pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE: GtkAccessiblePlatformState = 0;
62pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED: GtkAccessiblePlatformState = 1;
63pub const GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE: GtkAccessiblePlatformState = 2;
64
65pub type GtkAccessibleProperty = c_int;
66pub const GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE: GtkAccessibleProperty = 0;
67pub const GTK_ACCESSIBLE_PROPERTY_DESCRIPTION: GtkAccessibleProperty = 1;
68pub const GTK_ACCESSIBLE_PROPERTY_HAS_POPUP: GtkAccessibleProperty = 2;
69pub const GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS: GtkAccessibleProperty = 3;
70pub const GTK_ACCESSIBLE_PROPERTY_LABEL: GtkAccessibleProperty = 4;
71pub const GTK_ACCESSIBLE_PROPERTY_LEVEL: GtkAccessibleProperty = 5;
72pub const GTK_ACCESSIBLE_PROPERTY_MODAL: GtkAccessibleProperty = 6;
73pub const GTK_ACCESSIBLE_PROPERTY_MULTI_LINE: GtkAccessibleProperty = 7;
74pub const GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE: GtkAccessibleProperty = 8;
75pub const GTK_ACCESSIBLE_PROPERTY_ORIENTATION: GtkAccessibleProperty = 9;
76pub const GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER: GtkAccessibleProperty = 10;
77pub const GTK_ACCESSIBLE_PROPERTY_READ_ONLY: GtkAccessibleProperty = 11;
78pub const GTK_ACCESSIBLE_PROPERTY_REQUIRED: GtkAccessibleProperty = 12;
79pub const GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION: GtkAccessibleProperty = 13;
80pub const GTK_ACCESSIBLE_PROPERTY_SORT: GtkAccessibleProperty = 14;
81pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MAX: GtkAccessibleProperty = 15;
82pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MIN: GtkAccessibleProperty = 16;
83pub const GTK_ACCESSIBLE_PROPERTY_VALUE_NOW: GtkAccessibleProperty = 17;
84pub const GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT: GtkAccessibleProperty = 18;
85#[cfg(feature = "v4_16")]
86#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
87pub const GTK_ACCESSIBLE_PROPERTY_HELP_TEXT: GtkAccessibleProperty = 19;
88
89pub type GtkAccessibleRelation = c_int;
90pub const GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT: GtkAccessibleRelation = 0;
91pub const GTK_ACCESSIBLE_RELATION_COL_COUNT: GtkAccessibleRelation = 1;
92pub const GTK_ACCESSIBLE_RELATION_COL_INDEX: GtkAccessibleRelation = 2;
93pub const GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT: GtkAccessibleRelation = 3;
94pub const GTK_ACCESSIBLE_RELATION_COL_SPAN: GtkAccessibleRelation = 4;
95pub const GTK_ACCESSIBLE_RELATION_CONTROLS: GtkAccessibleRelation = 5;
96pub const GTK_ACCESSIBLE_RELATION_DESCRIBED_BY: GtkAccessibleRelation = 6;
97pub const GTK_ACCESSIBLE_RELATION_DETAILS: GtkAccessibleRelation = 7;
98pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE: GtkAccessibleRelation = 8;
99pub const GTK_ACCESSIBLE_RELATION_FLOW_TO: GtkAccessibleRelation = 9;
100pub const GTK_ACCESSIBLE_RELATION_LABELLED_BY: GtkAccessibleRelation = 10;
101pub const GTK_ACCESSIBLE_RELATION_OWNS: GtkAccessibleRelation = 11;
102pub const GTK_ACCESSIBLE_RELATION_POS_IN_SET: GtkAccessibleRelation = 12;
103pub const GTK_ACCESSIBLE_RELATION_ROW_COUNT: GtkAccessibleRelation = 13;
104pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX: GtkAccessibleRelation = 14;
105pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT: GtkAccessibleRelation = 15;
106pub const GTK_ACCESSIBLE_RELATION_ROW_SPAN: GtkAccessibleRelation = 16;
107pub const GTK_ACCESSIBLE_RELATION_SET_SIZE: GtkAccessibleRelation = 17;
108#[cfg(feature = "v4_18")]
109#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
110pub const GTK_ACCESSIBLE_RELATION_LABEL_FOR: GtkAccessibleRelation = 18;
111#[cfg(feature = "v4_18")]
112#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
113pub const GTK_ACCESSIBLE_RELATION_DESCRIPTION_FOR: GtkAccessibleRelation = 19;
114#[cfg(feature = "v4_18")]
115#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
116pub const GTK_ACCESSIBLE_RELATION_CONTROLLED_BY: GtkAccessibleRelation = 20;
117#[cfg(feature = "v4_18")]
118#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
119pub const GTK_ACCESSIBLE_RELATION_DETAILS_FOR: GtkAccessibleRelation = 21;
120#[cfg(feature = "v4_18")]
121#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
122pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE_FOR: GtkAccessibleRelation = 22;
123#[cfg(feature = "v4_18")]
124#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
125pub const GTK_ACCESSIBLE_RELATION_FLOW_FROM: GtkAccessibleRelation = 23;
126
127pub type GtkAccessibleRole = c_int;
128pub const GTK_ACCESSIBLE_ROLE_ALERT: GtkAccessibleRole = 0;
129pub const GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: GtkAccessibleRole = 1;
130pub const GTK_ACCESSIBLE_ROLE_BANNER: GtkAccessibleRole = 2;
131pub const GTK_ACCESSIBLE_ROLE_BUTTON: GtkAccessibleRole = 3;
132pub const GTK_ACCESSIBLE_ROLE_CAPTION: GtkAccessibleRole = 4;
133pub const GTK_ACCESSIBLE_ROLE_CELL: GtkAccessibleRole = 5;
134pub const GTK_ACCESSIBLE_ROLE_CHECKBOX: GtkAccessibleRole = 6;
135pub const GTK_ACCESSIBLE_ROLE_COLUMN_HEADER: GtkAccessibleRole = 7;
136pub const GTK_ACCESSIBLE_ROLE_COMBO_BOX: GtkAccessibleRole = 8;
137pub const GTK_ACCESSIBLE_ROLE_COMMAND: GtkAccessibleRole = 9;
138pub const GTK_ACCESSIBLE_ROLE_COMPOSITE: GtkAccessibleRole = 10;
139pub const GTK_ACCESSIBLE_ROLE_DIALOG: GtkAccessibleRole = 11;
140pub const GTK_ACCESSIBLE_ROLE_DOCUMENT: GtkAccessibleRole = 12;
141pub const GTK_ACCESSIBLE_ROLE_FEED: GtkAccessibleRole = 13;
142pub const GTK_ACCESSIBLE_ROLE_FORM: GtkAccessibleRole = 14;
143pub const GTK_ACCESSIBLE_ROLE_GENERIC: GtkAccessibleRole = 15;
144pub const GTK_ACCESSIBLE_ROLE_GRID: GtkAccessibleRole = 16;
145pub const GTK_ACCESSIBLE_ROLE_GRID_CELL: GtkAccessibleRole = 17;
146pub const GTK_ACCESSIBLE_ROLE_GROUP: GtkAccessibleRole = 18;
147pub const GTK_ACCESSIBLE_ROLE_HEADING: GtkAccessibleRole = 19;
148pub const GTK_ACCESSIBLE_ROLE_IMG: GtkAccessibleRole = 20;
149pub const GTK_ACCESSIBLE_ROLE_INPUT: GtkAccessibleRole = 21;
150pub const GTK_ACCESSIBLE_ROLE_LABEL: GtkAccessibleRole = 22;
151pub const GTK_ACCESSIBLE_ROLE_LANDMARK: GtkAccessibleRole = 23;
152pub const GTK_ACCESSIBLE_ROLE_LEGEND: GtkAccessibleRole = 24;
153pub const GTK_ACCESSIBLE_ROLE_LINK: GtkAccessibleRole = 25;
154pub const GTK_ACCESSIBLE_ROLE_LIST: GtkAccessibleRole = 26;
155pub const GTK_ACCESSIBLE_ROLE_LIST_BOX: GtkAccessibleRole = 27;
156pub const GTK_ACCESSIBLE_ROLE_LIST_ITEM: GtkAccessibleRole = 28;
157pub const GTK_ACCESSIBLE_ROLE_LOG: GtkAccessibleRole = 29;
158pub const GTK_ACCESSIBLE_ROLE_MAIN: GtkAccessibleRole = 30;
159pub const GTK_ACCESSIBLE_ROLE_MARQUEE: GtkAccessibleRole = 31;
160pub const GTK_ACCESSIBLE_ROLE_MATH: GtkAccessibleRole = 32;
161pub const GTK_ACCESSIBLE_ROLE_METER: GtkAccessibleRole = 33;
162pub const GTK_ACCESSIBLE_ROLE_MENU: GtkAccessibleRole = 34;
163pub const GTK_ACCESSIBLE_ROLE_MENU_BAR: GtkAccessibleRole = 35;
164pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM: GtkAccessibleRole = 36;
165pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX: GtkAccessibleRole = 37;
166pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO: GtkAccessibleRole = 38;
167pub const GTK_ACCESSIBLE_ROLE_NAVIGATION: GtkAccessibleRole = 39;
168pub const GTK_ACCESSIBLE_ROLE_NONE: GtkAccessibleRole = 40;
169pub const GTK_ACCESSIBLE_ROLE_NOTE: GtkAccessibleRole = 41;
170pub const GTK_ACCESSIBLE_ROLE_OPTION: GtkAccessibleRole = 42;
171pub const GTK_ACCESSIBLE_ROLE_PRESENTATION: GtkAccessibleRole = 43;
172pub const GTK_ACCESSIBLE_ROLE_PROGRESS_BAR: GtkAccessibleRole = 44;
173pub const GTK_ACCESSIBLE_ROLE_RADIO: GtkAccessibleRole = 45;
174pub const GTK_ACCESSIBLE_ROLE_RADIO_GROUP: GtkAccessibleRole = 46;
175pub const GTK_ACCESSIBLE_ROLE_RANGE: GtkAccessibleRole = 47;
176pub const GTK_ACCESSIBLE_ROLE_REGION: GtkAccessibleRole = 48;
177pub const GTK_ACCESSIBLE_ROLE_ROW: GtkAccessibleRole = 49;
178pub const GTK_ACCESSIBLE_ROLE_ROW_GROUP: GtkAccessibleRole = 50;
179pub const GTK_ACCESSIBLE_ROLE_ROW_HEADER: GtkAccessibleRole = 51;
180pub const GTK_ACCESSIBLE_ROLE_SCROLLBAR: GtkAccessibleRole = 52;
181pub const GTK_ACCESSIBLE_ROLE_SEARCH: GtkAccessibleRole = 53;
182pub const GTK_ACCESSIBLE_ROLE_SEARCH_BOX: GtkAccessibleRole = 54;
183pub const GTK_ACCESSIBLE_ROLE_SECTION: GtkAccessibleRole = 55;
184pub const GTK_ACCESSIBLE_ROLE_SECTION_HEAD: GtkAccessibleRole = 56;
185pub const GTK_ACCESSIBLE_ROLE_SELECT: GtkAccessibleRole = 57;
186pub const GTK_ACCESSIBLE_ROLE_SEPARATOR: GtkAccessibleRole = 58;
187pub const GTK_ACCESSIBLE_ROLE_SLIDER: GtkAccessibleRole = 59;
188pub const GTK_ACCESSIBLE_ROLE_SPIN_BUTTON: GtkAccessibleRole = 60;
189pub const GTK_ACCESSIBLE_ROLE_STATUS: GtkAccessibleRole = 61;
190pub const GTK_ACCESSIBLE_ROLE_STRUCTURE: GtkAccessibleRole = 62;
191pub const GTK_ACCESSIBLE_ROLE_SWITCH: GtkAccessibleRole = 63;
192pub const GTK_ACCESSIBLE_ROLE_TAB: GtkAccessibleRole = 64;
193pub const GTK_ACCESSIBLE_ROLE_TABLE: GtkAccessibleRole = 65;
194pub const GTK_ACCESSIBLE_ROLE_TAB_LIST: GtkAccessibleRole = 66;
195pub const GTK_ACCESSIBLE_ROLE_TAB_PANEL: GtkAccessibleRole = 67;
196pub const GTK_ACCESSIBLE_ROLE_TEXT_BOX: GtkAccessibleRole = 68;
197pub const GTK_ACCESSIBLE_ROLE_TIME: GtkAccessibleRole = 69;
198pub const GTK_ACCESSIBLE_ROLE_TIMER: GtkAccessibleRole = 70;
199pub const GTK_ACCESSIBLE_ROLE_TOOLBAR: GtkAccessibleRole = 71;
200pub const GTK_ACCESSIBLE_ROLE_TOOLTIP: GtkAccessibleRole = 72;
201pub const GTK_ACCESSIBLE_ROLE_TREE: GtkAccessibleRole = 73;
202pub const GTK_ACCESSIBLE_ROLE_TREE_GRID: GtkAccessibleRole = 74;
203pub const GTK_ACCESSIBLE_ROLE_TREE_ITEM: GtkAccessibleRole = 75;
204pub const GTK_ACCESSIBLE_ROLE_WIDGET: GtkAccessibleRole = 76;
205pub const GTK_ACCESSIBLE_ROLE_WINDOW: GtkAccessibleRole = 77;
206#[cfg(feature = "v4_10")]
207#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
208pub const GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON: GtkAccessibleRole = 78;
209#[cfg(feature = "v4_12")]
210#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
211pub const GTK_ACCESSIBLE_ROLE_APPLICATION: GtkAccessibleRole = 79;
212#[cfg(feature = "v4_14")]
213#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
214pub const GTK_ACCESSIBLE_ROLE_PARAGRAPH: GtkAccessibleRole = 80;
215#[cfg(feature = "v4_14")]
216#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
217pub const GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE: GtkAccessibleRole = 81;
218#[cfg(feature = "v4_14")]
219#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
220pub const GTK_ACCESSIBLE_ROLE_ARTICLE: GtkAccessibleRole = 82;
221#[cfg(feature = "v4_14")]
222#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
223pub const GTK_ACCESSIBLE_ROLE_COMMENT: GtkAccessibleRole = 83;
224#[cfg(feature = "v4_14")]
225#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
226pub const GTK_ACCESSIBLE_ROLE_TERMINAL: GtkAccessibleRole = 84;
227
228pub type GtkAccessibleSort = c_int;
229pub const GTK_ACCESSIBLE_SORT_NONE: GtkAccessibleSort = 0;
230pub const GTK_ACCESSIBLE_SORT_ASCENDING: GtkAccessibleSort = 1;
231pub const GTK_ACCESSIBLE_SORT_DESCENDING: GtkAccessibleSort = 2;
232pub const GTK_ACCESSIBLE_SORT_OTHER: GtkAccessibleSort = 3;
233
234pub type GtkAccessibleState = c_int;
235pub const GTK_ACCESSIBLE_STATE_BUSY: GtkAccessibleState = 0;
236pub const GTK_ACCESSIBLE_STATE_CHECKED: GtkAccessibleState = 1;
237pub const GTK_ACCESSIBLE_STATE_DISABLED: GtkAccessibleState = 2;
238pub const GTK_ACCESSIBLE_STATE_EXPANDED: GtkAccessibleState = 3;
239pub const GTK_ACCESSIBLE_STATE_HIDDEN: GtkAccessibleState = 4;
240pub const GTK_ACCESSIBLE_STATE_INVALID: GtkAccessibleState = 5;
241pub const GTK_ACCESSIBLE_STATE_PRESSED: GtkAccessibleState = 6;
242pub const GTK_ACCESSIBLE_STATE_SELECTED: GtkAccessibleState = 7;
243#[cfg(feature = "v4_12")]
244#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
245pub const GTK_ACCESSIBLE_STATE_VISITED: GtkAccessibleState = 8;
246
247pub type GtkAccessibleTextContentChange = c_int;
248pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT: GtkAccessibleTextContentChange = 0;
249pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE: GtkAccessibleTextContentChange = 1;
250
251pub type GtkAccessibleTextGranularity = c_int;
252pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER: GtkAccessibleTextGranularity = 0;
253pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD: GtkAccessibleTextGranularity = 1;
254pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE: GtkAccessibleTextGranularity = 2;
255pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE: GtkAccessibleTextGranularity = 3;
256pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH: GtkAccessibleTextGranularity = 4;
257
258pub type GtkAccessibleTristate = c_int;
259pub const GTK_ACCESSIBLE_TRISTATE_FALSE: GtkAccessibleTristate = 0;
260pub const GTK_ACCESSIBLE_TRISTATE_TRUE: GtkAccessibleTristate = 1;
261pub const GTK_ACCESSIBLE_TRISTATE_MIXED: GtkAccessibleTristate = 2;
262
263pub type GtkAlign = c_int;
264pub const GTK_ALIGN_FILL: GtkAlign = 0;
265pub const GTK_ALIGN_START: GtkAlign = 1;
266pub const GTK_ALIGN_END: GtkAlign = 2;
267pub const GTK_ALIGN_CENTER: GtkAlign = 3;
268#[cfg(feature = "v4_12")]
269#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
270pub const GTK_ALIGN_BASELINE_FILL: GtkAlign = 4;
271pub const GTK_ALIGN_BASELINE: GtkAlign = 4;
272#[cfg(feature = "v4_12")]
273#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
274pub const GTK_ALIGN_BASELINE_CENTER: GtkAlign = 5;
275
276pub type GtkArrowType = c_int;
277pub const GTK_ARROW_UP: GtkArrowType = 0;
278pub const GTK_ARROW_DOWN: GtkArrowType = 1;
279pub const GTK_ARROW_LEFT: GtkArrowType = 2;
280pub const GTK_ARROW_RIGHT: GtkArrowType = 3;
281pub const GTK_ARROW_NONE: GtkArrowType = 4;
282
283pub type GtkAssistantPageType = c_int;
284pub const GTK_ASSISTANT_PAGE_CONTENT: GtkAssistantPageType = 0;
285pub const GTK_ASSISTANT_PAGE_INTRO: GtkAssistantPageType = 1;
286pub const GTK_ASSISTANT_PAGE_CONFIRM: GtkAssistantPageType = 2;
287pub const GTK_ASSISTANT_PAGE_SUMMARY: GtkAssistantPageType = 3;
288pub const GTK_ASSISTANT_PAGE_PROGRESS: GtkAssistantPageType = 4;
289pub const GTK_ASSISTANT_PAGE_CUSTOM: GtkAssistantPageType = 5;
290
291pub type GtkBaselinePosition = c_int;
292pub const GTK_BASELINE_POSITION_TOP: GtkBaselinePosition = 0;
293pub const GTK_BASELINE_POSITION_CENTER: GtkBaselinePosition = 1;
294pub const GTK_BASELINE_POSITION_BOTTOM: GtkBaselinePosition = 2;
295
296pub type GtkBorderStyle = c_int;
297pub const GTK_BORDER_STYLE_NONE: GtkBorderStyle = 0;
298pub const GTK_BORDER_STYLE_HIDDEN: GtkBorderStyle = 1;
299pub const GTK_BORDER_STYLE_SOLID: GtkBorderStyle = 2;
300pub const GTK_BORDER_STYLE_INSET: GtkBorderStyle = 3;
301pub const GTK_BORDER_STYLE_OUTSET: GtkBorderStyle = 4;
302pub const GTK_BORDER_STYLE_DOTTED: GtkBorderStyle = 5;
303pub const GTK_BORDER_STYLE_DASHED: GtkBorderStyle = 6;
304pub const GTK_BORDER_STYLE_DOUBLE: GtkBorderStyle = 7;
305pub const GTK_BORDER_STYLE_GROOVE: GtkBorderStyle = 8;
306pub const GTK_BORDER_STYLE_RIDGE: GtkBorderStyle = 9;
307
308pub type GtkBuilderError = c_int;
309pub const GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION: GtkBuilderError = 0;
310pub const GTK_BUILDER_ERROR_UNHANDLED_TAG: GtkBuilderError = 1;
311pub const GTK_BUILDER_ERROR_MISSING_ATTRIBUTE: GtkBuilderError = 2;
312pub const GTK_BUILDER_ERROR_INVALID_ATTRIBUTE: GtkBuilderError = 3;
313pub const GTK_BUILDER_ERROR_INVALID_TAG: GtkBuilderError = 4;
314pub const GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE: GtkBuilderError = 5;
315pub const GTK_BUILDER_ERROR_INVALID_VALUE: GtkBuilderError = 6;
316pub const GTK_BUILDER_ERROR_VERSION_MISMATCH: GtkBuilderError = 7;
317pub const GTK_BUILDER_ERROR_DUPLICATE_ID: GtkBuilderError = 8;
318pub const GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED: GtkBuilderError = 9;
319pub const GTK_BUILDER_ERROR_TEMPLATE_MISMATCH: GtkBuilderError = 10;
320pub const GTK_BUILDER_ERROR_INVALID_PROPERTY: GtkBuilderError = 11;
321pub const GTK_BUILDER_ERROR_INVALID_SIGNAL: GtkBuilderError = 12;
322pub const GTK_BUILDER_ERROR_INVALID_ID: GtkBuilderError = 13;
323pub const GTK_BUILDER_ERROR_INVALID_FUNCTION: GtkBuilderError = 14;
324
325pub type GtkButtonsType = c_int;
326pub const GTK_BUTTONS_NONE: GtkButtonsType = 0;
327pub const GTK_BUTTONS_OK: GtkButtonsType = 1;
328pub const GTK_BUTTONS_CLOSE: GtkButtonsType = 2;
329pub const GTK_BUTTONS_CANCEL: GtkButtonsType = 3;
330pub const GTK_BUTTONS_YES_NO: GtkButtonsType = 4;
331pub const GTK_BUTTONS_OK_CANCEL: GtkButtonsType = 5;
332
333pub type GtkCellRendererAccelMode = c_int;
334pub const GTK_CELL_RENDERER_ACCEL_MODE_GTK: GtkCellRendererAccelMode = 0;
335pub const GTK_CELL_RENDERER_ACCEL_MODE_OTHER: GtkCellRendererAccelMode = 1;
336
337pub type GtkCellRendererMode = c_int;
338pub const GTK_CELL_RENDERER_MODE_INERT: GtkCellRendererMode = 0;
339pub const GTK_CELL_RENDERER_MODE_ACTIVATABLE: GtkCellRendererMode = 1;
340pub const GTK_CELL_RENDERER_MODE_EDITABLE: GtkCellRendererMode = 2;
341
342pub type GtkCollation = c_int;
343pub const GTK_COLLATION_NONE: GtkCollation = 0;
344pub const GTK_COLLATION_UNICODE: GtkCollation = 1;
345pub const GTK_COLLATION_FILENAME: GtkCollation = 2;
346
347pub type GtkConstraintAttribute = c_int;
348pub const GTK_CONSTRAINT_ATTRIBUTE_NONE: GtkConstraintAttribute = 0;
349pub const GTK_CONSTRAINT_ATTRIBUTE_LEFT: GtkConstraintAttribute = 1;
350pub const GTK_CONSTRAINT_ATTRIBUTE_RIGHT: GtkConstraintAttribute = 2;
351pub const GTK_CONSTRAINT_ATTRIBUTE_TOP: GtkConstraintAttribute = 3;
352pub const GTK_CONSTRAINT_ATTRIBUTE_BOTTOM: GtkConstraintAttribute = 4;
353pub const GTK_CONSTRAINT_ATTRIBUTE_START: GtkConstraintAttribute = 5;
354pub const GTK_CONSTRAINT_ATTRIBUTE_END: GtkConstraintAttribute = 6;
355pub const GTK_CONSTRAINT_ATTRIBUTE_WIDTH: GtkConstraintAttribute = 7;
356pub const GTK_CONSTRAINT_ATTRIBUTE_HEIGHT: GtkConstraintAttribute = 8;
357pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_X: GtkConstraintAttribute = 9;
358pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y: GtkConstraintAttribute = 10;
359pub const GTK_CONSTRAINT_ATTRIBUTE_BASELINE: GtkConstraintAttribute = 11;
360
361pub type GtkConstraintRelation = c_int;
362pub const GTK_CONSTRAINT_RELATION_LE: GtkConstraintRelation = -1;
363pub const GTK_CONSTRAINT_RELATION_EQ: GtkConstraintRelation = 0;
364pub const GTK_CONSTRAINT_RELATION_GE: GtkConstraintRelation = 1;
365
366pub type GtkConstraintStrength = c_int;
367pub const GTK_CONSTRAINT_STRENGTH_REQUIRED: GtkConstraintStrength = 1001001000;
368pub const GTK_CONSTRAINT_STRENGTH_STRONG: GtkConstraintStrength = 1000000000;
369pub const GTK_CONSTRAINT_STRENGTH_MEDIUM: GtkConstraintStrength = 1000;
370pub const GTK_CONSTRAINT_STRENGTH_WEAK: GtkConstraintStrength = 1;
371
372pub type GtkConstraintVflParserError = c_int;
373pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL: GtkConstraintVflParserError = 0;
374pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE: GtkConstraintVflParserError = 1;
375pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW: GtkConstraintVflParserError = 2;
376pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC: GtkConstraintVflParserError = 3;
377pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY: GtkConstraintVflParserError = 4;
378pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION: GtkConstraintVflParserError = 5;
379
380pub type GtkContentFit = c_int;
381pub const GTK_CONTENT_FIT_FILL: GtkContentFit = 0;
382pub const GTK_CONTENT_FIT_CONTAIN: GtkContentFit = 1;
383pub const GTK_CONTENT_FIT_COVER: GtkContentFit = 2;
384pub const GTK_CONTENT_FIT_SCALE_DOWN: GtkContentFit = 3;
385
386pub type GtkCornerType = c_int;
387pub const GTK_CORNER_TOP_LEFT: GtkCornerType = 0;
388pub const GTK_CORNER_BOTTOM_LEFT: GtkCornerType = 1;
389pub const GTK_CORNER_TOP_RIGHT: GtkCornerType = 2;
390pub const GTK_CORNER_BOTTOM_RIGHT: GtkCornerType = 3;
391
392pub type GtkCssParserError = c_int;
393pub const GTK_CSS_PARSER_ERROR_FAILED: GtkCssParserError = 0;
394pub const GTK_CSS_PARSER_ERROR_SYNTAX: GtkCssParserError = 1;
395pub const GTK_CSS_PARSER_ERROR_IMPORT: GtkCssParserError = 2;
396pub const GTK_CSS_PARSER_ERROR_NAME: GtkCssParserError = 3;
397pub const GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE: GtkCssParserError = 4;
398
399pub type GtkCssParserWarning = c_int;
400pub const GTK_CSS_PARSER_WARNING_DEPRECATED: GtkCssParserWarning = 0;
401pub const GTK_CSS_PARSER_WARNING_SYNTAX: GtkCssParserWarning = 1;
402pub const GTK_CSS_PARSER_WARNING_UNIMPLEMENTED: GtkCssParserWarning = 2;
403
404pub type GtkDeleteType = c_int;
405pub const GTK_DELETE_CHARS: GtkDeleteType = 0;
406pub const GTK_DELETE_WORD_ENDS: GtkDeleteType = 1;
407pub const GTK_DELETE_WORDS: GtkDeleteType = 2;
408pub const GTK_DELETE_DISPLAY_LINES: GtkDeleteType = 3;
409pub const GTK_DELETE_DISPLAY_LINE_ENDS: GtkDeleteType = 4;
410pub const GTK_DELETE_PARAGRAPH_ENDS: GtkDeleteType = 5;
411pub const GTK_DELETE_PARAGRAPHS: GtkDeleteType = 6;
412pub const GTK_DELETE_WHITESPACE: GtkDeleteType = 7;
413
414pub type GtkDialogError = c_int;
415pub const GTK_DIALOG_ERROR_FAILED: GtkDialogError = 0;
416pub const GTK_DIALOG_ERROR_CANCELLED: GtkDialogError = 1;
417pub const GTK_DIALOG_ERROR_DISMISSED: GtkDialogError = 2;
418
419pub type GtkDirectionType = c_int;
420pub const GTK_DIR_TAB_FORWARD: GtkDirectionType = 0;
421pub const GTK_DIR_TAB_BACKWARD: GtkDirectionType = 1;
422pub const GTK_DIR_UP: GtkDirectionType = 2;
423pub const GTK_DIR_DOWN: GtkDirectionType = 3;
424pub const GTK_DIR_LEFT: GtkDirectionType = 4;
425pub const GTK_DIR_RIGHT: GtkDirectionType = 5;
426
427pub type GtkEditableProperties = c_int;
428pub const GTK_EDITABLE_PROP_TEXT: GtkEditableProperties = 0;
429pub const GTK_EDITABLE_PROP_CURSOR_POSITION: GtkEditableProperties = 1;
430pub const GTK_EDITABLE_PROP_SELECTION_BOUND: GtkEditableProperties = 2;
431pub const GTK_EDITABLE_PROP_EDITABLE: GtkEditableProperties = 3;
432pub const GTK_EDITABLE_PROP_WIDTH_CHARS: GtkEditableProperties = 4;
433pub const GTK_EDITABLE_PROP_MAX_WIDTH_CHARS: GtkEditableProperties = 5;
434pub const GTK_EDITABLE_PROP_XALIGN: GtkEditableProperties = 6;
435pub const GTK_EDITABLE_PROP_ENABLE_UNDO: GtkEditableProperties = 7;
436pub const GTK_EDITABLE_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#[cfg(feature = "v4_20")]
463#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
464pub const GTK_FILTER_CHANGE_DIFFERENT_REWATCH: GtkFilterChange = 3;
465#[cfg(feature = "v4_20")]
466#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
467pub const GTK_FILTER_CHANGE_LESS_STRICT_REWATCH: GtkFilterChange = 4;
468#[cfg(feature = "v4_20")]
469#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
470pub const GTK_FILTER_CHANGE_MORE_STRICT_REWATCH: GtkFilterChange = 5;
471
472pub type GtkFilterMatch = c_int;
473pub const GTK_FILTER_MATCH_SOME: GtkFilterMatch = 0;
474pub const GTK_FILTER_MATCH_NONE: GtkFilterMatch = 1;
475pub const GTK_FILTER_MATCH_ALL: GtkFilterMatch = 2;
476
477pub type GtkFontLevel = c_int;
478pub const GTK_FONT_LEVEL_FAMILY: GtkFontLevel = 0;
479pub const GTK_FONT_LEVEL_FACE: GtkFontLevel = 1;
480pub const GTK_FONT_LEVEL_FONT: GtkFontLevel = 2;
481pub const GTK_FONT_LEVEL_FEATURES: GtkFontLevel = 3;
482
483pub type GtkFontRendering = c_int;
484pub const GTK_FONT_RENDERING_AUTOMATIC: GtkFontRendering = 0;
485pub const GTK_FONT_RENDERING_MANUAL: GtkFontRendering = 1;
486
487pub type GtkGraphicsOffloadEnabled = c_int;
488pub const GTK_GRAPHICS_OFFLOAD_ENABLED: GtkGraphicsOffloadEnabled = 0;
489pub const GTK_GRAPHICS_OFFLOAD_DISABLED: GtkGraphicsOffloadEnabled = 1;
490
491pub type GtkIconSize = c_int;
492pub const GTK_ICON_SIZE_INHERIT: GtkIconSize = 0;
493pub const GTK_ICON_SIZE_NORMAL: GtkIconSize = 1;
494pub const GTK_ICON_SIZE_LARGE: GtkIconSize = 2;
495
496pub type GtkIconThemeError = c_int;
497pub const GTK_ICON_THEME_NOT_FOUND: GtkIconThemeError = 0;
498pub const GTK_ICON_THEME_FAILED: GtkIconThemeError = 1;
499
500pub type GtkIconViewDropPosition = c_int;
501pub const GTK_ICON_VIEW_NO_DROP: GtkIconViewDropPosition = 0;
502pub const GTK_ICON_VIEW_DROP_INTO: GtkIconViewDropPosition = 1;
503pub const GTK_ICON_VIEW_DROP_LEFT: GtkIconViewDropPosition = 2;
504pub const GTK_ICON_VIEW_DROP_RIGHT: GtkIconViewDropPosition = 3;
505pub const GTK_ICON_VIEW_DROP_ABOVE: GtkIconViewDropPosition = 4;
506pub const GTK_ICON_VIEW_DROP_BELOW: GtkIconViewDropPosition = 5;
507
508pub type GtkImageType = c_int;
509pub const GTK_IMAGE_EMPTY: GtkImageType = 0;
510pub const GTK_IMAGE_ICON_NAME: GtkImageType = 1;
511pub const GTK_IMAGE_GICON: GtkImageType = 2;
512pub const GTK_IMAGE_PAINTABLE: GtkImageType = 3;
513
514pub type GtkInputPurpose = c_int;
515pub const GTK_INPUT_PURPOSE_FREE_FORM: GtkInputPurpose = 0;
516pub const GTK_INPUT_PURPOSE_ALPHA: GtkInputPurpose = 1;
517pub const GTK_INPUT_PURPOSE_DIGITS: GtkInputPurpose = 2;
518pub const GTK_INPUT_PURPOSE_NUMBER: GtkInputPurpose = 3;
519pub const GTK_INPUT_PURPOSE_PHONE: GtkInputPurpose = 4;
520pub const GTK_INPUT_PURPOSE_URL: GtkInputPurpose = 5;
521pub const GTK_INPUT_PURPOSE_EMAIL: GtkInputPurpose = 6;
522pub const GTK_INPUT_PURPOSE_NAME: GtkInputPurpose = 7;
523pub const GTK_INPUT_PURPOSE_PASSWORD: GtkInputPurpose = 8;
524pub const GTK_INPUT_PURPOSE_PIN: GtkInputPurpose = 9;
525pub const GTK_INPUT_PURPOSE_TERMINAL: GtkInputPurpose = 10;
526
527pub type GtkInscriptionOverflow = c_int;
528pub const GTK_INSCRIPTION_OVERFLOW_CLIP: GtkInscriptionOverflow = 0;
529pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START: GtkInscriptionOverflow = 1;
530pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE: GtkInscriptionOverflow = 2;
531pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END: GtkInscriptionOverflow = 3;
532
533pub type GtkInterfaceColorScheme = c_int;
534pub const GTK_INTERFACE_COLOR_SCHEME_UNSUPPORTED: GtkInterfaceColorScheme = 0;
535pub const GTK_INTERFACE_COLOR_SCHEME_DEFAULT: GtkInterfaceColorScheme = 1;
536pub const GTK_INTERFACE_COLOR_SCHEME_DARK: GtkInterfaceColorScheme = 2;
537pub const GTK_INTERFACE_COLOR_SCHEME_LIGHT: GtkInterfaceColorScheme = 3;
538
539pub type GtkInterfaceContrast = c_int;
540pub const GTK_INTERFACE_CONTRAST_UNSUPPORTED: GtkInterfaceContrast = 0;
541pub const GTK_INTERFACE_CONTRAST_NO_PREFERENCE: GtkInterfaceContrast = 1;
542pub const GTK_INTERFACE_CONTRAST_MORE: GtkInterfaceContrast = 2;
543pub const GTK_INTERFACE_CONTRAST_LESS: GtkInterfaceContrast = 3;
544
545pub type GtkJustification = c_int;
546pub const GTK_JUSTIFY_LEFT: GtkJustification = 0;
547pub const GTK_JUSTIFY_RIGHT: GtkJustification = 1;
548pub const GTK_JUSTIFY_CENTER: GtkJustification = 2;
549pub const GTK_JUSTIFY_FILL: GtkJustification = 3;
550
551pub type GtkLevelBarMode = c_int;
552pub const GTK_LEVEL_BAR_MODE_CONTINUOUS: GtkLevelBarMode = 0;
553pub const GTK_LEVEL_BAR_MODE_DISCRETE: GtkLevelBarMode = 1;
554
555pub type GtkLicense = c_int;
556pub const GTK_LICENSE_UNKNOWN: GtkLicense = 0;
557pub const GTK_LICENSE_CUSTOM: GtkLicense = 1;
558pub const GTK_LICENSE_GPL_2_0: GtkLicense = 2;
559pub const GTK_LICENSE_GPL_3_0: GtkLicense = 3;
560pub const GTK_LICENSE_LGPL_2_1: GtkLicense = 4;
561pub const GTK_LICENSE_LGPL_3_0: GtkLicense = 5;
562pub const GTK_LICENSE_BSD: GtkLicense = 6;
563pub const GTK_LICENSE_MIT_X11: GtkLicense = 7;
564pub const GTK_LICENSE_ARTISTIC: GtkLicense = 8;
565pub const GTK_LICENSE_GPL_2_0_ONLY: GtkLicense = 9;
566pub const GTK_LICENSE_GPL_3_0_ONLY: GtkLicense = 10;
567pub const GTK_LICENSE_LGPL_2_1_ONLY: GtkLicense = 11;
568pub const GTK_LICENSE_LGPL_3_0_ONLY: GtkLicense = 12;
569pub const GTK_LICENSE_AGPL_3_0: GtkLicense = 13;
570pub const GTK_LICENSE_AGPL_3_0_ONLY: GtkLicense = 14;
571pub const GTK_LICENSE_BSD_3: GtkLicense = 15;
572pub const GTK_LICENSE_APACHE_2_0: GtkLicense = 16;
573pub const GTK_LICENSE_MPL_2_0: GtkLicense = 17;
574pub const GTK_LICENSE_0BSD: GtkLicense = 18;
575
576pub type GtkListTabBehavior = c_int;
577pub const GTK_LIST_TAB_ALL: GtkListTabBehavior = 0;
578pub const GTK_LIST_TAB_ITEM: GtkListTabBehavior = 1;
579pub const GTK_LIST_TAB_CELL: GtkListTabBehavior = 2;
580
581pub type GtkMessageType = c_int;
582pub const GTK_MESSAGE_INFO: GtkMessageType = 0;
583pub const GTK_MESSAGE_WARNING: GtkMessageType = 1;
584pub const GTK_MESSAGE_QUESTION: GtkMessageType = 2;
585pub const GTK_MESSAGE_ERROR: GtkMessageType = 3;
586pub const GTK_MESSAGE_OTHER: GtkMessageType = 4;
587
588pub type GtkMovementStep = c_int;
589pub const GTK_MOVEMENT_LOGICAL_POSITIONS: GtkMovementStep = 0;
590pub const GTK_MOVEMENT_VISUAL_POSITIONS: GtkMovementStep = 1;
591pub const GTK_MOVEMENT_WORDS: GtkMovementStep = 2;
592pub const GTK_MOVEMENT_DISPLAY_LINES: GtkMovementStep = 3;
593pub const GTK_MOVEMENT_DISPLAY_LINE_ENDS: GtkMovementStep = 4;
594pub const GTK_MOVEMENT_PARAGRAPHS: GtkMovementStep = 5;
595pub const GTK_MOVEMENT_PARAGRAPH_ENDS: GtkMovementStep = 6;
596pub const GTK_MOVEMENT_PAGES: GtkMovementStep = 7;
597pub const GTK_MOVEMENT_BUFFER_ENDS: GtkMovementStep = 8;
598pub const GTK_MOVEMENT_HORIZONTAL_PAGES: GtkMovementStep = 9;
599
600pub type GtkNaturalWrapMode = c_int;
601pub const GTK_NATURAL_WRAP_INHERIT: GtkNaturalWrapMode = 0;
602pub const GTK_NATURAL_WRAP_NONE: GtkNaturalWrapMode = 1;
603pub const GTK_NATURAL_WRAP_WORD: GtkNaturalWrapMode = 2;
604
605pub type GtkNotebookTab = c_int;
606pub const GTK_NOTEBOOK_TAB_FIRST: GtkNotebookTab = 0;
607pub const GTK_NOTEBOOK_TAB_LAST: GtkNotebookTab = 1;
608
609pub type GtkNumberUpLayout = c_int;
610pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM: GtkNumberUpLayout = 0;
611pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP: GtkNumberUpLayout = 1;
612pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM: GtkNumberUpLayout = 2;
613pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP: GtkNumberUpLayout = 3;
614pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT: GtkNumberUpLayout = 4;
615pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT: GtkNumberUpLayout = 5;
616pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT: GtkNumberUpLayout = 6;
617pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT: GtkNumberUpLayout = 7;
618
619pub type GtkOrdering = c_int;
620pub const GTK_ORDERING_SMALLER: GtkOrdering = -1;
621pub const GTK_ORDERING_EQUAL: GtkOrdering = 0;
622pub const GTK_ORDERING_LARGER: GtkOrdering = 1;
623
624pub type GtkOrientation = c_int;
625pub const GTK_ORIENTATION_HORIZONTAL: GtkOrientation = 0;
626pub const GTK_ORIENTATION_VERTICAL: GtkOrientation = 1;
627
628pub type GtkOverflow = c_int;
629pub const GTK_OVERFLOW_VISIBLE: GtkOverflow = 0;
630pub const GTK_OVERFLOW_HIDDEN: GtkOverflow = 1;
631
632pub type GtkPackType = c_int;
633pub const GTK_PACK_START: GtkPackType = 0;
634pub const GTK_PACK_END: GtkPackType = 1;
635
636pub type GtkPadActionType = c_int;
637pub const GTK_PAD_ACTION_BUTTON: GtkPadActionType = 0;
638pub const GTK_PAD_ACTION_RING: GtkPadActionType = 1;
639pub const GTK_PAD_ACTION_STRIP: GtkPadActionType = 2;
640pub const GTK_PAD_ACTION_DIAL: GtkPadActionType = 3;
641
642pub type GtkPageOrientation = c_int;
643pub const GTK_PAGE_ORIENTATION_PORTRAIT: GtkPageOrientation = 0;
644pub const GTK_PAGE_ORIENTATION_LANDSCAPE: GtkPageOrientation = 1;
645pub const GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: GtkPageOrientation = 2;
646pub const GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: GtkPageOrientation = 3;
647
648pub type GtkPageSet = c_int;
649pub const GTK_PAGE_SET_ALL: GtkPageSet = 0;
650pub const GTK_PAGE_SET_EVEN: GtkPageSet = 1;
651pub const GTK_PAGE_SET_ODD: GtkPageSet = 2;
652
653pub type GtkPanDirection = c_int;
654pub const GTK_PAN_DIRECTION_LEFT: GtkPanDirection = 0;
655pub const GTK_PAN_DIRECTION_RIGHT: GtkPanDirection = 1;
656pub const GTK_PAN_DIRECTION_UP: GtkPanDirection = 2;
657pub const GTK_PAN_DIRECTION_DOWN: GtkPanDirection = 3;
658
659pub type GtkPolicyType = c_int;
660pub const GTK_POLICY_ALWAYS: GtkPolicyType = 0;
661pub const GTK_POLICY_AUTOMATIC: GtkPolicyType = 1;
662pub const GTK_POLICY_NEVER: GtkPolicyType = 2;
663pub const GTK_POLICY_EXTERNAL: GtkPolicyType = 3;
664
665pub type GtkPositionType = c_int;
666pub const GTK_POS_LEFT: GtkPositionType = 0;
667pub const GTK_POS_RIGHT: GtkPositionType = 1;
668pub const GTK_POS_TOP: GtkPositionType = 2;
669pub const GTK_POS_BOTTOM: GtkPositionType = 3;
670
671pub type GtkPrintDuplex = c_int;
672pub const GTK_PRINT_DUPLEX_SIMPLEX: GtkPrintDuplex = 0;
673pub const GTK_PRINT_DUPLEX_HORIZONTAL: GtkPrintDuplex = 1;
674pub const GTK_PRINT_DUPLEX_VERTICAL: GtkPrintDuplex = 2;
675
676pub type GtkPrintError = c_int;
677pub const GTK_PRINT_ERROR_GENERAL: GtkPrintError = 0;
678pub const GTK_PRINT_ERROR_INTERNAL_ERROR: GtkPrintError = 1;
679pub const GTK_PRINT_ERROR_NOMEM: GtkPrintError = 2;
680pub const GTK_PRINT_ERROR_INVALID_FILE: GtkPrintError = 3;
681
682pub type GtkPrintOperationAction = c_int;
683pub const GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: GtkPrintOperationAction = 0;
684pub const GTK_PRINT_OPERATION_ACTION_PRINT: GtkPrintOperationAction = 1;
685pub const GTK_PRINT_OPERATION_ACTION_PREVIEW: GtkPrintOperationAction = 2;
686pub const GTK_PRINT_OPERATION_ACTION_EXPORT: GtkPrintOperationAction = 3;
687
688pub type GtkPrintOperationResult = c_int;
689pub const GTK_PRINT_OPERATION_RESULT_ERROR: GtkPrintOperationResult = 0;
690pub const GTK_PRINT_OPERATION_RESULT_APPLY: GtkPrintOperationResult = 1;
691pub const GTK_PRINT_OPERATION_RESULT_CANCEL: GtkPrintOperationResult = 2;
692pub const GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: GtkPrintOperationResult = 3;
693
694pub type GtkPrintPages = c_int;
695pub const GTK_PRINT_PAGES_ALL: GtkPrintPages = 0;
696pub const GTK_PRINT_PAGES_CURRENT: GtkPrintPages = 1;
697pub const GTK_PRINT_PAGES_RANGES: GtkPrintPages = 2;
698pub const GTK_PRINT_PAGES_SELECTION: GtkPrintPages = 3;
699
700pub type GtkPrintQuality = c_int;
701pub const GTK_PRINT_QUALITY_LOW: GtkPrintQuality = 0;
702pub const GTK_PRINT_QUALITY_NORMAL: GtkPrintQuality = 1;
703pub const GTK_PRINT_QUALITY_HIGH: GtkPrintQuality = 2;
704pub const GTK_PRINT_QUALITY_DRAFT: GtkPrintQuality = 3;
705
706pub type GtkPrintStatus = c_int;
707pub const GTK_PRINT_STATUS_INITIAL: GtkPrintStatus = 0;
708pub const GTK_PRINT_STATUS_PREPARING: GtkPrintStatus = 1;
709pub const GTK_PRINT_STATUS_GENERATING_DATA: GtkPrintStatus = 2;
710pub const GTK_PRINT_STATUS_SENDING_DATA: GtkPrintStatus = 3;
711pub const GTK_PRINT_STATUS_PENDING: GtkPrintStatus = 4;
712pub const GTK_PRINT_STATUS_PENDING_ISSUE: GtkPrintStatus = 5;
713pub const GTK_PRINT_STATUS_PRINTING: GtkPrintStatus = 6;
714pub const GTK_PRINT_STATUS_FINISHED: GtkPrintStatus = 7;
715pub const GTK_PRINT_STATUS_FINISHED_ABORTED: GtkPrintStatus = 8;
716
717pub type GtkPropagationLimit = c_int;
718pub const GTK_LIMIT_NONE: GtkPropagationLimit = 0;
719pub const GTK_LIMIT_SAME_NATIVE: GtkPropagationLimit = 1;
720
721pub type GtkPropagationPhase = c_int;
722pub const GTK_PHASE_NONE: GtkPropagationPhase = 0;
723pub const GTK_PHASE_CAPTURE: GtkPropagationPhase = 1;
724pub const GTK_PHASE_BUBBLE: GtkPropagationPhase = 2;
725pub const GTK_PHASE_TARGET: GtkPropagationPhase = 3;
726
727pub type GtkRecentManagerError = c_int;
728pub const GTK_RECENT_MANAGER_ERROR_NOT_FOUND: GtkRecentManagerError = 0;
729pub const GTK_RECENT_MANAGER_ERROR_INVALID_URI: GtkRecentManagerError = 1;
730pub const GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: GtkRecentManagerError = 2;
731pub const GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: GtkRecentManagerError = 3;
732pub const GTK_RECENT_MANAGER_ERROR_READ: GtkRecentManagerError = 4;
733pub const GTK_RECENT_MANAGER_ERROR_WRITE: GtkRecentManagerError = 5;
734pub const GTK_RECENT_MANAGER_ERROR_UNKNOWN: GtkRecentManagerError = 6;
735
736pub type GtkReducedMotion = c_int;
737pub const GTK_REDUCED_MOTION_NO_PREFERENCE: GtkReducedMotion = 0;
738pub const GTK_REDUCED_MOTION_REDUCE: GtkReducedMotion = 1;
739
740pub type GtkResponseType = c_int;
741pub const GTK_RESPONSE_NONE: GtkResponseType = -1;
742pub const GTK_RESPONSE_REJECT: GtkResponseType = -2;
743pub const GTK_RESPONSE_ACCEPT: GtkResponseType = -3;
744pub const GTK_RESPONSE_DELETE_EVENT: GtkResponseType = -4;
745pub const GTK_RESPONSE_OK: GtkResponseType = -5;
746pub const GTK_RESPONSE_CANCEL: GtkResponseType = -6;
747pub const GTK_RESPONSE_CLOSE: GtkResponseType = -7;
748pub const GTK_RESPONSE_YES: GtkResponseType = -8;
749pub const GTK_RESPONSE_NO: GtkResponseType = -9;
750pub const GTK_RESPONSE_APPLY: GtkResponseType = -10;
751pub const GTK_RESPONSE_HELP: GtkResponseType = -11;
752
753pub type GtkRestoreReason = c_int;
754pub const GTK_RESTORE_REASON_PRISTINE: GtkRestoreReason = 0;
755pub const GTK_RESTORE_REASON_LAUNCH: GtkRestoreReason = 1;
756pub const GTK_RESTORE_REASON_RECOVER: GtkRestoreReason = 2;
757pub const GTK_RESTORE_REASON_RESTORE: GtkRestoreReason = 3;
758
759pub type GtkRevealerTransitionType = c_int;
760pub const GTK_REVEALER_TRANSITION_TYPE_NONE: GtkRevealerTransitionType = 0;
761pub const GTK_REVEALER_TRANSITION_TYPE_CROSSFADE: GtkRevealerTransitionType = 1;
762pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT: GtkRevealerTransitionType = 2;
763pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT: GtkRevealerTransitionType = 3;
764pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP: GtkRevealerTransitionType = 4;
765pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN: GtkRevealerTransitionType = 5;
766pub const GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT: GtkRevealerTransitionType = 6;
767pub const GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT: GtkRevealerTransitionType = 7;
768pub const GTK_REVEALER_TRANSITION_TYPE_SWING_UP: GtkRevealerTransitionType = 8;
769pub const GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN: GtkRevealerTransitionType = 9;
770#[cfg(feature = "v4_22")]
771#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
772pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_RIGHT: GtkRevealerTransitionType = 10;
773#[cfg(feature = "v4_22")]
774#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
775pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_LEFT: GtkRevealerTransitionType = 11;
776#[cfg(feature = "v4_22")]
777#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
778pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_UP: GtkRevealerTransitionType = 12;
779#[cfg(feature = "v4_22")]
780#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
781pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_DOWN: GtkRevealerTransitionType = 13;
782
783pub type GtkScrollStep = c_int;
784pub const GTK_SCROLL_STEPS: GtkScrollStep = 0;
785pub const GTK_SCROLL_PAGES: GtkScrollStep = 1;
786pub const GTK_SCROLL_ENDS: GtkScrollStep = 2;
787pub const GTK_SCROLL_HORIZONTAL_STEPS: GtkScrollStep = 3;
788pub const GTK_SCROLL_HORIZONTAL_PAGES: GtkScrollStep = 4;
789pub const GTK_SCROLL_HORIZONTAL_ENDS: GtkScrollStep = 5;
790
791pub type GtkScrollType = c_int;
792pub const GTK_SCROLL_NONE: GtkScrollType = 0;
793pub const GTK_SCROLL_JUMP: GtkScrollType = 1;
794pub const GTK_SCROLL_STEP_BACKWARD: GtkScrollType = 2;
795pub const GTK_SCROLL_STEP_FORWARD: GtkScrollType = 3;
796pub const GTK_SCROLL_PAGE_BACKWARD: GtkScrollType = 4;
797pub const GTK_SCROLL_PAGE_FORWARD: GtkScrollType = 5;
798pub const GTK_SCROLL_STEP_UP: GtkScrollType = 6;
799pub const GTK_SCROLL_STEP_DOWN: GtkScrollType = 7;
800pub const GTK_SCROLL_PAGE_UP: GtkScrollType = 8;
801pub const GTK_SCROLL_PAGE_DOWN: GtkScrollType = 9;
802pub const GTK_SCROLL_STEP_LEFT: GtkScrollType = 10;
803pub const GTK_SCROLL_STEP_RIGHT: GtkScrollType = 11;
804pub const GTK_SCROLL_PAGE_LEFT: GtkScrollType = 12;
805pub const GTK_SCROLL_PAGE_RIGHT: GtkScrollType = 13;
806pub const GTK_SCROLL_START: GtkScrollType = 14;
807pub const GTK_SCROLL_END: GtkScrollType = 15;
808
809pub type GtkScrollablePolicy = c_int;
810pub const GTK_SCROLL_MINIMUM: GtkScrollablePolicy = 0;
811pub const GTK_SCROLL_NATURAL: GtkScrollablePolicy = 1;
812
813pub type GtkSelectionMode = c_int;
814pub const GTK_SELECTION_NONE: GtkSelectionMode = 0;
815pub const GTK_SELECTION_SINGLE: GtkSelectionMode = 1;
816pub const GTK_SELECTION_BROWSE: GtkSelectionMode = 2;
817pub const GTK_SELECTION_MULTIPLE: GtkSelectionMode = 3;
818
819pub type GtkSensitivityType = c_int;
820pub const GTK_SENSITIVITY_AUTO: GtkSensitivityType = 0;
821pub const GTK_SENSITIVITY_ON: GtkSensitivityType = 1;
822pub const GTK_SENSITIVITY_OFF: GtkSensitivityType = 2;
823
824pub type GtkShortcutScope = c_int;
825pub const GTK_SHORTCUT_SCOPE_LOCAL: GtkShortcutScope = 0;
826pub const GTK_SHORTCUT_SCOPE_MANAGED: GtkShortcutScope = 1;
827pub const GTK_SHORTCUT_SCOPE_GLOBAL: GtkShortcutScope = 2;
828
829pub type GtkShortcutType = c_int;
830pub const GTK_SHORTCUT_ACCELERATOR: GtkShortcutType = 0;
831pub const GTK_SHORTCUT_GESTURE_PINCH: GtkShortcutType = 1;
832pub const GTK_SHORTCUT_GESTURE_STRETCH: GtkShortcutType = 2;
833pub const GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE: GtkShortcutType = 3;
834pub const GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE: GtkShortcutType = 4;
835pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT: GtkShortcutType = 5;
836pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT: GtkShortcutType = 6;
837pub const GTK_SHORTCUT_GESTURE: GtkShortcutType = 7;
838pub const GTK_SHORTCUT_GESTURE_SWIPE_LEFT: GtkShortcutType = 8;
839pub const GTK_SHORTCUT_GESTURE_SWIPE_RIGHT: GtkShortcutType = 9;
840
841pub type GtkSizeGroupMode = c_int;
842pub const GTK_SIZE_GROUP_NONE: GtkSizeGroupMode = 0;
843pub const GTK_SIZE_GROUP_HORIZONTAL: GtkSizeGroupMode = 1;
844pub const GTK_SIZE_GROUP_VERTICAL: GtkSizeGroupMode = 2;
845pub const GTK_SIZE_GROUP_BOTH: GtkSizeGroupMode = 3;
846
847pub type GtkSizeRequestMode = c_int;
848pub const GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: GtkSizeRequestMode = 0;
849pub const GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: GtkSizeRequestMode = 1;
850pub const GTK_SIZE_REQUEST_CONSTANT_SIZE: GtkSizeRequestMode = 2;
851
852pub type GtkSortType = c_int;
853pub const GTK_SORT_ASCENDING: GtkSortType = 0;
854pub const GTK_SORT_DESCENDING: GtkSortType = 1;
855
856pub type GtkSorterChange = c_int;
857pub const GTK_SORTER_CHANGE_DIFFERENT: GtkSorterChange = 0;
858pub const GTK_SORTER_CHANGE_INVERTED: GtkSorterChange = 1;
859pub const GTK_SORTER_CHANGE_LESS_STRICT: GtkSorterChange = 2;
860pub const GTK_SORTER_CHANGE_MORE_STRICT: GtkSorterChange = 3;
861
862pub type GtkSorterOrder = c_int;
863pub const GTK_SORTER_ORDER_PARTIAL: GtkSorterOrder = 0;
864pub const GTK_SORTER_ORDER_NONE: GtkSorterOrder = 1;
865pub const GTK_SORTER_ORDER_TOTAL: GtkSorterOrder = 2;
866
867pub type GtkSpinButtonUpdatePolicy = c_int;
868pub const GTK_UPDATE_ALWAYS: GtkSpinButtonUpdatePolicy = 0;
869pub const GTK_UPDATE_IF_VALID: GtkSpinButtonUpdatePolicy = 1;
870
871pub type GtkSpinType = c_int;
872pub const GTK_SPIN_STEP_FORWARD: GtkSpinType = 0;
873pub const GTK_SPIN_STEP_BACKWARD: GtkSpinType = 1;
874pub const GTK_SPIN_PAGE_FORWARD: GtkSpinType = 2;
875pub const GTK_SPIN_PAGE_BACKWARD: GtkSpinType = 3;
876pub const GTK_SPIN_HOME: GtkSpinType = 4;
877pub const GTK_SPIN_END: GtkSpinType = 5;
878pub const GTK_SPIN_USER_DEFINED: GtkSpinType = 6;
879
880pub type GtkStackTransitionType = c_int;
881pub const GTK_STACK_TRANSITION_TYPE_NONE: GtkStackTransitionType = 0;
882pub const GTK_STACK_TRANSITION_TYPE_CROSSFADE: GtkStackTransitionType = 1;
883pub const GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT: GtkStackTransitionType = 2;
884pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT: GtkStackTransitionType = 3;
885pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP: GtkStackTransitionType = 4;
886pub const GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: GtkStackTransitionType = 5;
887pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: GtkStackTransitionType = 6;
888pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: GtkStackTransitionType = 7;
889pub const GTK_STACK_TRANSITION_TYPE_OVER_UP: GtkStackTransitionType = 8;
890pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN: GtkStackTransitionType = 9;
891pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT: GtkStackTransitionType = 10;
892pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: GtkStackTransitionType = 11;
893pub const GTK_STACK_TRANSITION_TYPE_UNDER_UP: GtkStackTransitionType = 12;
894pub const GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: GtkStackTransitionType = 13;
895pub const GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: GtkStackTransitionType = 14;
896pub const GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: GtkStackTransitionType = 15;
897pub const GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: GtkStackTransitionType = 16;
898pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: GtkStackTransitionType = 17;
899pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: GtkStackTransitionType = 18;
900pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: GtkStackTransitionType = 19;
901pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT: GtkStackTransitionType = 20;
902pub const GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT: GtkStackTransitionType = 21;
903pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT: GtkStackTransitionType = 22;
904
905pub type GtkStringFilterMatchMode = c_int;
906pub const GTK_STRING_FILTER_MATCH_MODE_EXACT: GtkStringFilterMatchMode = 0;
907pub const GTK_STRING_FILTER_MATCH_MODE_SUBSTRING: GtkStringFilterMatchMode = 1;
908pub const GTK_STRING_FILTER_MATCH_MODE_PREFIX: GtkStringFilterMatchMode = 2;
909
910pub type GtkSvgError = c_int;
911pub const GTK_SVG_ERROR_INVALID_SYNTAX: GtkSvgError = 0;
912pub const GTK_SVG_ERROR_INVALID_ELEMENT: GtkSvgError = 1;
913pub const GTK_SVG_ERROR_INVALID_ATTRIBUTE: GtkSvgError = 2;
914pub const GTK_SVG_ERROR_MISSING_ATTRIBUTE: GtkSvgError = 3;
915pub const GTK_SVG_ERROR_INVALID_REFERENCE: GtkSvgError = 4;
916pub const GTK_SVG_ERROR_FAILED_UPDATE: GtkSvgError = 5;
917pub const GTK_SVG_ERROR_FAILED_RENDERING: GtkSvgError = 6;
918pub const GTK_SVG_ERROR_IGNORED_ELEMENT: GtkSvgError = 7;
919pub const GTK_SVG_ERROR_LIMITS_EXCEEDED: GtkSvgError = 8;
920pub const GTK_SVG_ERROR_NOT_IMPLEMENTED: GtkSvgError = 9;
921pub const GTK_SVG_ERROR_FEATURE_DISABLED: GtkSvgError = 10;
922
923pub type GtkSymbolicColor = c_int;
924pub const GTK_SYMBOLIC_COLOR_FOREGROUND: GtkSymbolicColor = 0;
925pub const GTK_SYMBOLIC_COLOR_ERROR: GtkSymbolicColor = 1;
926pub const GTK_SYMBOLIC_COLOR_WARNING: GtkSymbolicColor = 2;
927pub const GTK_SYMBOLIC_COLOR_SUCCESS: GtkSymbolicColor = 3;
928#[cfg(feature = "v4_22")]
929#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
930pub const GTK_SYMBOLIC_COLOR_ACCENT: GtkSymbolicColor = 4;
931
932pub type GtkSystemSetting = c_int;
933pub const GTK_SYSTEM_SETTING_DPI: GtkSystemSetting = 0;
934pub const GTK_SYSTEM_SETTING_FONT_NAME: GtkSystemSetting = 1;
935pub const GTK_SYSTEM_SETTING_FONT_CONFIG: GtkSystemSetting = 2;
936pub const GTK_SYSTEM_SETTING_DISPLAY: GtkSystemSetting = 3;
937pub const GTK_SYSTEM_SETTING_ICON_THEME: GtkSystemSetting = 4;
938
939pub type GtkTextDirection = c_int;
940pub const GTK_TEXT_DIR_NONE: GtkTextDirection = 0;
941pub const GTK_TEXT_DIR_LTR: GtkTextDirection = 1;
942pub const GTK_TEXT_DIR_RTL: GtkTextDirection = 2;
943
944pub type GtkTextExtendSelection = c_int;
945pub const GTK_TEXT_EXTEND_SELECTION_WORD: GtkTextExtendSelection = 0;
946pub const GTK_TEXT_EXTEND_SELECTION_LINE: GtkTextExtendSelection = 1;
947
948pub type GtkTextViewLayer = c_int;
949pub const GTK_TEXT_VIEW_LAYER_BELOW_TEXT: GtkTextViewLayer = 0;
950pub const GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: GtkTextViewLayer = 1;
951
952pub type GtkTextWindowType = c_int;
953pub const GTK_TEXT_WINDOW_WIDGET: GtkTextWindowType = 1;
954pub const GTK_TEXT_WINDOW_TEXT: GtkTextWindowType = 2;
955pub const GTK_TEXT_WINDOW_LEFT: GtkTextWindowType = 3;
956pub const GTK_TEXT_WINDOW_RIGHT: GtkTextWindowType = 4;
957pub const GTK_TEXT_WINDOW_TOP: GtkTextWindowType = 5;
958pub const GTK_TEXT_WINDOW_BOTTOM: GtkTextWindowType = 6;
959
960pub type GtkTreeViewColumnSizing = c_int;
961pub const GTK_TREE_VIEW_COLUMN_GROW_ONLY: GtkTreeViewColumnSizing = 0;
962pub const GTK_TREE_VIEW_COLUMN_AUTOSIZE: GtkTreeViewColumnSizing = 1;
963pub const GTK_TREE_VIEW_COLUMN_FIXED: GtkTreeViewColumnSizing = 2;
964
965pub type GtkTreeViewDropPosition = c_int;
966pub const GTK_TREE_VIEW_DROP_BEFORE: GtkTreeViewDropPosition = 0;
967pub const GTK_TREE_VIEW_DROP_AFTER: GtkTreeViewDropPosition = 1;
968pub const GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: GtkTreeViewDropPosition = 2;
969pub const GTK_TREE_VIEW_DROP_INTO_OR_AFTER: GtkTreeViewDropPosition = 3;
970
971pub type GtkTreeViewGridLines = c_int;
972pub const GTK_TREE_VIEW_GRID_LINES_NONE: GtkTreeViewGridLines = 0;
973pub const GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: GtkTreeViewGridLines = 1;
974pub const GTK_TREE_VIEW_GRID_LINES_VERTICAL: GtkTreeViewGridLines = 2;
975pub const GTK_TREE_VIEW_GRID_LINES_BOTH: GtkTreeViewGridLines = 3;
976
977pub type GtkUnit = c_int;
978pub const GTK_UNIT_NONE: GtkUnit = 0;
979pub const GTK_UNIT_POINTS: GtkUnit = 1;
980pub const GTK_UNIT_INCH: GtkUnit = 2;
981pub const GTK_UNIT_MM: GtkUnit = 3;
982
983pub type GtkWindowGravity = c_int;
984pub const GTK_WINDOW_GRAVITY_TOP_LEFT: GtkWindowGravity = 0;
985pub const GTK_WINDOW_GRAVITY_TOP: GtkWindowGravity = 1;
986pub const GTK_WINDOW_GRAVITY_TOP_RIGHT: GtkWindowGravity = 2;
987pub const GTK_WINDOW_GRAVITY_LEFT: GtkWindowGravity = 3;
988pub const GTK_WINDOW_GRAVITY_CENTER: GtkWindowGravity = 4;
989pub const GTK_WINDOW_GRAVITY_RIGHT: GtkWindowGravity = 5;
990pub const GTK_WINDOW_GRAVITY_BOTTOM_LEFT: GtkWindowGravity = 6;
991pub const GTK_WINDOW_GRAVITY_BOTTOM: GtkWindowGravity = 7;
992pub const GTK_WINDOW_GRAVITY_BOTTOM_RIGHT: GtkWindowGravity = 8;
993pub const GTK_WINDOW_GRAVITY_TOP_START: GtkWindowGravity = 9;
994pub const GTK_WINDOW_GRAVITY_TOP_END: GtkWindowGravity = 10;
995pub const GTK_WINDOW_GRAVITY_START: GtkWindowGravity = 11;
996pub const GTK_WINDOW_GRAVITY_END: GtkWindowGravity = 12;
997pub const GTK_WINDOW_GRAVITY_BOTTOM_START: GtkWindowGravity = 13;
998pub const GTK_WINDOW_GRAVITY_BOTTOM_END: GtkWindowGravity = 14;
999
1000pub type GtkWrapMode = c_int;
1001pub const GTK_WRAP_NONE: GtkWrapMode = 0;
1002pub const GTK_WRAP_CHAR: GtkWrapMode = 1;
1003pub const GTK_WRAP_WORD: GtkWrapMode = 2;
1004pub const GTK_WRAP_WORD_CHAR: GtkWrapMode = 3;
1005
1006// Constants
1007pub const GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND: &[u8] = b"bg-color\0";
1008pub const GTK_ACCESSIBLE_ATTRIBUTE_FAMILY: &[u8] = b"family-name\0";
1009pub const GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND: &[u8] = b"fg-color\0";
1010pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE: &[u8] = b"overline\0";
1011pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE: &[u8] = b"none\0";
1012pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE: &[u8] = b"single\0";
1013pub const GTK_ACCESSIBLE_ATTRIBUTE_SIZE: &[u8] = b"size\0";
1014pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH: &[u8] = b"stretch\0";
1015pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED: &[u8] = b"condensed\0";
1016pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED: &[u8] = b"expanded\0";
1017pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED: &[u8] = b"extra_condensed\0";
1018pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED: &[u8] = b"extra_expanded\0";
1019pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL: &[u8] = b"normal\0";
1020pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED: &[u8] = b"semi_condensed\0";
1021pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED: &[u8] = b"semi_expanded\0";
1022pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED: &[u8] = b"ultra_condensed\0";
1023pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED: &[u8] = b"ultra_expanded\0";
1024pub const GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH: &[u8] = b"strikethrough\0";
1025pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE: &[u8] = b"style\0";
1026pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC: &[u8] = b"italic\0";
1027pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL: &[u8] = b"normal\0";
1028pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE: &[u8] = b"oblique\0";
1029pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE: &[u8] = b"underline\0";
1030pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE: &[u8] = b"double\0";
1031pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR: &[u8] = b"error\0";
1032pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE: &[u8] = b"none\0";
1033pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE: &[u8] = b"single\0";
1034pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT: &[u8] = b"variant\0";
1035pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS: &[u8] = b"all-petite-caps\0";
1036pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS: &[u8] = b"all-small-caps\0";
1037pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS: &[u8] = b"petite-caps\0";
1038pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS: &[u8] = b"small-caps\0";
1039pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS: &[u8] = b"title-caps\0";
1040pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE: &[u8] = b"unicase\0";
1041pub const GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT: &[u8] = b"weight\0";
1042pub const GTK_ACCESSIBLE_VALUE_UNDEFINED: c_int = -1;
1043pub const GTK_IM_MODULE_EXTENSION_POINT_NAME: &[u8] = b"gtk-im-module\0";
1044pub const GTK_INPUT_ERROR: c_int = -1;
1045pub const GTK_INVALID_LIST_POSITION: c_uint = 4294967295;
1046pub const GTK_LEVEL_BAR_OFFSET_FULL: &[u8] = b"full\0";
1047pub const GTK_LEVEL_BAR_OFFSET_HIGH: &[u8] = b"high\0";
1048pub const GTK_LEVEL_BAR_OFFSET_LOW: &[u8] = b"low\0";
1049pub const GTK_MAX_COMPOSE_LEN: c_int = 7;
1050pub const GTK_MEDIA_FILE_EXTENSION_POINT_NAME: &[u8] = b"gtk-media-file\0";
1051pub const GTK_PAPER_NAME_A3: &[u8] = b"iso_a3\0";
1052pub const GTK_PAPER_NAME_A4: &[u8] = b"iso_a4\0";
1053pub const GTK_PAPER_NAME_A5: &[u8] = b"iso_a5\0";
1054pub const GTK_PAPER_NAME_B5: &[u8] = b"iso_b5\0";
1055pub const GTK_PAPER_NAME_EXECUTIVE: &[u8] = b"na_executive\0";
1056pub const GTK_PAPER_NAME_LEGAL: &[u8] = b"na_legal\0";
1057pub const GTK_PAPER_NAME_LETTER: &[u8] = b"na_letter\0";
1058pub const GTK_PRINT_SETTINGS_COLLATE: &[u8] = b"collate\0";
1059pub const GTK_PRINT_SETTINGS_DEFAULT_SOURCE: &[u8] = b"default-source\0";
1060pub const GTK_PRINT_SETTINGS_DITHER: &[u8] = b"dither\0";
1061pub const GTK_PRINT_SETTINGS_DUPLEX: &[u8] = b"duplex\0";
1062pub const GTK_PRINT_SETTINGS_FINISHINGS: &[u8] = b"finishings\0";
1063pub const GTK_PRINT_SETTINGS_MEDIA_TYPE: &[u8] = b"media-type\0";
1064pub const GTK_PRINT_SETTINGS_NUMBER_UP: &[u8] = b"number-up\0";
1065pub const GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT: &[u8] = b"number-up-layout\0";
1066pub const GTK_PRINT_SETTINGS_N_COPIES: &[u8] = b"n-copies\0";
1067pub const GTK_PRINT_SETTINGS_ORIENTATION: &[u8] = b"orientation\0";
1068pub const GTK_PRINT_SETTINGS_OUTPUT_BASENAME: &[u8] = b"output-basename\0";
1069pub const GTK_PRINT_SETTINGS_OUTPUT_BIN: &[u8] = b"output-bin\0";
1070pub const GTK_PRINT_SETTINGS_OUTPUT_DIR: &[u8] = b"output-dir\0";
1071pub const GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT: &[u8] = b"output-file-format\0";
1072pub const GTK_PRINT_SETTINGS_OUTPUT_URI: &[u8] = b"output-uri\0";
1073pub const GTK_PRINT_SETTINGS_PAGE_RANGES: &[u8] = b"page-ranges\0";
1074pub const GTK_PRINT_SETTINGS_PAGE_SET: &[u8] = b"page-set\0";
1075pub const GTK_PRINT_SETTINGS_PAPER_FORMAT: &[u8] = b"paper-format\0";
1076pub const GTK_PRINT_SETTINGS_PAPER_HEIGHT: &[u8] = b"paper-height\0";
1077pub const GTK_PRINT_SETTINGS_PAPER_WIDTH: &[u8] = b"paper-width\0";
1078pub const GTK_PRINT_SETTINGS_PRINTER: &[u8] = b"printer\0";
1079pub const GTK_PRINT_SETTINGS_PRINTER_LPI: &[u8] = b"printer-lpi\0";
1080pub const GTK_PRINT_SETTINGS_PRINT_PAGES: &[u8] = b"print-pages\0";
1081pub const GTK_PRINT_SETTINGS_QUALITY: &[u8] = b"quality\0";
1082pub const GTK_PRINT_SETTINGS_RESOLUTION: &[u8] = b"resolution\0";
1083pub const GTK_PRINT_SETTINGS_RESOLUTION_X: &[u8] = b"resolution-x\0";
1084pub const GTK_PRINT_SETTINGS_RESOLUTION_Y: &[u8] = b"resolution-y\0";
1085pub const GTK_PRINT_SETTINGS_REVERSE: &[u8] = b"reverse\0";
1086pub const GTK_PRINT_SETTINGS_SCALE: &[u8] = b"scale\0";
1087pub const GTK_PRINT_SETTINGS_USE_COLOR: &[u8] = b"use-color\0";
1088pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA: &[u8] = b"win32-driver-extra\0";
1089pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION: &[u8] = b"win32-driver-version\0";
1090pub const GTK_PRIORITY_RESIZE: c_int = 110;
1091pub const GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: c_int = 600;
1092pub const GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: c_int = 1;
1093pub const GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: c_int = 400;
1094pub const GTK_STYLE_PROVIDER_PRIORITY_THEME: c_int = 200;
1095pub const GTK_STYLE_PROVIDER_PRIORITY_USER: c_int = 800;
1096pub const GTK_SVG_DEFAULT_FEATURES: c_int = 15;
1097pub const GTK_TEXT_VIEW_PRIORITY_VALIDATE: c_int = 125;
1098pub const GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: c_int = -1;
1099pub const GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: c_int = -2;
1100
1101// Flags
1102pub type GtkApplicationInhibitFlags = c_uint;
1103pub const GTK_APPLICATION_INHIBIT_LOGOUT: GtkApplicationInhibitFlags = 1;
1104pub const GTK_APPLICATION_INHIBIT_SWITCH: GtkApplicationInhibitFlags = 2;
1105pub const GTK_APPLICATION_INHIBIT_SUSPEND: GtkApplicationInhibitFlags = 4;
1106pub const GTK_APPLICATION_INHIBIT_IDLE: GtkApplicationInhibitFlags = 8;
1107
1108pub type GtkBuilderClosureFlags = c_uint;
1109pub const GTK_BUILDER_CLOSURE_SWAPPED: GtkBuilderClosureFlags = 1;
1110
1111pub type GtkCellRendererState = c_uint;
1112pub const GTK_CELL_RENDERER_SELECTED: GtkCellRendererState = 1;
1113pub const GTK_CELL_RENDERER_PRELIT: GtkCellRendererState = 2;
1114pub const GTK_CELL_RENDERER_INSENSITIVE: GtkCellRendererState = 4;
1115pub const GTK_CELL_RENDERER_SORTED: GtkCellRendererState = 8;
1116pub const GTK_CELL_RENDERER_FOCUSED: GtkCellRendererState = 16;
1117pub const GTK_CELL_RENDERER_EXPANDABLE: GtkCellRendererState = 32;
1118pub const GTK_CELL_RENDERER_EXPANDED: GtkCellRendererState = 64;
1119
1120pub type GtkDebugFlags = c_uint;
1121pub const GTK_DEBUG_TEXT: GtkDebugFlags = 1;
1122pub const GTK_DEBUG_TREE: GtkDebugFlags = 2;
1123pub const GTK_DEBUG_KEYBINDINGS: GtkDebugFlags = 4;
1124pub const GTK_DEBUG_MODULES: GtkDebugFlags = 8;
1125pub const GTK_DEBUG_GEOMETRY: GtkDebugFlags = 16;
1126pub const GTK_DEBUG_ICONTHEME: GtkDebugFlags = 32;
1127pub const GTK_DEBUG_PRINTING: GtkDebugFlags = 64;
1128pub const GTK_DEBUG_BUILDER_TRACE: GtkDebugFlags = 128;
1129pub const GTK_DEBUG_SIZE_REQUEST: GtkDebugFlags = 256;
1130pub const GTK_DEBUG_NO_CSS_CACHE: GtkDebugFlags = 512;
1131pub const GTK_DEBUG_INTERACTIVE: GtkDebugFlags = 1024;
1132#[cfg(feature = "v4_20")]
1133#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1134pub const GTK_DEBUG_TOUCHSCREEN: GtkDebugFlags = 2048;
1135pub const GTK_DEBUG_ACTIONS: GtkDebugFlags = 4096;
1136pub const GTK_DEBUG_LAYOUT: GtkDebugFlags = 8192;
1137pub const GTK_DEBUG_SNAPSHOT: GtkDebugFlags = 16384;
1138pub const GTK_DEBUG_CONSTRAINTS: GtkDebugFlags = 32768;
1139pub const GTK_DEBUG_BUILDER_OBJECTS: GtkDebugFlags = 65536;
1140pub const GTK_DEBUG_A11Y: GtkDebugFlags = 131072;
1141#[cfg(feature = "v4_2")]
1142#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
1143pub const GTK_DEBUG_ICONFALLBACK: GtkDebugFlags = 262144;
1144#[cfg(feature = "v4_8")]
1145#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
1146pub const GTK_DEBUG_INVERT_TEXT_DIR: GtkDebugFlags = 524288;
1147#[cfg(feature = "v4_16")]
1148#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
1149pub const GTK_DEBUG_CSS: GtkDebugFlags = 1048576;
1150#[cfg(feature = "v4_18")]
1151#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1152pub const GTK_DEBUG_BUILDER: GtkDebugFlags = 2097152;
1153#[cfg(feature = "v4_22")]
1154#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
1155pub const GTK_DEBUG_SESSION: GtkDebugFlags = 4194304;
1156
1157pub type GtkDialogFlags = c_uint;
1158pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1159pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1160pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1161
1162pub type GtkEventControllerScrollFlags = c_uint;
1163pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1164pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1165pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1166pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1167pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1168#[cfg(feature = "v4_20")]
1169#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1170pub const GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION: GtkEventControllerScrollFlags = 16;
1171pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1172
1173pub type GtkFontChooserLevel = c_uint;
1174pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1175pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1176pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1177pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1178pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1179
1180pub type GtkIconLookupFlags = c_uint;
1181#[cfg(feature = "v4_18")]
1182#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1183pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1184pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1185pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1186pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1187
1188pub type GtkInputHints = c_uint;
1189pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1190pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1191pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1192pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1193pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1194pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1195pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1196pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1197pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1198pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1199pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1200pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1201pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1202
1203pub type GtkListScrollFlags = c_uint;
1204pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1205pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1206pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1207
1208pub type GtkPickFlags = c_uint;
1209pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1210pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1211pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1212
1213pub type GtkPopoverMenuFlags = c_uint;
1214#[cfg(feature = "v4_14")]
1215#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1216pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1217pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1218
1219pub type GtkPrintCapabilities = c_uint;
1220pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1221pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1222pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1223pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1224pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1225pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1226pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1227pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1228pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1229pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1230
1231pub type GtkShortcutActionFlags = c_uint;
1232pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1233
1234pub type GtkStateFlags = c_uint;
1235pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1236pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1237pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1238pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1239pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1240pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1241pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1242pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1243pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1244pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1245pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1246pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1247pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1248pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1249pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1250pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1251
1252pub type GtkStyleContextPrintFlags = c_uint;
1253pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1254pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1255pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1256pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1257
1258pub type GtkSvgFeatures = c_uint;
1259pub const GTK_SVG_ANIMATIONS: GtkSvgFeatures = 1;
1260pub const GTK_SVG_SYSTEM_RESOURCES: GtkSvgFeatures = 2;
1261pub const GTK_SVG_EXTERNAL_RESOURCES: GtkSvgFeatures = 4;
1262pub const GTK_SVG_EXTENSIONS: GtkSvgFeatures = 8;
1263pub const GTK_SVG_TRADITIONAL_SYMBOLIC: GtkSvgFeatures = 16;
1264
1265pub type GtkTextBufferNotifyFlags = c_uint;
1266pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1267pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1268pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1269pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1270
1271pub type GtkTextSearchFlags = c_uint;
1272pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1273pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1274pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1275
1276pub type GtkTreeModelFlags = c_uint;
1277pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1278pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1279
1280// Callbacks
1281pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1282pub type GtkCellAllocCallback = Option<
1283    unsafe extern "C" fn(
1284        *mut GtkCellRenderer,
1285        *const gdk::GdkRectangle,
1286        *const gdk::GdkRectangle,
1287        gpointer,
1288    ) -> gboolean,
1289>;
1290pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1291pub type GtkCellLayoutDataFunc = Option<
1292    unsafe extern "C" fn(
1293        *mut GtkCellLayout,
1294        *mut GtkCellRenderer,
1295        *mut GtkTreeModel,
1296        *mut GtkTreeIter,
1297        gpointer,
1298    ),
1299>;
1300pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1301pub type GtkCustomFilterFunc =
1302    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1303pub type GtkCustomMeasureFunc = Option<
1304    unsafe extern "C" fn(
1305        *mut GtkWidget,
1306        GtkOrientation,
1307        c_int,
1308        *mut c_int,
1309        *mut c_int,
1310        *mut c_int,
1311        *mut c_int,
1312    ),
1313>;
1314pub type GtkCustomRequestModeFunc =
1315    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1316pub type GtkDrawingAreaDrawFunc =
1317    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1318pub type GtkEntryCompletionMatchFunc = Option<
1319    unsafe extern "C" fn(
1320        *mut GtkEntryCompletion,
1321        *const c_char,
1322        *mut GtkTreeIter,
1323        gpointer,
1324    ) -> gboolean,
1325>;
1326pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1327pub type GtkFlowBoxCreateWidgetFunc =
1328    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1329pub type GtkFlowBoxFilterFunc =
1330    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1331pub type GtkFlowBoxForeachFunc =
1332    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1333pub type GtkFlowBoxSortFunc =
1334    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1335pub type GtkFontFilterFunc = Option<
1336    unsafe extern "C" fn(
1337        *const pango::PangoFontFamily,
1338        *const pango::PangoFontFace,
1339        gpointer,
1340    ) -> gboolean,
1341>;
1342pub type GtkIconViewForeachFunc =
1343    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1344pub type GtkListBoxCreateWidgetFunc =
1345    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1346pub type GtkListBoxFilterFunc =
1347    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1348pub type GtkListBoxForeachFunc =
1349    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1350pub type GtkListBoxSortFunc =
1351    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1352pub type GtkListBoxUpdateHeaderFunc =
1353    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1354pub type GtkMapListModelMapFunc =
1355    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1356pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1357pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1358pub type GtkPrintJobCompleteFunc =
1359    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1360pub type GtkPrintSettingsFunc =
1361    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1362pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1363pub type GtkScaleFormatValueFunc =
1364    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1365pub type GtkShortcutFunc =
1366    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1367pub type GtkTextBufferCommitNotify = Option<
1368    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1369>;
1370pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1371pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1372pub type GtkTickCallback =
1373    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1374pub type GtkTreeCellDataFunc = Option<
1375    unsafe extern "C" fn(
1376        *mut GtkTreeViewColumn,
1377        *mut GtkCellRenderer,
1378        *mut GtkTreeModel,
1379        *mut GtkTreeIter,
1380        gpointer,
1381    ),
1382>;
1383pub type GtkTreeIterCompareFunc = Option<
1384    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1385>;
1386pub type GtkTreeListModelCreateModelFunc =
1387    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1388pub type GtkTreeModelFilterModifyFunc = Option<
1389    unsafe extern "C" fn(
1390        *mut GtkTreeModel,
1391        *mut GtkTreeIter,
1392        *mut gobject::GValue,
1393        c_int,
1394        gpointer,
1395    ),
1396>;
1397pub type GtkTreeModelFilterVisibleFunc =
1398    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1399pub type GtkTreeModelForeachFunc = Option<
1400    unsafe extern "C" fn(
1401        *mut GtkTreeModel,
1402        *mut GtkTreePath,
1403        *mut GtkTreeIter,
1404        gpointer,
1405    ) -> gboolean,
1406>;
1407pub type GtkTreeSelectionForeachFunc =
1408    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1409pub type GtkTreeSelectionFunc = Option<
1410    unsafe extern "C" fn(
1411        *mut GtkTreeSelection,
1412        *mut GtkTreeModel,
1413        *mut GtkTreePath,
1414        gboolean,
1415        gpointer,
1416    ) -> gboolean,
1417>;
1418pub type GtkTreeViewColumnDropFunc = Option<
1419    unsafe extern "C" fn(
1420        *mut GtkTreeView,
1421        *mut GtkTreeViewColumn,
1422        *mut GtkTreeViewColumn,
1423        *mut GtkTreeViewColumn,
1424        gpointer,
1425    ) -> gboolean,
1426>;
1427pub type GtkTreeViewMappingFunc =
1428    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1429pub type GtkTreeViewRowSeparatorFunc =
1430    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1431pub type GtkTreeViewSearchEqualFunc = Option<
1432    unsafe extern "C" fn(
1433        *mut GtkTreeModel,
1434        c_int,
1435        *const c_char,
1436        *mut GtkTreeIter,
1437        gpointer,
1438    ) -> gboolean,
1439>;
1440pub type GtkWidgetActionActivateFunc =
1441    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1442
1443// Records
1444#[repr(C)]
1445#[allow(dead_code)]
1446pub struct _GtkATContextClass {
1447    _data: [u8; 0],
1448    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1449}
1450
1451pub type GtkATContextClass = _GtkATContextClass;
1452
1453#[derive(Copy, Clone)]
1454#[repr(C)]
1455pub struct GtkAccessibleHyperlinkClass {
1456    pub parent_class: gobject::GObjectClass,
1457}
1458
1459impl ::std::fmt::Debug for GtkAccessibleHyperlinkClass {
1460    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1461        f.debug_struct(&format!("GtkAccessibleHyperlinkClass @ {self:p}"))
1462            .field("parent_class", &self.parent_class)
1463            .finish()
1464    }
1465}
1466
1467#[derive(Copy, Clone)]
1468#[repr(C)]
1469pub struct GtkAccessibleHypertextInterface {
1470    pub g_iface: gobject::GTypeInterface,
1471    pub get_n_links: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext) -> c_uint>,
1472    pub get_link: Option<
1473        unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> *mut GtkAccessibleHyperlink,
1474    >,
1475    pub get_link_at: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> c_uint>,
1476}
1477
1478impl ::std::fmt::Debug for GtkAccessibleHypertextInterface {
1479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1480        f.debug_struct(&format!("GtkAccessibleHypertextInterface @ {self:p}"))
1481            .field("get_n_links", &self.get_n_links)
1482            .field("get_link", &self.get_link)
1483            .field("get_link_at", &self.get_link_at)
1484            .finish()
1485    }
1486}
1487
1488#[derive(Copy, Clone)]
1489#[repr(C)]
1490pub struct GtkAccessibleInterface {
1491    pub g_iface: gobject::GTypeInterface,
1492    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1493    pub get_platform_state:
1494        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1495    pub get_accessible_parent:
1496        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1497    pub get_first_accessible_child:
1498        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1499    pub get_next_accessible_sibling:
1500        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1501    pub get_bounds: Option<
1502        unsafe extern "C" fn(
1503            *mut GtkAccessible,
1504            *mut c_int,
1505            *mut c_int,
1506            *mut c_int,
1507            *mut c_int,
1508        ) -> gboolean,
1509    >,
1510    pub get_accessible_id: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut c_char>,
1511}
1512
1513impl ::std::fmt::Debug for GtkAccessibleInterface {
1514    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1515        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1516            .field("g_iface", &self.g_iface)
1517            .field("get_at_context", &self.get_at_context)
1518            .field("get_platform_state", &self.get_platform_state)
1519            .field("get_accessible_parent", &self.get_accessible_parent)
1520            .field(
1521                "get_first_accessible_child",
1522                &self.get_first_accessible_child,
1523            )
1524            .field(
1525                "get_next_accessible_sibling",
1526                &self.get_next_accessible_sibling,
1527            )
1528            .field("get_bounds", &self.get_bounds)
1529            .field("get_accessible_id", &self.get_accessible_id)
1530            .finish()
1531    }
1532}
1533
1534#[repr(C)]
1535#[allow(dead_code)]
1536pub struct GtkAccessibleList {
1537    _data: [u8; 0],
1538    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1539}
1540
1541impl ::std::fmt::Debug for GtkAccessibleList {
1542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1543        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1544            .finish()
1545    }
1546}
1547
1548#[derive(Copy, Clone)]
1549#[repr(C)]
1550pub struct GtkAccessibleRangeInterface {
1551    pub g_iface: gobject::GTypeInterface,
1552    pub set_current_value:
1553        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1554}
1555
1556impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1557    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1558        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1559            .field("g_iface", &self.g_iface)
1560            .field("set_current_value", &self.set_current_value)
1561            .finish()
1562    }
1563}
1564
1565#[derive(Copy, Clone)]
1566#[repr(C)]
1567pub struct GtkAccessibleTextInterface {
1568    pub g_iface: gobject::GTypeInterface,
1569    pub get_contents:
1570        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1571    pub get_contents_at: Option<
1572        unsafe extern "C" fn(
1573            *mut GtkAccessibleText,
1574            c_uint,
1575            GtkAccessibleTextGranularity,
1576            *mut c_uint,
1577            *mut c_uint,
1578        ) -> *mut glib::GBytes,
1579    >,
1580    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1581    pub get_selection: Option<
1582        unsafe extern "C" fn(
1583            *mut GtkAccessibleText,
1584            *mut size_t,
1585            *mut *mut GtkAccessibleTextRange,
1586        ) -> gboolean,
1587    >,
1588    pub get_attributes: Option<
1589        unsafe extern "C" fn(
1590            *mut GtkAccessibleText,
1591            c_uint,
1592            *mut size_t,
1593            *mut *mut GtkAccessibleTextRange,
1594            *mut *mut *mut c_char,
1595            *mut *mut *mut c_char,
1596        ) -> gboolean,
1597    >,
1598    pub get_default_attributes: Option<
1599        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1600    >,
1601    pub get_extents: Option<
1602        unsafe extern "C" fn(
1603            *mut GtkAccessibleText,
1604            c_uint,
1605            c_uint,
1606            *mut graphene::graphene_rect_t,
1607        ) -> gboolean,
1608    >,
1609    pub get_offset: Option<
1610        unsafe extern "C" fn(
1611            *mut GtkAccessibleText,
1612            *const graphene::graphene_point_t,
1613            *mut c_uint,
1614        ) -> gboolean,
1615    >,
1616    pub set_caret_position:
1617        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint) -> gboolean>,
1618    pub set_selection: Option<
1619        unsafe extern "C" fn(
1620            *mut GtkAccessibleText,
1621            size_t,
1622            *mut GtkAccessibleTextRange,
1623        ) -> gboolean,
1624    >,
1625}
1626
1627impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1629        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1630            .field("get_contents", &self.get_contents)
1631            .field("get_contents_at", &self.get_contents_at)
1632            .field("get_caret_position", &self.get_caret_position)
1633            .field("get_selection", &self.get_selection)
1634            .field("get_attributes", &self.get_attributes)
1635            .field("get_default_attributes", &self.get_default_attributes)
1636            .field("get_extents", &self.get_extents)
1637            .field("get_offset", &self.get_offset)
1638            .field("set_caret_position", &self.set_caret_position)
1639            .field("set_selection", &self.set_selection)
1640            .finish()
1641    }
1642}
1643
1644#[derive(Copy, Clone)]
1645#[repr(C)]
1646pub struct GtkAccessibleTextRange {
1647    pub start: size_t,
1648    pub length: size_t,
1649}
1650
1651impl ::std::fmt::Debug for GtkAccessibleTextRange {
1652    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1653        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1654            .field("start", &self.start)
1655            .field("length", &self.length)
1656            .finish()
1657    }
1658}
1659
1660#[derive(Copy, Clone)]
1661#[repr(C)]
1662pub struct GtkActionableInterface {
1663    pub g_iface: gobject::GTypeInterface,
1664    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1665    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1666    pub get_action_target_value:
1667        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1668    pub set_action_target_value:
1669        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1670}
1671
1672impl ::std::fmt::Debug for GtkActionableInterface {
1673    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1674        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1675            .field("get_action_name", &self.get_action_name)
1676            .field("set_action_name", &self.set_action_name)
1677            .field("get_action_target_value", &self.get_action_target_value)
1678            .field("set_action_target_value", &self.set_action_target_value)
1679            .finish()
1680    }
1681}
1682
1683#[repr(C)]
1684#[allow(dead_code)]
1685pub struct _GtkActivateActionClass {
1686    _data: [u8; 0],
1687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1688}
1689
1690pub type GtkActivateActionClass = _GtkActivateActionClass;
1691
1692#[derive(Copy, Clone)]
1693#[repr(C)]
1694pub struct GtkAdjustmentClass {
1695    pub parent_class: gobject::GInitiallyUnownedClass,
1696    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1697    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1698    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1699    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1700    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1701    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1702}
1703
1704impl ::std::fmt::Debug for GtkAdjustmentClass {
1705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1706        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1707            .field("parent_class", &self.parent_class)
1708            .field("changed", &self.changed)
1709            .field("value_changed", &self.value_changed)
1710            .field("_gtk_reserved1", &self._gtk_reserved1)
1711            .field("_gtk_reserved2", &self._gtk_reserved2)
1712            .field("_gtk_reserved3", &self._gtk_reserved3)
1713            .field("_gtk_reserved4", &self._gtk_reserved4)
1714            .finish()
1715    }
1716}
1717
1718#[derive(Copy, Clone)]
1719#[repr(C)]
1720pub struct GtkAlertDialogClass {
1721    pub parent_class: gobject::GObjectClass,
1722}
1723
1724impl ::std::fmt::Debug for GtkAlertDialogClass {
1725    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1726        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1727            .field("parent_class", &self.parent_class)
1728            .finish()
1729    }
1730}
1731
1732#[repr(C)]
1733#[allow(dead_code)]
1734pub struct _GtkAlternativeTriggerClass {
1735    _data: [u8; 0],
1736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1737}
1738
1739pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1740
1741#[repr(C)]
1742#[allow(dead_code)]
1743pub struct _GtkAnyFilterClass {
1744    _data: [u8; 0],
1745    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1746}
1747
1748pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1749
1750#[derive(Copy, Clone)]
1751#[repr(C)]
1752pub struct GtkApplicationClass {
1753    pub parent_class: gio::GApplicationClass,
1754    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1755    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1756    pub save_state:
1757        Option<unsafe extern "C" fn(*mut GtkApplication, *mut glib::GVariantDict) -> gboolean>,
1758    pub restore_state: Option<
1759        unsafe extern "C" fn(
1760            *mut GtkApplication,
1761            GtkRestoreReason,
1762            *mut glib::GVariant,
1763        ) -> gboolean,
1764    >,
1765    pub restore_window:
1766        Option<unsafe extern "C" fn(*mut GtkApplication, GtkRestoreReason, *mut glib::GVariant)>,
1767    pub padding: [gpointer; 5],
1768}
1769
1770impl ::std::fmt::Debug for GtkApplicationClass {
1771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1772        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1773            .field("parent_class", &self.parent_class)
1774            .field("window_added", &self.window_added)
1775            .field("window_removed", &self.window_removed)
1776            .field("save_state", &self.save_state)
1777            .field("restore_state", &self.restore_state)
1778            .field("restore_window", &self.restore_window)
1779            .finish()
1780    }
1781}
1782
1783#[derive(Copy, Clone)]
1784#[repr(C)]
1785pub struct GtkApplicationWindowClass {
1786    pub parent_class: GtkWindowClass,
1787    pub save_state: Option<
1788        unsafe extern "C" fn(*mut GtkApplicationWindow, *mut glib::GVariantDict) -> gboolean,
1789    >,
1790    pub padding: [gpointer; 7],
1791}
1792
1793impl ::std::fmt::Debug for GtkApplicationWindowClass {
1794    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1795        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1796            .field("parent_class", &self.parent_class)
1797            .field("save_state", &self.save_state)
1798            .finish()
1799    }
1800}
1801
1802#[derive(Copy, Clone)]
1803#[repr(C)]
1804pub struct GtkBinLayoutClass {
1805    pub parent_class: GtkLayoutManagerClass,
1806}
1807
1808impl ::std::fmt::Debug for GtkBinLayoutClass {
1809    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1810        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1811            .field("parent_class", &self.parent_class)
1812            .finish()
1813    }
1814}
1815
1816#[repr(C)]
1817#[allow(dead_code)]
1818pub struct GtkBitset {
1819    _data: [u8; 0],
1820    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1821}
1822
1823impl ::std::fmt::Debug for GtkBitset {
1824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1825        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1826    }
1827}
1828
1829#[derive(Copy, Clone)]
1830#[repr(C)]
1831pub struct GtkBitsetIter {
1832    pub private_data: [gpointer; 10],
1833}
1834
1835impl ::std::fmt::Debug for GtkBitsetIter {
1836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1837        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1838            .finish()
1839    }
1840}
1841
1842#[derive(Copy, Clone)]
1843#[repr(C)]
1844pub struct GtkBookmarkListClass {
1845    pub parent_class: gobject::GObjectClass,
1846}
1847
1848impl ::std::fmt::Debug for GtkBookmarkListClass {
1849    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1850        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1851            .field("parent_class", &self.parent_class)
1852            .finish()
1853    }
1854}
1855
1856#[derive(Copy, Clone)]
1857#[repr(C)]
1858pub struct GtkBoolFilterClass {
1859    pub parent_class: GtkFilterClass,
1860}
1861
1862impl ::std::fmt::Debug for GtkBoolFilterClass {
1863    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1864        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1865            .field("parent_class", &self.parent_class)
1866            .finish()
1867    }
1868}
1869
1870#[derive(Copy, Clone)]
1871#[repr(C)]
1872pub struct GtkBorder {
1873    pub left: i16,
1874    pub right: i16,
1875    pub top: i16,
1876    pub bottom: i16,
1877}
1878
1879impl ::std::fmt::Debug for GtkBorder {
1880    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1881        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1882            .field("left", &self.left)
1883            .field("right", &self.right)
1884            .field("top", &self.top)
1885            .field("bottom", &self.bottom)
1886            .finish()
1887    }
1888}
1889
1890#[derive(Copy, Clone)]
1891#[repr(C)]
1892pub struct GtkBoxClass {
1893    pub parent_class: GtkWidgetClass,
1894    pub padding: [gpointer; 8],
1895}
1896
1897impl ::std::fmt::Debug for GtkBoxClass {
1898    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1899        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1900            .field("parent_class", &self.parent_class)
1901            .finish()
1902    }
1903}
1904
1905#[derive(Copy, Clone)]
1906#[repr(C)]
1907pub struct GtkBoxLayoutClass {
1908    pub parent_class: GtkLayoutManagerClass,
1909}
1910
1911impl ::std::fmt::Debug for GtkBoxLayoutClass {
1912    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1913        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1914            .field("parent_class", &self.parent_class)
1915            .finish()
1916    }
1917}
1918
1919#[derive(Copy, Clone)]
1920#[repr(C)]
1921pub struct GtkBuildableIface {
1922    pub g_iface: gobject::GTypeInterface,
1923    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1924    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1925    pub add_child: Option<
1926        unsafe extern "C" fn(
1927            *mut GtkBuildable,
1928            *mut GtkBuilder,
1929            *mut gobject::GObject,
1930            *const c_char,
1931        ),
1932    >,
1933    pub set_buildable_property: Option<
1934        unsafe extern "C" fn(
1935            *mut GtkBuildable,
1936            *mut GtkBuilder,
1937            *const c_char,
1938            *const gobject::GValue,
1939        ),
1940    >,
1941    pub construct_child: Option<
1942        unsafe extern "C" fn(
1943            *mut GtkBuildable,
1944            *mut GtkBuilder,
1945            *const c_char,
1946        ) -> *mut gobject::GObject,
1947    >,
1948    pub custom_tag_start: Option<
1949        unsafe extern "C" fn(
1950            *mut GtkBuildable,
1951            *mut GtkBuilder,
1952            *mut gobject::GObject,
1953            *const c_char,
1954            *mut GtkBuildableParser,
1955            *mut gpointer,
1956        ) -> gboolean,
1957    >,
1958    pub custom_tag_end: Option<
1959        unsafe extern "C" fn(
1960            *mut GtkBuildable,
1961            *mut GtkBuilder,
1962            *mut gobject::GObject,
1963            *const c_char,
1964            gpointer,
1965        ),
1966    >,
1967    pub custom_finished: Option<
1968        unsafe extern "C" fn(
1969            *mut GtkBuildable,
1970            *mut GtkBuilder,
1971            *mut gobject::GObject,
1972            *const c_char,
1973            gpointer,
1974        ),
1975    >,
1976    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1977    pub get_internal_child: Option<
1978        unsafe extern "C" fn(
1979            *mut GtkBuildable,
1980            *mut GtkBuilder,
1981            *const c_char,
1982        ) -> *mut gobject::GObject,
1983    >,
1984}
1985
1986impl ::std::fmt::Debug for GtkBuildableIface {
1987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1988        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1989            .field("g_iface", &self.g_iface)
1990            .field("set_id", &self.set_id)
1991            .field("get_id", &self.get_id)
1992            .field("add_child", &self.add_child)
1993            .field("set_buildable_property", &self.set_buildable_property)
1994            .field("construct_child", &self.construct_child)
1995            .field("custom_tag_start", &self.custom_tag_start)
1996            .field("custom_tag_end", &self.custom_tag_end)
1997            .field("custom_finished", &self.custom_finished)
1998            .field("parser_finished", &self.parser_finished)
1999            .field("get_internal_child", &self.get_internal_child)
2000            .finish()
2001    }
2002}
2003
2004#[repr(C)]
2005#[allow(dead_code)]
2006pub struct _GtkBuildableParseContext {
2007    _data: [u8; 0],
2008    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2009}
2010
2011pub type GtkBuildableParseContext = _GtkBuildableParseContext;
2012
2013#[derive(Copy, Clone)]
2014#[repr(C)]
2015pub struct GtkBuildableParser {
2016    pub start_element: Option<
2017        unsafe extern "C" fn(
2018            *mut GtkBuildableParseContext,
2019            *const c_char,
2020            *mut *const c_char,
2021            *mut *const c_char,
2022            gpointer,
2023            *mut *mut glib::GError,
2024        ),
2025    >,
2026    pub end_element: Option<
2027        unsafe extern "C" fn(
2028            *mut GtkBuildableParseContext,
2029            *const c_char,
2030            gpointer,
2031            *mut *mut glib::GError,
2032        ),
2033    >,
2034    pub text: Option<
2035        unsafe extern "C" fn(
2036            *mut GtkBuildableParseContext,
2037            *const c_char,
2038            size_t,
2039            gpointer,
2040            *mut *mut glib::GError,
2041        ),
2042    >,
2043    pub error:
2044        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
2045    pub padding: [gpointer; 4],
2046}
2047
2048impl ::std::fmt::Debug for GtkBuildableParser {
2049    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2050        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
2051            .field("start_element", &self.start_element)
2052            .field("end_element", &self.end_element)
2053            .field("text", &self.text)
2054            .field("error", &self.error)
2055            .finish()
2056    }
2057}
2058
2059#[derive(Copy, Clone)]
2060#[repr(C)]
2061pub struct GtkBuilderCScopeClass {
2062    pub parent_class: gobject::GObjectClass,
2063}
2064
2065impl ::std::fmt::Debug for GtkBuilderCScopeClass {
2066    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2067        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
2068            .field("parent_class", &self.parent_class)
2069            .finish()
2070    }
2071}
2072
2073#[repr(C)]
2074#[allow(dead_code)]
2075pub struct _GtkBuilderClass {
2076    _data: [u8; 0],
2077    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2078}
2079
2080pub type GtkBuilderClass = _GtkBuilderClass;
2081
2082#[repr(C)]
2083#[allow(dead_code)]
2084pub struct _GtkBuilderListItemFactoryClass {
2085    _data: [u8; 0],
2086    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2087}
2088
2089pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
2090
2091#[derive(Copy, Clone)]
2092#[repr(C)]
2093pub struct GtkBuilderScopeInterface {
2094    pub g_iface: gobject::GTypeInterface,
2095    pub get_type_from_name:
2096        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2097    pub get_type_from_function:
2098        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2099    pub create_closure: Option<
2100        unsafe extern "C" fn(
2101            *mut GtkBuilderScope,
2102            *mut GtkBuilder,
2103            *const c_char,
2104            GtkBuilderClosureFlags,
2105            *mut gobject::GObject,
2106            *mut *mut glib::GError,
2107        ) -> *mut gobject::GClosure,
2108    >,
2109}
2110
2111impl ::std::fmt::Debug for GtkBuilderScopeInterface {
2112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2113        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
2114            .field("get_type_from_name", &self.get_type_from_name)
2115            .field("get_type_from_function", &self.get_type_from_function)
2116            .field("create_closure", &self.create_closure)
2117            .finish()
2118    }
2119}
2120
2121#[derive(Copy, Clone)]
2122#[repr(C)]
2123pub struct GtkButtonClass {
2124    pub parent_class: GtkWidgetClass,
2125    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2126    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2127    pub padding: [gpointer; 8],
2128}
2129
2130impl ::std::fmt::Debug for GtkButtonClass {
2131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2132        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2133            .field("parent_class", &self.parent_class)
2134            .field("clicked", &self.clicked)
2135            .field("activate", &self.activate)
2136            .finish()
2137    }
2138}
2139
2140#[repr(C)]
2141#[allow(dead_code)]
2142pub struct _GtkButtonPrivate {
2143    _data: [u8; 0],
2144    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2145}
2146
2147pub type GtkButtonPrivate = _GtkButtonPrivate;
2148
2149#[repr(C)]
2150#[allow(dead_code)]
2151pub struct _GtkCallbackActionClass {
2152    _data: [u8; 0],
2153    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2154}
2155
2156pub type GtkCallbackActionClass = _GtkCallbackActionClass;
2157
2158#[derive(Copy, Clone)]
2159#[repr(C)]
2160pub struct GtkCellAreaClass {
2161    pub parent_class: gobject::GInitiallyUnownedClass,
2162    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2163    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2164    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2165    pub foreach_alloc: Option<
2166        unsafe extern "C" fn(
2167            *mut GtkCellArea,
2168            *mut GtkCellAreaContext,
2169            *mut GtkWidget,
2170            *const gdk::GdkRectangle,
2171            *const gdk::GdkRectangle,
2172            GtkCellAllocCallback,
2173            gpointer,
2174        ),
2175    >,
2176    pub event: Option<
2177        unsafe extern "C" fn(
2178            *mut GtkCellArea,
2179            *mut GtkCellAreaContext,
2180            *mut GtkWidget,
2181            *mut gdk::GdkEvent,
2182            *const gdk::GdkRectangle,
2183            GtkCellRendererState,
2184        ) -> c_int,
2185    >,
2186    pub snapshot: Option<
2187        unsafe extern "C" fn(
2188            *mut GtkCellArea,
2189            *mut GtkCellAreaContext,
2190            *mut GtkWidget,
2191            *mut GtkSnapshot,
2192            *const gdk::GdkRectangle,
2193            *const gdk::GdkRectangle,
2194            GtkCellRendererState,
2195            gboolean,
2196        ),
2197    >,
2198    pub apply_attributes: Option<
2199        unsafe extern "C" fn(
2200            *mut GtkCellArea,
2201            *mut GtkTreeModel,
2202            *mut GtkTreeIter,
2203            gboolean,
2204            gboolean,
2205        ),
2206    >,
2207    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2208    pub copy_context: Option<
2209        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2210    >,
2211    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2212    pub get_preferred_width: Option<
2213        unsafe extern "C" fn(
2214            *mut GtkCellArea,
2215            *mut GtkCellAreaContext,
2216            *mut GtkWidget,
2217            *mut c_int,
2218            *mut c_int,
2219        ),
2220    >,
2221    pub get_preferred_height_for_width: Option<
2222        unsafe extern "C" fn(
2223            *mut GtkCellArea,
2224            *mut GtkCellAreaContext,
2225            *mut GtkWidget,
2226            c_int,
2227            *mut c_int,
2228            *mut c_int,
2229        ),
2230    >,
2231    pub get_preferred_height: Option<
2232        unsafe extern "C" fn(
2233            *mut GtkCellArea,
2234            *mut GtkCellAreaContext,
2235            *mut GtkWidget,
2236            *mut c_int,
2237            *mut c_int,
2238        ),
2239    >,
2240    pub get_preferred_width_for_height: Option<
2241        unsafe extern "C" fn(
2242            *mut GtkCellArea,
2243            *mut GtkCellAreaContext,
2244            *mut GtkWidget,
2245            c_int,
2246            *mut c_int,
2247            *mut c_int,
2248        ),
2249    >,
2250    pub set_cell_property: Option<
2251        unsafe extern "C" fn(
2252            *mut GtkCellArea,
2253            *mut GtkCellRenderer,
2254            c_uint,
2255            *mut gobject::GValue,
2256            *mut gobject::GParamSpec,
2257        ),
2258    >,
2259    pub get_cell_property: Option<
2260        unsafe extern "C" fn(
2261            *mut GtkCellArea,
2262            *mut GtkCellRenderer,
2263            c_uint,
2264            *mut gobject::GValue,
2265            *mut gobject::GParamSpec,
2266        ),
2267    >,
2268    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2269    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2270    pub activate: Option<
2271        unsafe extern "C" fn(
2272            *mut GtkCellArea,
2273            *mut GtkCellAreaContext,
2274            *mut GtkWidget,
2275            *const gdk::GdkRectangle,
2276            GtkCellRendererState,
2277            gboolean,
2278        ) -> gboolean,
2279    >,
2280    pub padding: [gpointer; 8],
2281}
2282
2283impl ::std::fmt::Debug for GtkCellAreaClass {
2284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2285        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2286            .field("add", &self.add)
2287            .field("remove", &self.remove)
2288            .field("foreach", &self.foreach)
2289            .field("foreach_alloc", &self.foreach_alloc)
2290            .field("event", &self.event)
2291            .field("snapshot", &self.snapshot)
2292            .field("apply_attributes", &self.apply_attributes)
2293            .field("create_context", &self.create_context)
2294            .field("copy_context", &self.copy_context)
2295            .field("get_request_mode", &self.get_request_mode)
2296            .field("get_preferred_width", &self.get_preferred_width)
2297            .field(
2298                "get_preferred_height_for_width",
2299                &self.get_preferred_height_for_width,
2300            )
2301            .field("get_preferred_height", &self.get_preferred_height)
2302            .field(
2303                "get_preferred_width_for_height",
2304                &self.get_preferred_width_for_height,
2305            )
2306            .field("set_cell_property", &self.set_cell_property)
2307            .field("get_cell_property", &self.get_cell_property)
2308            .field("focus", &self.focus)
2309            .field("is_activatable", &self.is_activatable)
2310            .field("activate", &self.activate)
2311            .finish()
2312    }
2313}
2314
2315#[derive(Copy, Clone)]
2316#[repr(C)]
2317pub struct GtkCellAreaContextClass {
2318    pub parent_class: gobject::GObjectClass,
2319    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2320    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2321    pub get_preferred_height_for_width:
2322        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2323    pub get_preferred_width_for_height:
2324        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2325    pub padding: [gpointer; 8],
2326}
2327
2328impl ::std::fmt::Debug for GtkCellAreaContextClass {
2329    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2330        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2331            .field("allocate", &self.allocate)
2332            .field("reset", &self.reset)
2333            .field(
2334                "get_preferred_height_for_width",
2335                &self.get_preferred_height_for_width,
2336            )
2337            .field(
2338                "get_preferred_width_for_height",
2339                &self.get_preferred_width_for_height,
2340            )
2341            .finish()
2342    }
2343}
2344
2345#[repr(C)]
2346#[allow(dead_code)]
2347pub struct _GtkCellAreaContextPrivate {
2348    _data: [u8; 0],
2349    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2350}
2351
2352pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2353
2354#[derive(Copy, Clone)]
2355#[repr(C)]
2356pub struct GtkCellEditableIface {
2357    pub g_iface: gobject::GTypeInterface,
2358    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2359    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2360    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2361}
2362
2363impl ::std::fmt::Debug for GtkCellEditableIface {
2364    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2365        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2366            .field("editing_done", &self.editing_done)
2367            .field("remove_widget", &self.remove_widget)
2368            .field("start_editing", &self.start_editing)
2369            .finish()
2370    }
2371}
2372
2373#[derive(Copy, Clone)]
2374#[repr(C)]
2375pub struct GtkCellLayoutIface {
2376    pub g_iface: gobject::GTypeInterface,
2377    pub pack_start:
2378        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2379    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2380    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2381    pub add_attribute: Option<
2382        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2383    >,
2384    pub set_cell_data_func: Option<
2385        unsafe extern "C" fn(
2386            *mut GtkCellLayout,
2387            *mut GtkCellRenderer,
2388            GtkCellLayoutDataFunc,
2389            gpointer,
2390            glib::GDestroyNotify,
2391        ),
2392    >,
2393    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2394    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2395    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2396    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2397}
2398
2399impl ::std::fmt::Debug for GtkCellLayoutIface {
2400    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2401        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2402            .field("pack_start", &self.pack_start)
2403            .field("pack_end", &self.pack_end)
2404            .field("clear", &self.clear)
2405            .field("add_attribute", &self.add_attribute)
2406            .field("set_cell_data_func", &self.set_cell_data_func)
2407            .field("clear_attributes", &self.clear_attributes)
2408            .field("reorder", &self.reorder)
2409            .field("get_cells", &self.get_cells)
2410            .field("get_area", &self.get_area)
2411            .finish()
2412    }
2413}
2414
2415#[derive(Copy, Clone)]
2416#[repr(C)]
2417pub struct GtkCellRendererClass {
2418    pub parent_class: gobject::GInitiallyUnownedClass,
2419    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2420    pub get_preferred_width:
2421        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2422    pub get_preferred_height_for_width: Option<
2423        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2424    >,
2425    pub get_preferred_height:
2426        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2427    pub get_preferred_width_for_height: Option<
2428        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2429    >,
2430    pub get_aligned_area: Option<
2431        unsafe extern "C" fn(
2432            *mut GtkCellRenderer,
2433            *mut GtkWidget,
2434            GtkCellRendererState,
2435            *const gdk::GdkRectangle,
2436            *mut gdk::GdkRectangle,
2437        ),
2438    >,
2439    pub snapshot: Option<
2440        unsafe extern "C" fn(
2441            *mut GtkCellRenderer,
2442            *mut GtkSnapshot,
2443            *mut GtkWidget,
2444            *const gdk::GdkRectangle,
2445            *const gdk::GdkRectangle,
2446            GtkCellRendererState,
2447        ),
2448    >,
2449    pub activate: Option<
2450        unsafe extern "C" fn(
2451            *mut GtkCellRenderer,
2452            *mut gdk::GdkEvent,
2453            *mut GtkWidget,
2454            *const c_char,
2455            *const gdk::GdkRectangle,
2456            *const gdk::GdkRectangle,
2457            GtkCellRendererState,
2458        ) -> gboolean,
2459    >,
2460    pub start_editing: Option<
2461        unsafe extern "C" fn(
2462            *mut GtkCellRenderer,
2463            *mut gdk::GdkEvent,
2464            *mut GtkWidget,
2465            *const c_char,
2466            *const gdk::GdkRectangle,
2467            *const gdk::GdkRectangle,
2468            GtkCellRendererState,
2469        ) -> *mut GtkCellEditable,
2470    >,
2471    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2472    pub editing_started:
2473        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2474    pub padding: [gpointer; 8],
2475}
2476
2477impl ::std::fmt::Debug for GtkCellRendererClass {
2478    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2479        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2480            .field("get_request_mode", &self.get_request_mode)
2481            .field("get_preferred_width", &self.get_preferred_width)
2482            .field(
2483                "get_preferred_height_for_width",
2484                &self.get_preferred_height_for_width,
2485            )
2486            .field("get_preferred_height", &self.get_preferred_height)
2487            .field(
2488                "get_preferred_width_for_height",
2489                &self.get_preferred_width_for_height,
2490            )
2491            .field("get_aligned_area", &self.get_aligned_area)
2492            .field("snapshot", &self.snapshot)
2493            .field("activate", &self.activate)
2494            .field("start_editing", &self.start_editing)
2495            .field("editing_canceled", &self.editing_canceled)
2496            .field("editing_started", &self.editing_started)
2497            .finish()
2498    }
2499}
2500
2501#[repr(C)]
2502#[allow(dead_code)]
2503pub struct _GtkCellRendererClassPrivate {
2504    _data: [u8; 0],
2505    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2506}
2507
2508pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2509
2510#[repr(C)]
2511#[allow(dead_code)]
2512pub struct _GtkCellRendererPrivate {
2513    _data: [u8; 0],
2514    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2515}
2516
2517pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2518
2519#[derive(Copy, Clone)]
2520#[repr(C)]
2521pub struct GtkCellRendererTextClass {
2522    pub parent_class: GtkCellRendererClass,
2523    pub edited:
2524        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2525    pub padding: [gpointer; 8],
2526}
2527
2528impl ::std::fmt::Debug for GtkCellRendererTextClass {
2529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2530        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2531            .field("parent_class", &self.parent_class)
2532            .field("edited", &self.edited)
2533            .finish()
2534    }
2535}
2536
2537#[repr(C)]
2538#[allow(dead_code)]
2539pub struct _GtkCenterBoxClass {
2540    _data: [u8; 0],
2541    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2542}
2543
2544pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2545
2546#[derive(Copy, Clone)]
2547#[repr(C)]
2548pub struct GtkCenterLayoutClass {
2549    pub parent_class: GtkLayoutManagerClass,
2550}
2551
2552impl ::std::fmt::Debug for GtkCenterLayoutClass {
2553    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2554        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2555            .field("parent_class", &self.parent_class)
2556            .finish()
2557    }
2558}
2559
2560#[derive(Copy, Clone)]
2561#[repr(C)]
2562pub struct GtkCheckButtonClass {
2563    pub parent_class: GtkWidgetClass,
2564    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2565    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2566    pub padding: [gpointer; 7],
2567}
2568
2569impl ::std::fmt::Debug for GtkCheckButtonClass {
2570    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2571        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2572            .field("parent_class", &self.parent_class)
2573            .field("toggled", &self.toggled)
2574            .field("activate", &self.activate)
2575            .finish()
2576    }
2577}
2578
2579#[derive(Copy, Clone)]
2580#[repr(C)]
2581pub struct GtkColorChooserInterface {
2582    pub base_interface: gobject::GTypeInterface,
2583    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2584    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2585    pub add_palette: Option<
2586        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2587    >,
2588    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2589    pub padding: [gpointer; 12],
2590}
2591
2592impl ::std::fmt::Debug for GtkColorChooserInterface {
2593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2594        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2595            .field("base_interface", &self.base_interface)
2596            .field("get_rgba", &self.get_rgba)
2597            .field("set_rgba", &self.set_rgba)
2598            .field("add_palette", &self.add_palette)
2599            .field("color_activated", &self.color_activated)
2600            .finish()
2601    }
2602}
2603
2604#[derive(Copy, Clone)]
2605#[repr(C)]
2606pub struct GtkColorDialogButtonClass {
2607    pub parent_class: GtkWidgetClass,
2608}
2609
2610impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2612        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2613            .field("parent_class", &self.parent_class)
2614            .finish()
2615    }
2616}
2617
2618#[derive(Copy, Clone)]
2619#[repr(C)]
2620pub struct GtkColorDialogClass {
2621    pub parent_class: gobject::GObjectClass,
2622}
2623
2624impl ::std::fmt::Debug for GtkColorDialogClass {
2625    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2626        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2627            .field("parent_class", &self.parent_class)
2628            .finish()
2629    }
2630}
2631
2632#[repr(C)]
2633#[allow(dead_code)]
2634pub struct _GtkColumnViewCellClass {
2635    _data: [u8; 0],
2636    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2637}
2638
2639pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2640
2641#[repr(C)]
2642#[allow(dead_code)]
2643pub struct _GtkColumnViewClass {
2644    _data: [u8; 0],
2645    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2646}
2647
2648pub type GtkColumnViewClass = _GtkColumnViewClass;
2649
2650#[repr(C)]
2651#[allow(dead_code)]
2652pub struct _GtkColumnViewColumnClass {
2653    _data: [u8; 0],
2654    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2655}
2656
2657pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2658
2659#[repr(C)]
2660#[allow(dead_code)]
2661pub struct _GtkColumnViewRowClass {
2662    _data: [u8; 0],
2663    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2664}
2665
2666pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2667
2668#[derive(Copy, Clone)]
2669#[repr(C)]
2670pub struct GtkColumnViewSorterClass {
2671    pub parent_class: GtkSorterClass,
2672}
2673
2674impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2676        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2677            .field("parent_class", &self.parent_class)
2678            .finish()
2679    }
2680}
2681
2682#[derive(Copy, Clone)]
2683#[repr(C)]
2684pub struct GtkComboBoxClass {
2685    pub parent_class: GtkWidgetClass,
2686    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2687    pub format_entry_text:
2688        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2689    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2690    pub padding: [gpointer; 7],
2691}
2692
2693impl ::std::fmt::Debug for GtkComboBoxClass {
2694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2695        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2696            .field("parent_class", &self.parent_class)
2697            .field("changed", &self.changed)
2698            .field("format_entry_text", &self.format_entry_text)
2699            .field("activate", &self.activate)
2700            .finish()
2701    }
2702}
2703
2704#[derive(Copy, Clone)]
2705#[repr(C)]
2706pub struct GtkConstraintClass {
2707    pub parent_class: gobject::GObjectClass,
2708}
2709
2710impl ::std::fmt::Debug for GtkConstraintClass {
2711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2712        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2713            .field("parent_class", &self.parent_class)
2714            .finish()
2715    }
2716}
2717
2718#[derive(Copy, Clone)]
2719#[repr(C)]
2720pub struct GtkConstraintGuideClass {
2721    pub parent_class: gobject::GObjectClass,
2722}
2723
2724impl ::std::fmt::Debug for GtkConstraintGuideClass {
2725    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2726        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2727            .field("parent_class", &self.parent_class)
2728            .finish()
2729    }
2730}
2731
2732#[derive(Copy, Clone)]
2733#[repr(C)]
2734pub struct GtkConstraintLayoutChildClass {
2735    pub parent_class: GtkLayoutChildClass,
2736}
2737
2738impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2739    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2740        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2741            .field("parent_class", &self.parent_class)
2742            .finish()
2743    }
2744}
2745
2746#[derive(Copy, Clone)]
2747#[repr(C)]
2748pub struct GtkConstraintLayoutClass {
2749    pub parent_class: GtkLayoutManagerClass,
2750}
2751
2752impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2753    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2754        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2755            .field("parent_class", &self.parent_class)
2756            .finish()
2757    }
2758}
2759
2760#[repr(C)]
2761#[allow(dead_code)]
2762pub struct _GtkConstraintTargetInterface {
2763    _data: [u8; 0],
2764    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2765}
2766
2767pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2768
2769#[derive(Copy, Clone)]
2770#[repr(C)]
2771pub struct GtkCssLocation {
2772    pub bytes: size_t,
2773    pub chars: size_t,
2774    pub lines: size_t,
2775    pub line_bytes: size_t,
2776    pub line_chars: size_t,
2777}
2778
2779impl ::std::fmt::Debug for GtkCssLocation {
2780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2781        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2782            .field("bytes", &self.bytes)
2783            .field("chars", &self.chars)
2784            .field("lines", &self.lines)
2785            .field("line_bytes", &self.line_bytes)
2786            .field("line_chars", &self.line_chars)
2787            .finish()
2788    }
2789}
2790
2791#[repr(C)]
2792#[allow(dead_code)]
2793pub struct _GtkCssProviderClass {
2794    _data: [u8; 0],
2795    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2796}
2797
2798pub type GtkCssProviderClass = _GtkCssProviderClass;
2799
2800#[repr(C)]
2801#[allow(dead_code)]
2802pub struct _GtkCssProviderPrivate {
2803    _data: [u8; 0],
2804    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2805}
2806
2807pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2808
2809#[repr(C)]
2810#[allow(dead_code)]
2811pub struct GtkCssSection {
2812    _data: [u8; 0],
2813    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2814}
2815
2816impl ::std::fmt::Debug for GtkCssSection {
2817    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2818        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2819            .finish()
2820    }
2821}
2822
2823#[repr(C)]
2824#[allow(dead_code)]
2825pub struct _GtkCssStyleChange {
2826    _data: [u8; 0],
2827    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2828}
2829
2830pub type GtkCssStyleChange = _GtkCssStyleChange;
2831
2832#[derive(Copy, Clone)]
2833#[repr(C)]
2834pub struct GtkCustomFilterClass {
2835    pub parent_class: GtkFilterClass,
2836}
2837
2838impl ::std::fmt::Debug for GtkCustomFilterClass {
2839    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2840        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2841            .field("parent_class", &self.parent_class)
2842            .finish()
2843    }
2844}
2845
2846#[derive(Copy, Clone)]
2847#[repr(C)]
2848pub struct GtkCustomLayoutClass {
2849    pub parent_class: GtkLayoutManagerClass,
2850}
2851
2852impl ::std::fmt::Debug for GtkCustomLayoutClass {
2853    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2854        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2855            .field("parent_class", &self.parent_class)
2856            .finish()
2857    }
2858}
2859
2860#[derive(Copy, Clone)]
2861#[repr(C)]
2862pub struct GtkCustomSorterClass {
2863    pub parent_class: GtkSorterClass,
2864}
2865
2866impl ::std::fmt::Debug for GtkCustomSorterClass {
2867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2868        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2869            .field("parent_class", &self.parent_class)
2870            .finish()
2871    }
2872}
2873
2874#[derive(Copy, Clone)]
2875#[repr(C)]
2876pub struct GtkDialogClass {
2877    pub parent_class: GtkWindowClass,
2878    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2879    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2880    pub padding: [gpointer; 8],
2881}
2882
2883impl ::std::fmt::Debug for GtkDialogClass {
2884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2885        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2886            .field("parent_class", &self.parent_class)
2887            .field("response", &self.response)
2888            .field("close", &self.close)
2889            .finish()
2890    }
2891}
2892
2893#[derive(Copy, Clone)]
2894#[repr(C)]
2895pub struct GtkDirectoryListClass {
2896    pub parent_class: gobject::GObjectClass,
2897}
2898
2899impl ::std::fmt::Debug for GtkDirectoryListClass {
2900    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2901        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2902            .field("parent_class", &self.parent_class)
2903            .finish()
2904    }
2905}
2906
2907#[derive(Copy, Clone)]
2908#[repr(C)]
2909pub struct GtkDragIconClass {
2910    pub parent_class: GtkWidgetClass,
2911}
2912
2913impl ::std::fmt::Debug for GtkDragIconClass {
2914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2915        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2916            .field("parent_class", &self.parent_class)
2917            .finish()
2918    }
2919}
2920
2921#[repr(C)]
2922#[allow(dead_code)]
2923pub struct _GtkDragSourceClass {
2924    _data: [u8; 0],
2925    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2926}
2927
2928pub type GtkDragSourceClass = _GtkDragSourceClass;
2929
2930#[derive(Copy, Clone)]
2931#[repr(C)]
2932pub struct GtkDrawingAreaClass {
2933    pub parent_class: GtkWidgetClass,
2934    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2935    pub padding: [gpointer; 8],
2936}
2937
2938impl ::std::fmt::Debug for GtkDrawingAreaClass {
2939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2940        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2941            .field("parent_class", &self.parent_class)
2942            .field("resize", &self.resize)
2943            .finish()
2944    }
2945}
2946
2947#[repr(C)]
2948#[allow(dead_code)]
2949pub struct _GtkDropControllerMotionClass {
2950    _data: [u8; 0],
2951    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2952}
2953
2954pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2955
2956#[derive(Copy, Clone)]
2957#[repr(C)]
2958pub struct GtkDropDownClass {
2959    pub parent_class: GtkWidgetClass,
2960}
2961
2962impl ::std::fmt::Debug for GtkDropDownClass {
2963    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2964        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2965            .field("parent_class", &self.parent_class)
2966            .finish()
2967    }
2968}
2969
2970#[repr(C)]
2971#[allow(dead_code)]
2972pub struct _GtkDropTargetAsyncClass {
2973    _data: [u8; 0],
2974    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2975}
2976
2977pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2978
2979#[repr(C)]
2980#[allow(dead_code)]
2981pub struct _GtkDropTargetClass {
2982    _data: [u8; 0],
2983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2984}
2985
2986pub type GtkDropTargetClass = _GtkDropTargetClass;
2987
2988#[derive(Copy, Clone)]
2989#[repr(C)]
2990pub struct GtkEditableInterface {
2991    pub base_iface: gobject::GTypeInterface,
2992    pub insert_text:
2993        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2994    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2995    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
2996    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *const c_char>,
2997    pub do_insert_text:
2998        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2999    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3000    pub get_selection_bounds:
3001        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
3002    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3003    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
3004}
3005
3006impl ::std::fmt::Debug for GtkEditableInterface {
3007    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3008        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
3009            .field("base_iface", &self.base_iface)
3010            .field("insert_text", &self.insert_text)
3011            .field("delete_text", &self.delete_text)
3012            .field("changed", &self.changed)
3013            .field("get_text", &self.get_text)
3014            .field("do_insert_text", &self.do_insert_text)
3015            .field("do_delete_text", &self.do_delete_text)
3016            .field("get_selection_bounds", &self.get_selection_bounds)
3017            .field("set_selection_bounds", &self.set_selection_bounds)
3018            .field("get_delegate", &self.get_delegate)
3019            .finish()
3020    }
3021}
3022
3023#[derive(Copy, Clone)]
3024#[repr(C)]
3025pub struct GtkEditableLabelClass {
3026    pub parent_class: GtkWidgetClass,
3027}
3028
3029impl ::std::fmt::Debug for GtkEditableLabelClass {
3030    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3031        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
3032            .field("parent_class", &self.parent_class)
3033            .finish()
3034    }
3035}
3036
3037#[repr(C)]
3038#[allow(dead_code)]
3039pub struct _GtkEmojiChooserClass {
3040    _data: [u8; 0],
3041    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3042}
3043
3044pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
3045
3046#[derive(Copy, Clone)]
3047#[repr(C)]
3048pub struct GtkEntryBufferClass {
3049    pub parent_class: gobject::GObjectClass,
3050    pub inserted_text:
3051        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
3052    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
3053    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
3054    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
3055    pub insert_text:
3056        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
3057    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
3058    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3059    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3060    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3061    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3062    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3063    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3064    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3065    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3066}
3067
3068impl ::std::fmt::Debug for GtkEntryBufferClass {
3069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3070        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
3071            .field("parent_class", &self.parent_class)
3072            .field("inserted_text", &self.inserted_text)
3073            .field("deleted_text", &self.deleted_text)
3074            .field("get_text", &self.get_text)
3075            .field("get_length", &self.get_length)
3076            .field("insert_text", &self.insert_text)
3077            .field("delete_text", &self.delete_text)
3078            .field("_gtk_reserved1", &self._gtk_reserved1)
3079            .field("_gtk_reserved2", &self._gtk_reserved2)
3080            .field("_gtk_reserved3", &self._gtk_reserved3)
3081            .field("_gtk_reserved4", &self._gtk_reserved4)
3082            .field("_gtk_reserved5", &self._gtk_reserved5)
3083            .field("_gtk_reserved6", &self._gtk_reserved6)
3084            .field("_gtk_reserved7", &self._gtk_reserved7)
3085            .field("_gtk_reserved8", &self._gtk_reserved8)
3086            .finish()
3087    }
3088}
3089
3090#[derive(Copy, Clone)]
3091#[repr(C)]
3092pub struct GtkEntryClass {
3093    pub parent_class: GtkWidgetClass,
3094    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
3095    pub padding: [gpointer; 8],
3096}
3097
3098impl ::std::fmt::Debug for GtkEntryClass {
3099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3100        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
3101            .field("parent_class", &self.parent_class)
3102            .field("activate", &self.activate)
3103            .finish()
3104    }
3105}
3106
3107#[repr(C)]
3108#[allow(dead_code)]
3109pub struct _GtkEventControllerClass {
3110    _data: [u8; 0],
3111    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3112}
3113
3114pub type GtkEventControllerClass = _GtkEventControllerClass;
3115
3116#[repr(C)]
3117#[allow(dead_code)]
3118pub struct _GtkEventControllerFocusClass {
3119    _data: [u8; 0],
3120    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3121}
3122
3123pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
3124
3125#[repr(C)]
3126#[allow(dead_code)]
3127pub struct _GtkEventControllerKeyClass {
3128    _data: [u8; 0],
3129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3130}
3131
3132pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
3133
3134#[repr(C)]
3135#[allow(dead_code)]
3136pub struct _GtkEventControllerLegacyClass {
3137    _data: [u8; 0],
3138    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3139}
3140
3141pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
3142
3143#[repr(C)]
3144#[allow(dead_code)]
3145pub struct _GtkEventControllerMotionClass {
3146    _data: [u8; 0],
3147    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3148}
3149
3150pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
3151
3152#[repr(C)]
3153#[allow(dead_code)]
3154pub struct _GtkEventControllerScrollClass {
3155    _data: [u8; 0],
3156    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3157}
3158
3159pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
3160
3161#[repr(C)]
3162#[allow(dead_code)]
3163pub struct _GtkEveryFilterClass {
3164    _data: [u8; 0],
3165    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3166}
3167
3168pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3169
3170#[repr(C)]
3171#[allow(dead_code)]
3172pub struct GtkExpressionWatch {
3173    _data: [u8; 0],
3174    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3175}
3176
3177impl ::std::fmt::Debug for GtkExpressionWatch {
3178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3179        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3180            .finish()
3181    }
3182}
3183
3184#[derive(Copy, Clone)]
3185#[repr(C)]
3186pub struct GtkFileChooserNativeClass {
3187    pub parent_class: GtkNativeDialogClass,
3188}
3189
3190impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3192        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3193            .field("parent_class", &self.parent_class)
3194            .finish()
3195    }
3196}
3197
3198#[derive(Copy, Clone)]
3199#[repr(C)]
3200pub struct GtkFileDialogClass {
3201    pub parent_class: gobject::GObjectClass,
3202}
3203
3204impl ::std::fmt::Debug for GtkFileDialogClass {
3205    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3206        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3207            .field("parent_class", &self.parent_class)
3208            .finish()
3209    }
3210}
3211
3212#[derive(Copy, Clone)]
3213#[repr(C)]
3214pub struct GtkFileLauncherClass {
3215    pub parent_class: gobject::GObjectClass,
3216}
3217
3218impl ::std::fmt::Debug for GtkFileLauncherClass {
3219    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3220        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3221            .field("parent_class", &self.parent_class)
3222            .finish()
3223    }
3224}
3225
3226#[derive(Copy, Clone)]
3227#[repr(C)]
3228pub struct GtkFilterClass {
3229    pub parent_class: gobject::GObjectClass,
3230    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3231    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3232    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3233    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3234    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3235    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3236    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3237    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3238    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3239    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3240}
3241
3242impl ::std::fmt::Debug for GtkFilterClass {
3243    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3244        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3245            .field("parent_class", &self.parent_class)
3246            .field("match_", &self.match_)
3247            .field("get_strictness", &self.get_strictness)
3248            .field("_gtk_reserved1", &self._gtk_reserved1)
3249            .field("_gtk_reserved2", &self._gtk_reserved2)
3250            .field("_gtk_reserved3", &self._gtk_reserved3)
3251            .field("_gtk_reserved4", &self._gtk_reserved4)
3252            .field("_gtk_reserved5", &self._gtk_reserved5)
3253            .field("_gtk_reserved6", &self._gtk_reserved6)
3254            .field("_gtk_reserved7", &self._gtk_reserved7)
3255            .field("_gtk_reserved8", &self._gtk_reserved8)
3256            .finish()
3257    }
3258}
3259
3260#[derive(Copy, Clone)]
3261#[repr(C)]
3262pub struct GtkFilterListModelClass {
3263    pub parent_class: gobject::GObjectClass,
3264}
3265
3266impl ::std::fmt::Debug for GtkFilterListModelClass {
3267    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3268        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3269            .field("parent_class", &self.parent_class)
3270            .finish()
3271    }
3272}
3273
3274#[derive(Copy, Clone)]
3275#[repr(C)]
3276pub struct GtkFixedClass {
3277    pub parent_class: GtkWidgetClass,
3278    pub padding: [gpointer; 8],
3279}
3280
3281impl ::std::fmt::Debug for GtkFixedClass {
3282    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3283        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3284            .field("parent_class", &self.parent_class)
3285            .finish()
3286    }
3287}
3288
3289#[derive(Copy, Clone)]
3290#[repr(C)]
3291pub struct GtkFixedLayoutChildClass {
3292    pub parent_class: GtkLayoutChildClass,
3293}
3294
3295impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3297        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3298            .field("parent_class", &self.parent_class)
3299            .finish()
3300    }
3301}
3302
3303#[derive(Copy, Clone)]
3304#[repr(C)]
3305pub struct GtkFixedLayoutClass {
3306    pub parent_class: GtkLayoutManagerClass,
3307}
3308
3309impl ::std::fmt::Debug for GtkFixedLayoutClass {
3310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3311        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3312            .field("parent_class", &self.parent_class)
3313            .finish()
3314    }
3315}
3316
3317#[derive(Copy, Clone)]
3318#[repr(C)]
3319pub struct GtkFlattenListModelClass {
3320    pub parent_class: gobject::GObjectClass,
3321}
3322
3323impl ::std::fmt::Debug for GtkFlattenListModelClass {
3324    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3325        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3326            .field("parent_class", &self.parent_class)
3327            .finish()
3328    }
3329}
3330
3331#[derive(Copy, Clone)]
3332#[repr(C)]
3333pub struct GtkFlowBoxChildClass {
3334    pub parent_class: GtkWidgetClass,
3335    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3336    pub padding: [gpointer; 8],
3337}
3338
3339impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3341        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3342            .field("activate", &self.activate)
3343            .finish()
3344    }
3345}
3346
3347#[derive(Copy, Clone)]
3348#[repr(C)]
3349pub struct GtkFontChooserIface {
3350    pub base_iface: gobject::GTypeInterface,
3351    pub get_font_family:
3352        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3353    pub get_font_face:
3354        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3355    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3356    pub set_filter_func: Option<
3357        unsafe extern "C" fn(
3358            *mut GtkFontChooser,
3359            GtkFontFilterFunc,
3360            gpointer,
3361            glib::GDestroyNotify,
3362        ),
3363    >,
3364    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3365    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3366    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3367    pub padding: [gpointer; 10],
3368}
3369
3370impl ::std::fmt::Debug for GtkFontChooserIface {
3371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3372        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3373            .field("base_iface", &self.base_iface)
3374            .field("get_font_family", &self.get_font_family)
3375            .field("get_font_face", &self.get_font_face)
3376            .field("get_font_size", &self.get_font_size)
3377            .field("set_filter_func", &self.set_filter_func)
3378            .field("font_activated", &self.font_activated)
3379            .field("set_font_map", &self.set_font_map)
3380            .field("get_font_map", &self.get_font_map)
3381            .finish()
3382    }
3383}
3384
3385#[derive(Copy, Clone)]
3386#[repr(C)]
3387pub struct GtkFontDialogButtonClass {
3388    pub parent_class: GtkWidgetClass,
3389}
3390
3391impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3393        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3394            .field("parent_class", &self.parent_class)
3395            .finish()
3396    }
3397}
3398
3399#[derive(Copy, Clone)]
3400#[repr(C)]
3401pub struct GtkFontDialogClass {
3402    pub parent_class: gobject::GObjectClass,
3403}
3404
3405impl ::std::fmt::Debug for GtkFontDialogClass {
3406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3407        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3408            .field("parent_class", &self.parent_class)
3409            .finish()
3410    }
3411}
3412
3413#[derive(Copy, Clone)]
3414#[repr(C)]
3415pub struct GtkFrameClass {
3416    pub parent_class: GtkWidgetClass,
3417    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3418    pub padding: [gpointer; 8],
3419}
3420
3421impl ::std::fmt::Debug for GtkFrameClass {
3422    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3423        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3424            .field("parent_class", &self.parent_class)
3425            .field("compute_child_allocation", &self.compute_child_allocation)
3426            .finish()
3427    }
3428}
3429
3430#[derive(Copy, Clone)]
3431#[repr(C)]
3432pub struct GtkGLAreaClass {
3433    pub parent_class: GtkWidgetClass,
3434    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3435    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3436    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3437    pub _padding: [gpointer; 8],
3438}
3439
3440impl ::std::fmt::Debug for GtkGLAreaClass {
3441    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3442        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3443            .field("render", &self.render)
3444            .field("resize", &self.resize)
3445            .field("create_context", &self.create_context)
3446            .finish()
3447    }
3448}
3449
3450#[repr(C)]
3451#[allow(dead_code)]
3452pub struct _GtkGestureClass {
3453    _data: [u8; 0],
3454    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3455}
3456
3457pub type GtkGestureClass = _GtkGestureClass;
3458
3459#[repr(C)]
3460#[allow(dead_code)]
3461pub struct _GtkGestureClickClass {
3462    _data: [u8; 0],
3463    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3464}
3465
3466pub type GtkGestureClickClass = _GtkGestureClickClass;
3467
3468#[repr(C)]
3469#[allow(dead_code)]
3470pub struct _GtkGestureDragClass {
3471    _data: [u8; 0],
3472    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3473}
3474
3475pub type GtkGestureDragClass = _GtkGestureDragClass;
3476
3477#[repr(C)]
3478#[allow(dead_code)]
3479pub struct _GtkGestureLongPressClass {
3480    _data: [u8; 0],
3481    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3482}
3483
3484pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3485
3486#[repr(C)]
3487#[allow(dead_code)]
3488pub struct _GtkGesturePanClass {
3489    _data: [u8; 0],
3490    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3491}
3492
3493pub type GtkGesturePanClass = _GtkGesturePanClass;
3494
3495#[repr(C)]
3496#[allow(dead_code)]
3497pub struct _GtkGestureRotateClass {
3498    _data: [u8; 0],
3499    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3500}
3501
3502pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3503
3504#[repr(C)]
3505#[allow(dead_code)]
3506pub struct _GtkGestureSingleClass {
3507    _data: [u8; 0],
3508    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3509}
3510
3511pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3512
3513#[repr(C)]
3514#[allow(dead_code)]
3515pub struct _GtkGestureStylusClass {
3516    _data: [u8; 0],
3517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3518}
3519
3520pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3521
3522#[repr(C)]
3523#[allow(dead_code)]
3524pub struct _GtkGestureSwipeClass {
3525    _data: [u8; 0],
3526    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3527}
3528
3529pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3530
3531#[repr(C)]
3532#[allow(dead_code)]
3533pub struct _GtkGestureZoomClass {
3534    _data: [u8; 0],
3535    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3536}
3537
3538pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3539
3540#[derive(Copy, Clone)]
3541#[repr(C)]
3542pub struct GtkGraphicsOffloadClass {
3543    pub parent_class: GtkWidgetClass,
3544}
3545
3546impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3547    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3548        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3549            .field("parent_class", &self.parent_class)
3550            .finish()
3551    }
3552}
3553
3554#[derive(Copy, Clone)]
3555#[repr(C)]
3556pub struct GtkGridClass {
3557    pub parent_class: GtkWidgetClass,
3558    pub padding: [gpointer; 8],
3559}
3560
3561impl ::std::fmt::Debug for GtkGridClass {
3562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3563        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3564            .field("parent_class", &self.parent_class)
3565            .finish()
3566    }
3567}
3568
3569#[derive(Copy, Clone)]
3570#[repr(C)]
3571pub struct GtkGridLayoutChildClass {
3572    pub parent_class: GtkLayoutChildClass,
3573}
3574
3575impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3577        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3578            .field("parent_class", &self.parent_class)
3579            .finish()
3580    }
3581}
3582
3583#[derive(Copy, Clone)]
3584#[repr(C)]
3585pub struct GtkGridLayoutClass {
3586    pub parent_class: GtkLayoutManagerClass,
3587}
3588
3589impl ::std::fmt::Debug for GtkGridLayoutClass {
3590    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3591        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3592            .field("parent_class", &self.parent_class)
3593            .finish()
3594    }
3595}
3596
3597#[repr(C)]
3598#[allow(dead_code)]
3599pub struct _GtkGridViewClass {
3600    _data: [u8; 0],
3601    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3602}
3603
3604pub type GtkGridViewClass = _GtkGridViewClass;
3605
3606#[derive(Copy, Clone)]
3607#[repr(C)]
3608pub struct GtkIMContextClass {
3609    pub parent_class: gobject::GObjectClass,
3610    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3611    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3612    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3613    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3614    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3615    pub delete_surrounding:
3616        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3617    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3618    pub get_preedit_string: Option<
3619        unsafe extern "C" fn(
3620            *mut GtkIMContext,
3621            *mut *mut c_char,
3622            *mut *mut pango::PangoAttrList,
3623            *mut c_int,
3624        ),
3625    >,
3626    pub filter_keypress:
3627        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3628    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3629    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3630    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3631    pub set_cursor_location:
3632        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3633    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3634    pub set_surrounding:
3635        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3636    pub get_surrounding:
3637        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3638    pub set_surrounding_with_selection:
3639        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3640    pub get_surrounding_with_selection: Option<
3641        unsafe extern "C" fn(
3642            *mut GtkIMContext,
3643            *mut *mut c_char,
3644            *mut c_int,
3645            *mut c_int,
3646        ) -> gboolean,
3647    >,
3648    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3649    pub activate_osk_with_event:
3650        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3651    pub invalid_composition:
3652        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char) -> gboolean>,
3653    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3654    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3655}
3656
3657impl ::std::fmt::Debug for GtkIMContextClass {
3658    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3659        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3660            .field("preedit_start", &self.preedit_start)
3661            .field("preedit_end", &self.preedit_end)
3662            .field("preedit_changed", &self.preedit_changed)
3663            .field("commit", &self.commit)
3664            .field("retrieve_surrounding", &self.retrieve_surrounding)
3665            .field("delete_surrounding", &self.delete_surrounding)
3666            .field("set_client_widget", &self.set_client_widget)
3667            .field("get_preedit_string", &self.get_preedit_string)
3668            .field("filter_keypress", &self.filter_keypress)
3669            .field("focus_in", &self.focus_in)
3670            .field("focus_out", &self.focus_out)
3671            .field("reset", &self.reset)
3672            .field("set_cursor_location", &self.set_cursor_location)
3673            .field("set_use_preedit", &self.set_use_preedit)
3674            .field("set_surrounding", &self.set_surrounding)
3675            .field("get_surrounding", &self.get_surrounding)
3676            .field(
3677                "set_surrounding_with_selection",
3678                &self.set_surrounding_with_selection,
3679            )
3680            .field(
3681                "get_surrounding_with_selection",
3682                &self.get_surrounding_with_selection,
3683            )
3684            .field("activate_osk", &self.activate_osk)
3685            .field("activate_osk_with_event", &self.activate_osk_with_event)
3686            .field("invalid_composition", &self.invalid_composition)
3687            .field("_gtk_reserved3", &self._gtk_reserved3)
3688            .field("_gtk_reserved4", &self._gtk_reserved4)
3689            .finish()
3690    }
3691}
3692
3693#[derive(Copy, Clone)]
3694#[repr(C)]
3695pub struct GtkIMContextSimpleClass {
3696    pub parent_class: GtkIMContextClass,
3697}
3698
3699impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3701        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3702            .field("parent_class", &self.parent_class)
3703            .finish()
3704    }
3705}
3706
3707#[repr(C)]
3708#[allow(dead_code)]
3709pub struct _GtkIMContextSimplePrivate {
3710    _data: [u8; 0],
3711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3712}
3713
3714pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3715
3716#[derive(Copy, Clone)]
3717#[repr(C)]
3718pub struct GtkIMMulticontextClass {
3719    pub parent_class: GtkIMContextClass,
3720    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3721    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3722    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3723    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3724}
3725
3726impl ::std::fmt::Debug for GtkIMMulticontextClass {
3727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3728        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3729            .field("parent_class", &self.parent_class)
3730            .field("_gtk_reserved1", &self._gtk_reserved1)
3731            .field("_gtk_reserved2", &self._gtk_reserved2)
3732            .field("_gtk_reserved3", &self._gtk_reserved3)
3733            .field("_gtk_reserved4", &self._gtk_reserved4)
3734            .finish()
3735    }
3736}
3737
3738#[repr(C)]
3739#[allow(dead_code)]
3740pub struct _GtkIMMulticontextPrivate {
3741    _data: [u8; 0],
3742    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3743}
3744
3745pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3746
3747#[derive(Copy, Clone)]
3748#[repr(C)]
3749pub struct GtkIconPaintableClass {
3750    pub parent_class: gobject::GObjectClass,
3751}
3752
3753impl ::std::fmt::Debug for GtkIconPaintableClass {
3754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3755        f.debug_struct(&format!("GtkIconPaintableClass @ {self:p}"))
3756            .field("parent_class", &self.parent_class)
3757            .finish()
3758    }
3759}
3760
3761#[derive(Copy, Clone)]
3762#[repr(C)]
3763pub struct GtkInscriptionClass {
3764    pub parent_class: GtkWidgetClass,
3765}
3766
3767impl ::std::fmt::Debug for GtkInscriptionClass {
3768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3769        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3770            .field("parent_class", &self.parent_class)
3771            .finish()
3772    }
3773}
3774
3775#[repr(C)]
3776#[allow(dead_code)]
3777pub struct _GtkKeyvalTriggerClass {
3778    _data: [u8; 0],
3779    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3780}
3781
3782pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3783
3784#[derive(Copy, Clone)]
3785#[repr(C)]
3786pub struct GtkLayoutChildClass {
3787    pub parent_class: gobject::GObjectClass,
3788}
3789
3790impl ::std::fmt::Debug for GtkLayoutChildClass {
3791    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3792        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3793            .finish()
3794    }
3795}
3796
3797#[derive(Copy, Clone)]
3798#[repr(C)]
3799pub struct GtkLayoutManagerClass {
3800    pub parent_class: gobject::GObjectClass,
3801    pub get_request_mode:
3802        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3803    pub measure: Option<
3804        unsafe extern "C" fn(
3805            *mut GtkLayoutManager,
3806            *mut GtkWidget,
3807            GtkOrientation,
3808            c_int,
3809            *mut c_int,
3810            *mut c_int,
3811            *mut c_int,
3812            *mut c_int,
3813        ),
3814    >,
3815    pub allocate:
3816        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3817    pub layout_child_type: GType,
3818    pub create_layout_child: Option<
3819        unsafe extern "C" fn(
3820            *mut GtkLayoutManager,
3821            *mut GtkWidget,
3822            *mut GtkWidget,
3823        ) -> *mut GtkLayoutChild,
3824    >,
3825    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3826    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3827    pub _padding: [gpointer; 16],
3828}
3829
3830impl ::std::fmt::Debug for GtkLayoutManagerClass {
3831    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3832        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3833            .field("get_request_mode", &self.get_request_mode)
3834            .field("measure", &self.measure)
3835            .field("allocate", &self.allocate)
3836            .field("layout_child_type", &self.layout_child_type)
3837            .field("create_layout_child", &self.create_layout_child)
3838            .field("root", &self.root)
3839            .field("unroot", &self.unroot)
3840            .finish()
3841    }
3842}
3843
3844#[repr(C)]
3845#[allow(dead_code)]
3846pub struct _GtkListBaseClass {
3847    _data: [u8; 0],
3848    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3849}
3850
3851pub type GtkListBaseClass = _GtkListBaseClass;
3852
3853#[derive(Copy, Clone)]
3854#[repr(C)]
3855pub struct GtkListBoxRowClass {
3856    pub parent_class: GtkWidgetClass,
3857    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3858    pub padding: [gpointer; 8],
3859}
3860
3861impl ::std::fmt::Debug for GtkListBoxRowClass {
3862    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3863        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3864            .field("parent_class", &self.parent_class)
3865            .field("activate", &self.activate)
3866            .finish()
3867    }
3868}
3869
3870#[repr(C)]
3871#[allow(dead_code)]
3872pub struct _GtkListHeaderClass {
3873    _data: [u8; 0],
3874    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3875}
3876
3877pub type GtkListHeaderClass = _GtkListHeaderClass;
3878
3879#[repr(C)]
3880#[allow(dead_code)]
3881pub struct _GtkListItemClass {
3882    _data: [u8; 0],
3883    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3884}
3885
3886pub type GtkListItemClass = _GtkListItemClass;
3887
3888#[repr(C)]
3889#[allow(dead_code)]
3890pub struct _GtkListItemFactoryClass {
3891    _data: [u8; 0],
3892    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3893}
3894
3895pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3896
3897#[derive(Copy, Clone)]
3898#[repr(C)]
3899pub struct GtkListStoreClass {
3900    pub parent_class: gobject::GObjectClass,
3901    pub padding: [gpointer; 8],
3902}
3903
3904impl ::std::fmt::Debug for GtkListStoreClass {
3905    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3906        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3907            .field("parent_class", &self.parent_class)
3908            .finish()
3909    }
3910}
3911
3912#[repr(C)]
3913#[allow(dead_code)]
3914pub struct _GtkListStorePrivate {
3915    _data: [u8; 0],
3916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3917}
3918
3919pub type GtkListStorePrivate = _GtkListStorePrivate;
3920
3921#[repr(C)]
3922#[allow(dead_code)]
3923pub struct _GtkListViewClass {
3924    _data: [u8; 0],
3925    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3926}
3927
3928pub type GtkListViewClass = _GtkListViewClass;
3929
3930#[derive(Copy, Clone)]
3931#[repr(C)]
3932pub struct GtkMapListModelClass {
3933    pub parent_class: gobject::GObjectClass,
3934}
3935
3936impl ::std::fmt::Debug for GtkMapListModelClass {
3937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3938        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3939            .field("parent_class", &self.parent_class)
3940            .finish()
3941    }
3942}
3943
3944#[derive(Copy, Clone)]
3945#[repr(C)]
3946pub struct GtkMediaControlsClass {
3947    pub parent_class: GtkWidgetClass,
3948}
3949
3950impl ::std::fmt::Debug for GtkMediaControlsClass {
3951    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3952        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3953            .field("parent_class", &self.parent_class)
3954            .finish()
3955    }
3956}
3957
3958#[derive(Copy, Clone)]
3959#[repr(C)]
3960pub struct GtkMediaFileClass {
3961    pub parent_class: GtkMediaStreamClass,
3962    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3963    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3964    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3965    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3966    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3967    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3968}
3969
3970impl ::std::fmt::Debug for GtkMediaFileClass {
3971    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3972        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
3973            .field("parent_class", &self.parent_class)
3974            .field("open", &self.open)
3975            .field("close", &self.close)
3976            .field("_gtk_reserved1", &self._gtk_reserved1)
3977            .field("_gtk_reserved2", &self._gtk_reserved2)
3978            .field("_gtk_reserved3", &self._gtk_reserved3)
3979            .field("_gtk_reserved4", &self._gtk_reserved4)
3980            .finish()
3981    }
3982}
3983
3984#[derive(Copy, Clone)]
3985#[repr(C)]
3986pub struct GtkMediaStreamClass {
3987    pub parent_class: gobject::GObjectClass,
3988    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
3989    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
3990    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
3991    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
3992    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
3993    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
3994    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3995    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3996    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3997    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3998    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3999    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4000    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4001    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4002}
4003
4004impl ::std::fmt::Debug for GtkMediaStreamClass {
4005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4006        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
4007            .field("parent_class", &self.parent_class)
4008            .field("play", &self.play)
4009            .field("pause", &self.pause)
4010            .field("seek", &self.seek)
4011            .field("update_audio", &self.update_audio)
4012            .field("realize", &self.realize)
4013            .field("unrealize", &self.unrealize)
4014            .field("_gtk_reserved1", &self._gtk_reserved1)
4015            .field("_gtk_reserved2", &self._gtk_reserved2)
4016            .field("_gtk_reserved3", &self._gtk_reserved3)
4017            .field("_gtk_reserved4", &self._gtk_reserved4)
4018            .field("_gtk_reserved5", &self._gtk_reserved5)
4019            .field("_gtk_reserved6", &self._gtk_reserved6)
4020            .field("_gtk_reserved7", &self._gtk_reserved7)
4021            .field("_gtk_reserved8", &self._gtk_reserved8)
4022            .finish()
4023    }
4024}
4025
4026#[repr(C)]
4027#[allow(dead_code)]
4028pub struct _GtkMessageDialogClass {
4029    _data: [u8; 0],
4030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4031}
4032
4033pub type GtkMessageDialogClass = _GtkMessageDialogClass;
4034
4035#[repr(C)]
4036#[allow(dead_code)]
4037pub struct _GtkMnemonicActionClass {
4038    _data: [u8; 0],
4039    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4040}
4041
4042pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
4043
4044#[repr(C)]
4045#[allow(dead_code)]
4046pub struct _GtkMnemonicTriggerClass {
4047    _data: [u8; 0],
4048    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4049}
4050
4051pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
4052
4053#[derive(Copy, Clone)]
4054#[repr(C)]
4055pub struct GtkMountOperationClass {
4056    pub parent_class: gio::GMountOperationClass,
4057    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4058    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4059    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4060    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4061}
4062
4063impl ::std::fmt::Debug for GtkMountOperationClass {
4064    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4065        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
4066            .field("parent_class", &self.parent_class)
4067            .field("_gtk_reserved1", &self._gtk_reserved1)
4068            .field("_gtk_reserved2", &self._gtk_reserved2)
4069            .field("_gtk_reserved3", &self._gtk_reserved3)
4070            .field("_gtk_reserved4", &self._gtk_reserved4)
4071            .finish()
4072    }
4073}
4074
4075#[repr(C)]
4076#[allow(dead_code)]
4077pub struct _GtkMountOperationPrivate {
4078    _data: [u8; 0],
4079    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4080}
4081
4082pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
4083
4084#[repr(C)]
4085#[allow(dead_code)]
4086pub struct _GtkMultiFilterClass {
4087    _data: [u8; 0],
4088    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4089}
4090
4091pub type GtkMultiFilterClass = _GtkMultiFilterClass;
4092
4093#[derive(Copy, Clone)]
4094#[repr(C)]
4095pub struct GtkMultiSelectionClass {
4096    pub parent_class: gobject::GObjectClass,
4097}
4098
4099impl ::std::fmt::Debug for GtkMultiSelectionClass {
4100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4101        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
4102            .field("parent_class", &self.parent_class)
4103            .finish()
4104    }
4105}
4106
4107#[derive(Copy, Clone)]
4108#[repr(C)]
4109pub struct GtkMultiSorterClass {
4110    pub parent_class: GtkSorterClass,
4111}
4112
4113impl ::std::fmt::Debug for GtkMultiSorterClass {
4114    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4115        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
4116            .field("parent_class", &self.parent_class)
4117            .finish()
4118    }
4119}
4120
4121#[repr(C)]
4122#[allow(dead_code)]
4123pub struct _GtkNamedActionClass {
4124    _data: [u8; 0],
4125    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4126}
4127
4128pub type GtkNamedActionClass = _GtkNamedActionClass;
4129
4130#[derive(Copy, Clone)]
4131#[repr(C)]
4132pub struct GtkNativeDialogClass {
4133    pub parent_class: gobject::GObjectClass,
4134    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
4135    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4136    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4137    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4138    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4139    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4140    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4141}
4142
4143impl ::std::fmt::Debug for GtkNativeDialogClass {
4144    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4145        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
4146            .field("response", &self.response)
4147            .field("show", &self.show)
4148            .field("hide", &self.hide)
4149            .field("_gtk_reserved1", &self._gtk_reserved1)
4150            .field("_gtk_reserved2", &self._gtk_reserved2)
4151            .field("_gtk_reserved3", &self._gtk_reserved3)
4152            .field("_gtk_reserved4", &self._gtk_reserved4)
4153            .finish()
4154    }
4155}
4156
4157#[repr(C)]
4158#[allow(dead_code)]
4159pub struct _GtkNativeInterface {
4160    _data: [u8; 0],
4161    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4162}
4163
4164pub type GtkNativeInterface = _GtkNativeInterface;
4165
4166#[repr(C)]
4167#[allow(dead_code)]
4168pub struct _GtkNeverTriggerClass {
4169    _data: [u8; 0],
4170    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4171}
4172
4173pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
4174
4175#[derive(Copy, Clone)]
4176#[repr(C)]
4177pub struct GtkNoSelectionClass {
4178    pub parent_class: gobject::GObjectClass,
4179}
4180
4181impl ::std::fmt::Debug for GtkNoSelectionClass {
4182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4183        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4184            .field("parent_class", &self.parent_class)
4185            .finish()
4186    }
4187}
4188
4189#[repr(C)]
4190#[allow(dead_code)]
4191pub struct _GtkNothingActionClass {
4192    _data: [u8; 0],
4193    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4194}
4195
4196pub type GtkNothingActionClass = _GtkNothingActionClass;
4197
4198#[derive(Copy, Clone)]
4199#[repr(C)]
4200pub struct GtkNumericSorterClass {
4201    pub parent_class: GtkSorterClass,
4202}
4203
4204impl ::std::fmt::Debug for GtkNumericSorterClass {
4205    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4206        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4207            .field("parent_class", &self.parent_class)
4208            .finish()
4209    }
4210}
4211
4212#[derive(Copy, Clone)]
4213#[repr(C)]
4214pub struct GtkOrientableIface {
4215    pub base_iface: gobject::GTypeInterface,
4216}
4217
4218impl ::std::fmt::Debug for GtkOrientableIface {
4219    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4220        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4221            .field("base_iface", &self.base_iface)
4222            .finish()
4223    }
4224}
4225
4226#[derive(Copy, Clone)]
4227#[repr(C)]
4228pub struct GtkOverlayLayoutChildClass {
4229    pub parent_class: GtkLayoutChildClass,
4230}
4231
4232impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4233    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4234        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4235            .field("parent_class", &self.parent_class)
4236            .finish()
4237    }
4238}
4239
4240#[derive(Copy, Clone)]
4241#[repr(C)]
4242pub struct GtkOverlayLayoutClass {
4243    pub parent_class: GtkLayoutManagerClass,
4244}
4245
4246impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4247    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4248        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4249            .field("parent_class", &self.parent_class)
4250            .finish()
4251    }
4252}
4253
4254#[derive(Copy, Clone)]
4255#[repr(C)]
4256pub struct GtkPadActionEntry {
4257    pub type_: GtkPadActionType,
4258    pub index: c_int,
4259    pub mode: c_int,
4260    pub label: *const c_char,
4261    pub action_name: *const c_char,
4262}
4263
4264impl ::std::fmt::Debug for GtkPadActionEntry {
4265    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4266        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4267            .field("type_", &self.type_)
4268            .field("index", &self.index)
4269            .field("mode", &self.mode)
4270            .field("label", &self.label)
4271            .field("action_name", &self.action_name)
4272            .finish()
4273    }
4274}
4275
4276#[repr(C)]
4277#[allow(dead_code)]
4278pub struct _GtkPadControllerClass {
4279    _data: [u8; 0],
4280    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4281}
4282
4283pub type GtkPadControllerClass = _GtkPadControllerClass;
4284
4285#[derive(Copy, Clone)]
4286#[repr(C)]
4287pub struct GtkPageRange {
4288    pub start: c_int,
4289    pub end: c_int,
4290}
4291
4292impl ::std::fmt::Debug for GtkPageRange {
4293    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4294        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4295            .field("start", &self.start)
4296            .field("end", &self.end)
4297            .finish()
4298    }
4299}
4300
4301#[repr(C)]
4302#[allow(dead_code)]
4303pub struct GtkPaperSize {
4304    _data: [u8; 0],
4305    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4306}
4307
4308impl ::std::fmt::Debug for GtkPaperSize {
4309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4310        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4311    }
4312}
4313
4314#[derive(Copy, Clone)]
4315#[repr(C)]
4316pub struct GtkPasswordEntryBufferClass {
4317    pub parent_class: GtkEntryBufferClass,
4318}
4319
4320impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4321    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4322        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4323            .field("parent_class", &self.parent_class)
4324            .finish()
4325    }
4326}
4327
4328#[repr(C)]
4329#[allow(dead_code)]
4330pub struct _GtkPasswordEntryClass {
4331    _data: [u8; 0],
4332    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4333}
4334
4335pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4336
4337#[derive(Copy, Clone)]
4338#[repr(C)]
4339pub struct GtkPictureClass {
4340    pub parent_class: GtkWidgetClass,
4341}
4342
4343impl ::std::fmt::Debug for GtkPictureClass {
4344    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4345        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4346            .field("parent_class", &self.parent_class)
4347            .finish()
4348    }
4349}
4350
4351#[derive(Copy, Clone)]
4352#[repr(C)]
4353pub struct GtkPopoverBinClass {
4354    pub parent_class: GtkWidgetClass,
4355}
4356
4357impl ::std::fmt::Debug for GtkPopoverBinClass {
4358    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4359        f.debug_struct(&format!("GtkPopoverBinClass @ {self:p}"))
4360            .field("parent_class", &self.parent_class)
4361            .finish()
4362    }
4363}
4364
4365#[derive(Copy, Clone)]
4366#[repr(C)]
4367pub struct GtkPopoverClass {
4368    pub parent_class: GtkWidgetClass,
4369    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4370    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4371    pub reserved: [gpointer; 8],
4372}
4373
4374impl ::std::fmt::Debug for GtkPopoverClass {
4375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4376        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4377            .field("parent_class", &self.parent_class)
4378            .field("closed", &self.closed)
4379            .field("activate_default", &self.activate_default)
4380            .finish()
4381    }
4382}
4383
4384#[repr(C)]
4385#[allow(dead_code)]
4386pub struct _GtkPrintBackend {
4387    _data: [u8; 0],
4388    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4389}
4390
4391pub type GtkPrintBackend = _GtkPrintBackend;
4392
4393#[derive(Copy, Clone)]
4394#[repr(C)]
4395pub struct GtkPrintDialogClass {
4396    pub parent_class: gobject::GObjectClass,
4397}
4398
4399impl ::std::fmt::Debug for GtkPrintDialogClass {
4400    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4401        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4402            .field("parent_class", &self.parent_class)
4403            .finish()
4404    }
4405}
4406
4407#[derive(Copy, Clone)]
4408#[repr(C)]
4409pub struct GtkPrintOperationClass {
4410    pub parent_class: gobject::GObjectClass,
4411    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4412    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4413    pub paginate:
4414        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4415    pub request_page_setup: Option<
4416        unsafe extern "C" fn(
4417            *mut GtkPrintOperation,
4418            *mut GtkPrintContext,
4419            c_int,
4420            *mut GtkPageSetup,
4421        ),
4422    >,
4423    pub draw_page:
4424        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4425    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4426    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4427    pub create_custom_widget:
4428        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4429    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4430    pub preview: Option<
4431        unsafe extern "C" fn(
4432            *mut GtkPrintOperation,
4433            *mut GtkPrintOperationPreview,
4434            *mut GtkPrintContext,
4435            *mut GtkWindow,
4436        ) -> gboolean,
4437    >,
4438    pub update_custom_widget: Option<
4439        unsafe extern "C" fn(
4440            *mut GtkPrintOperation,
4441            *mut GtkWidget,
4442            *mut GtkPageSetup,
4443            *mut GtkPrintSettings,
4444        ),
4445    >,
4446    pub padding: [gpointer; 8],
4447}
4448
4449impl ::std::fmt::Debug for GtkPrintOperationClass {
4450    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4451        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4452            .field("parent_class", &self.parent_class)
4453            .field("done", &self.done)
4454            .field("begin_print", &self.begin_print)
4455            .field("paginate", &self.paginate)
4456            .field("request_page_setup", &self.request_page_setup)
4457            .field("draw_page", &self.draw_page)
4458            .field("end_print", &self.end_print)
4459            .field("status_changed", &self.status_changed)
4460            .field("create_custom_widget", &self.create_custom_widget)
4461            .field("custom_widget_apply", &self.custom_widget_apply)
4462            .field("preview", &self.preview)
4463            .field("update_custom_widget", &self.update_custom_widget)
4464            .finish()
4465    }
4466}
4467
4468#[derive(Copy, Clone)]
4469#[repr(C)]
4470pub struct GtkPrintOperationPreviewIface {
4471    pub g_iface: gobject::GTypeInterface,
4472    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4473    pub got_page_size: Option<
4474        unsafe extern "C" fn(
4475            *mut GtkPrintOperationPreview,
4476            *mut GtkPrintContext,
4477            *mut GtkPageSetup,
4478        ),
4479    >,
4480    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4481    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4482    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4483    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4484    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4485    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4486    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4487    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4488    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4489    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4490    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4491}
4492
4493impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4494    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4495        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4496            .field("g_iface", &self.g_iface)
4497            .field("ready", &self.ready)
4498            .field("got_page_size", &self.got_page_size)
4499            .field("render_page", &self.render_page)
4500            .field("is_selected", &self.is_selected)
4501            .field("end_preview", &self.end_preview)
4502            .field("_gtk_reserved1", &self._gtk_reserved1)
4503            .field("_gtk_reserved2", &self._gtk_reserved2)
4504            .field("_gtk_reserved3", &self._gtk_reserved3)
4505            .field("_gtk_reserved4", &self._gtk_reserved4)
4506            .field("_gtk_reserved5", &self._gtk_reserved5)
4507            .field("_gtk_reserved6", &self._gtk_reserved6)
4508            .field("_gtk_reserved7", &self._gtk_reserved7)
4509            .field("_gtk_reserved8", &self._gtk_reserved8)
4510            .finish()
4511    }
4512}
4513
4514#[repr(C)]
4515#[allow(dead_code)]
4516pub struct _GtkPrintOperationPrivate {
4517    _data: [u8; 0],
4518    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4519}
4520
4521pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4522
4523#[repr(C)]
4524#[allow(dead_code)]
4525pub struct GtkPrintSetup {
4526    _data: [u8; 0],
4527    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4528}
4529
4530impl ::std::fmt::Debug for GtkPrintSetup {
4531    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4532        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4533            .finish()
4534    }
4535}
4536
4537#[derive(Copy, Clone)]
4538#[repr(C)]
4539pub struct GtkRangeClass {
4540    pub parent_class: GtkWidgetClass,
4541    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4542    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4543    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4544    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4545    pub change_value:
4546        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4547    pub padding: [gpointer; 8],
4548}
4549
4550impl ::std::fmt::Debug for GtkRangeClass {
4551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4552        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4553            .field("parent_class", &self.parent_class)
4554            .field("value_changed", &self.value_changed)
4555            .field("adjust_bounds", &self.adjust_bounds)
4556            .field("move_slider", &self.move_slider)
4557            .field("get_range_border", &self.get_range_border)
4558            .field("change_value", &self.change_value)
4559            .finish()
4560    }
4561}
4562
4563#[derive(Copy, Clone)]
4564#[repr(C)]
4565pub struct GtkRecentData {
4566    pub display_name: *mut c_char,
4567    pub description: *mut c_char,
4568    pub mime_type: *mut c_char,
4569    pub app_name: *mut c_char,
4570    pub app_exec: *mut c_char,
4571    pub groups: *mut *mut c_char,
4572    pub is_private: gboolean,
4573}
4574
4575impl ::std::fmt::Debug for GtkRecentData {
4576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4577        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4578            .field("display_name", &self.display_name)
4579            .field("description", &self.description)
4580            .field("mime_type", &self.mime_type)
4581            .field("app_name", &self.app_name)
4582            .field("app_exec", &self.app_exec)
4583            .field("groups", &self.groups)
4584            .field("is_private", &self.is_private)
4585            .finish()
4586    }
4587}
4588
4589#[repr(C)]
4590#[allow(dead_code)]
4591pub struct GtkRecentInfo {
4592    _data: [u8; 0],
4593    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4594}
4595
4596impl ::std::fmt::Debug for GtkRecentInfo {
4597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4598        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4599            .finish()
4600    }
4601}
4602
4603#[derive(Copy, Clone)]
4604#[repr(C)]
4605pub struct GtkRecentManagerClass {
4606    pub parent_class: gobject::GObjectClass,
4607    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4608    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4609    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4610    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4611    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4612}
4613
4614impl ::std::fmt::Debug for GtkRecentManagerClass {
4615    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4616        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4617            .field("changed", &self.changed)
4618            .field("_gtk_recent1", &self._gtk_recent1)
4619            .field("_gtk_recent2", &self._gtk_recent2)
4620            .field("_gtk_recent3", &self._gtk_recent3)
4621            .field("_gtk_recent4", &self._gtk_recent4)
4622            .finish()
4623    }
4624}
4625
4626#[repr(C)]
4627#[allow(dead_code)]
4628pub struct _GtkRecentManagerPrivate {
4629    _data: [u8; 0],
4630    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4631}
4632
4633pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4634
4635#[derive(Copy, Clone)]
4636#[repr(C)]
4637pub struct GtkRequestedSize {
4638    pub data: gpointer,
4639    pub minimum_size: c_int,
4640    pub natural_size: c_int,
4641}
4642
4643impl ::std::fmt::Debug for GtkRequestedSize {
4644    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4645        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4646            .field("data", &self.data)
4647            .field("minimum_size", &self.minimum_size)
4648            .field("natural_size", &self.natural_size)
4649            .finish()
4650    }
4651}
4652
4653#[derive(Copy, Clone)]
4654#[repr(C)]
4655pub struct GtkRequisition {
4656    pub width: c_int,
4657    pub height: c_int,
4658}
4659
4660impl ::std::fmt::Debug for GtkRequisition {
4661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4662        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4663            .field("width", &self.width)
4664            .field("height", &self.height)
4665            .finish()
4666    }
4667}
4668
4669#[repr(C)]
4670#[allow(dead_code)]
4671pub struct _GtkRootInterface {
4672    _data: [u8; 0],
4673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4674}
4675
4676pub type GtkRootInterface = _GtkRootInterface;
4677
4678#[derive(Copy, Clone)]
4679#[repr(C)]
4680pub struct GtkScaleButtonClass {
4681    pub parent_class: GtkWidgetClass,
4682    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4683    pub padding: [gpointer; 8],
4684}
4685
4686impl ::std::fmt::Debug for GtkScaleButtonClass {
4687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4688        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4689            .field("parent_class", &self.parent_class)
4690            .field("value_changed", &self.value_changed)
4691            .finish()
4692    }
4693}
4694
4695#[derive(Copy, Clone)]
4696#[repr(C)]
4697pub struct GtkScaleClass {
4698    pub parent_class: GtkRangeClass,
4699    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4700    pub padding: [gpointer; 8],
4701}
4702
4703impl ::std::fmt::Debug for GtkScaleClass {
4704    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4705        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4706            .field("parent_class", &self.parent_class)
4707            .field("get_layout_offsets", &self.get_layout_offsets)
4708            .finish()
4709    }
4710}
4711
4712#[repr(C)]
4713#[allow(dead_code)]
4714pub struct GtkScrollInfo {
4715    _data: [u8; 0],
4716    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4717}
4718
4719impl ::std::fmt::Debug for GtkScrollInfo {
4720    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4721        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4722            .finish()
4723    }
4724}
4725
4726#[derive(Copy, Clone)]
4727#[repr(C)]
4728pub struct GtkScrollableInterface {
4729    pub base_iface: gobject::GTypeInterface,
4730    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4731}
4732
4733impl ::std::fmt::Debug for GtkScrollableInterface {
4734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4735        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4736            .field("base_iface", &self.base_iface)
4737            .field("get_border", &self.get_border)
4738            .finish()
4739    }
4740}
4741
4742#[derive(Copy, Clone)]
4743#[repr(C)]
4744pub struct GtkSectionModelInterface {
4745    pub g_iface: gobject::GTypeInterface,
4746    pub get_section:
4747        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4748}
4749
4750impl ::std::fmt::Debug for GtkSectionModelInterface {
4751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4752        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4753            .field("get_section", &self.get_section)
4754            .finish()
4755    }
4756}
4757
4758#[derive(Copy, Clone)]
4759#[repr(C)]
4760pub struct GtkSelectionFilterModelClass {
4761    pub parent_class: gobject::GObjectClass,
4762}
4763
4764impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4766        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4767            .field("parent_class", &self.parent_class)
4768            .finish()
4769    }
4770}
4771
4772#[derive(Copy, Clone)]
4773#[repr(C)]
4774pub struct GtkSelectionModelInterface {
4775    pub g_iface: gobject::GTypeInterface,
4776    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4777    pub get_selection_in_range:
4778        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4779    pub select_item:
4780        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4781    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4782    pub select_range:
4783        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4784    pub unselect_range:
4785        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4786    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4787    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4788    pub set_selection: Option<
4789        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4790    >,
4791}
4792
4793impl ::std::fmt::Debug for GtkSelectionModelInterface {
4794    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4795        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4796            .field("is_selected", &self.is_selected)
4797            .field("get_selection_in_range", &self.get_selection_in_range)
4798            .field("select_item", &self.select_item)
4799            .field("unselect_item", &self.unselect_item)
4800            .field("select_range", &self.select_range)
4801            .field("unselect_range", &self.unselect_range)
4802            .field("select_all", &self.select_all)
4803            .field("unselect_all", &self.unselect_all)
4804            .field("set_selection", &self.set_selection)
4805            .finish()
4806    }
4807}
4808
4809#[repr(C)]
4810#[allow(dead_code)]
4811pub struct _GtkShortcutActionClass {
4812    _data: [u8; 0],
4813    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4814}
4815
4816pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4817
4818#[derive(Copy, Clone)]
4819#[repr(C)]
4820pub struct GtkShortcutClass {
4821    pub parent_class: gobject::GObjectClass,
4822}
4823
4824impl ::std::fmt::Debug for GtkShortcutClass {
4825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4826        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4827            .field("parent_class", &self.parent_class)
4828            .finish()
4829    }
4830}
4831
4832#[repr(C)]
4833#[allow(dead_code)]
4834pub struct _GtkShortcutControllerClass {
4835    _data: [u8; 0],
4836    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4837}
4838
4839pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4840
4841#[repr(C)]
4842#[allow(dead_code)]
4843pub struct _GtkShortcutLabelClass {
4844    _data: [u8; 0],
4845    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4846}
4847
4848pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4849
4850#[derive(Copy, Clone)]
4851#[repr(C)]
4852pub struct GtkShortcutManagerInterface {
4853    pub g_iface: gobject::GTypeInterface,
4854    pub add_controller:
4855        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4856    pub remove_controller:
4857        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4858}
4859
4860impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4862        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4863            .field("add_controller", &self.add_controller)
4864            .field("remove_controller", &self.remove_controller)
4865            .finish()
4866    }
4867}
4868
4869#[repr(C)]
4870#[allow(dead_code)]
4871pub struct _GtkShortcutTriggerClass {
4872    _data: [u8; 0],
4873    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4874}
4875
4876pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4877
4878#[repr(C)]
4879#[allow(dead_code)]
4880pub struct _GtkShortcutsGroupClass {
4881    _data: [u8; 0],
4882    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4883}
4884
4885pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4886
4887#[repr(C)]
4888#[allow(dead_code)]
4889pub struct _GtkShortcutsSectionClass {
4890    _data: [u8; 0],
4891    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4892}
4893
4894pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4895
4896#[repr(C)]
4897#[allow(dead_code)]
4898pub struct _GtkShortcutsShortcutClass {
4899    _data: [u8; 0],
4900    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4901}
4902
4903pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4904
4905#[repr(C)]
4906#[allow(dead_code)]
4907pub struct _GtkSignalActionClass {
4908    _data: [u8; 0],
4909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4910}
4911
4912pub type GtkSignalActionClass = _GtkSignalActionClass;
4913
4914#[repr(C)]
4915#[allow(dead_code)]
4916pub struct _GtkSignalListItemFactoryClass {
4917    _data: [u8; 0],
4918    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4919}
4920
4921pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4922
4923#[derive(Copy, Clone)]
4924#[repr(C)]
4925pub struct GtkSingleSelectionClass {
4926    pub parent_class: gobject::GObjectClass,
4927}
4928
4929impl ::std::fmt::Debug for GtkSingleSelectionClass {
4930    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4931        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4932            .field("parent_class", &self.parent_class)
4933            .finish()
4934    }
4935}
4936
4937#[derive(Copy, Clone)]
4938#[repr(C)]
4939pub struct GtkSliceListModelClass {
4940    pub parent_class: gobject::GObjectClass,
4941}
4942
4943impl ::std::fmt::Debug for GtkSliceListModelClass {
4944    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4945        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4946            .field("parent_class", &self.parent_class)
4947            .finish()
4948    }
4949}
4950
4951#[repr(C)]
4952#[allow(dead_code)]
4953pub struct _GtkSnapshotClass {
4954    _data: [u8; 0],
4955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4956}
4957
4958pub type GtkSnapshotClass = _GtkSnapshotClass;
4959
4960#[derive(Copy, Clone)]
4961#[repr(C)]
4962pub struct GtkSortListModelClass {
4963    pub parent_class: gobject::GObjectClass,
4964}
4965
4966impl ::std::fmt::Debug for GtkSortListModelClass {
4967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4968        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
4969            .field("parent_class", &self.parent_class)
4970            .finish()
4971    }
4972}
4973
4974#[derive(Copy, Clone)]
4975#[repr(C)]
4976pub struct GtkSorterClass {
4977    pub parent_class: gobject::GObjectClass,
4978    pub compare: Option<
4979        unsafe extern "C" fn(
4980            *mut GtkSorter,
4981            *mut gobject::GObject,
4982            *mut gobject::GObject,
4983        ) -> GtkOrdering,
4984    >,
4985    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
4986    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4987    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4988    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4989    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4990    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4991    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4992    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4993    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4994}
4995
4996impl ::std::fmt::Debug for GtkSorterClass {
4997    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4998        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
4999            .field("parent_class", &self.parent_class)
5000            .field("compare", &self.compare)
5001            .field("get_order", &self.get_order)
5002            .field("_gtk_reserved1", &self._gtk_reserved1)
5003            .field("_gtk_reserved2", &self._gtk_reserved2)
5004            .field("_gtk_reserved3", &self._gtk_reserved3)
5005            .field("_gtk_reserved4", &self._gtk_reserved4)
5006            .field("_gtk_reserved5", &self._gtk_reserved5)
5007            .field("_gtk_reserved6", &self._gtk_reserved6)
5008            .field("_gtk_reserved7", &self._gtk_reserved7)
5009            .field("_gtk_reserved8", &self._gtk_reserved8)
5010            .finish()
5011    }
5012}
5013
5014#[derive(Copy, Clone)]
5015#[repr(C)]
5016pub struct GtkStringFilterClass {
5017    pub parent_class: GtkFilterClass,
5018}
5019
5020impl ::std::fmt::Debug for GtkStringFilterClass {
5021    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5022        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
5023            .field("parent_class", &self.parent_class)
5024            .finish()
5025    }
5026}
5027
5028#[derive(Copy, Clone)]
5029#[repr(C)]
5030pub struct GtkStringListClass {
5031    pub parent_class: gobject::GObjectClass,
5032}
5033
5034impl ::std::fmt::Debug for GtkStringListClass {
5035    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5036        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
5037            .field("parent_class", &self.parent_class)
5038            .finish()
5039    }
5040}
5041
5042#[derive(Copy, Clone)]
5043#[repr(C)]
5044pub struct GtkStringObjectClass {
5045    pub parent_class: gobject::GObjectClass,
5046}
5047
5048impl ::std::fmt::Debug for GtkStringObjectClass {
5049    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5050        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
5051            .field("parent_class", &self.parent_class)
5052            .finish()
5053    }
5054}
5055
5056#[derive(Copy, Clone)]
5057#[repr(C)]
5058pub struct GtkStringSorterClass {
5059    pub parent_class: GtkSorterClass,
5060}
5061
5062impl ::std::fmt::Debug for GtkStringSorterClass {
5063    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5064        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
5065            .field("parent_class", &self.parent_class)
5066            .finish()
5067    }
5068}
5069
5070#[derive(Copy, Clone)]
5071#[repr(C)]
5072pub struct GtkStyleContextClass {
5073    pub parent_class: gobject::GObjectClass,
5074    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
5075    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5076    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5077    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5078    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5079}
5080
5081impl ::std::fmt::Debug for GtkStyleContextClass {
5082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5083        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
5084            .field("parent_class", &self.parent_class)
5085            .field("changed", &self.changed)
5086            .field("_gtk_reserved1", &self._gtk_reserved1)
5087            .field("_gtk_reserved2", &self._gtk_reserved2)
5088            .field("_gtk_reserved3", &self._gtk_reserved3)
5089            .field("_gtk_reserved4", &self._gtk_reserved4)
5090            .finish()
5091    }
5092}
5093
5094#[derive(Copy, Clone)]
5095#[repr(C)]
5096pub struct GtkSvgClass {
5097    pub parent_class: gobject::GObjectClass,
5098}
5099
5100impl ::std::fmt::Debug for GtkSvgClass {
5101    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5102        f.debug_struct(&format!("GtkSvgClass @ {self:p}"))
5103            .field("parent_class", &self.parent_class)
5104            .finish()
5105    }
5106}
5107
5108#[derive(Copy, Clone)]
5109#[repr(C)]
5110pub struct GtkSvgLocation {
5111    pub bytes: size_t,
5112    pub lines: size_t,
5113    pub line_chars: size_t,
5114}
5115
5116impl ::std::fmt::Debug for GtkSvgLocation {
5117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5118        f.debug_struct(&format!("GtkSvgLocation @ {self:p}"))
5119            .field("bytes", &self.bytes)
5120            .field("lines", &self.lines)
5121            .field("line_chars", &self.line_chars)
5122            .finish()
5123    }
5124}
5125
5126#[derive(Copy, Clone)]
5127#[repr(C)]
5128pub struct GtkSymbolicPaintableInterface {
5129    pub g_iface: gobject::GTypeInterface,
5130    pub snapshot_symbolic: Option<
5131        unsafe extern "C" fn(
5132            *mut GtkSymbolicPaintable,
5133            *mut gdk::GdkSnapshot,
5134            c_double,
5135            c_double,
5136            *const gdk::GdkRGBA,
5137            size_t,
5138        ),
5139    >,
5140    pub snapshot_with_weight: Option<
5141        unsafe extern "C" fn(
5142            *mut GtkSymbolicPaintable,
5143            *mut gdk::GdkSnapshot,
5144            c_double,
5145            c_double,
5146            *const gdk::GdkRGBA,
5147            size_t,
5148            c_double,
5149        ),
5150    >,
5151}
5152
5153impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
5154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5155        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
5156            .field("snapshot_symbolic", &self.snapshot_symbolic)
5157            .field("snapshot_with_weight", &self.snapshot_with_weight)
5158            .finish()
5159    }
5160}
5161
5162#[derive(Copy, Clone)]
5163#[repr(C)]
5164pub struct GtkTextBufferClass {
5165    pub parent_class: gobject::GObjectClass,
5166    pub insert_text:
5167        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
5168    pub insert_paintable:
5169        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
5170    pub insert_child_anchor:
5171        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
5172    pub delete_range:
5173        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
5174    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5175    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5176    pub mark_set:
5177        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
5178    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
5179    pub apply_tag: Option<
5180        unsafe extern "C" fn(
5181            *mut GtkTextBuffer,
5182            *mut GtkTextTag,
5183            *const GtkTextIter,
5184            *const GtkTextIter,
5185        ),
5186    >,
5187    pub remove_tag: Option<
5188        unsafe extern "C" fn(
5189            *mut GtkTextBuffer,
5190            *mut GtkTextTag,
5191            *const GtkTextIter,
5192            *const GtkTextIter,
5193        ),
5194    >,
5195    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5196    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5197    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
5198    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5199    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5200    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5201    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5202    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5203    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5204}
5205
5206impl ::std::fmt::Debug for GtkTextBufferClass {
5207    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5208        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
5209            .field("parent_class", &self.parent_class)
5210            .field("insert_text", &self.insert_text)
5211            .field("insert_paintable", &self.insert_paintable)
5212            .field("insert_child_anchor", &self.insert_child_anchor)
5213            .field("delete_range", &self.delete_range)
5214            .field("changed", &self.changed)
5215            .field("modified_changed", &self.modified_changed)
5216            .field("mark_set", &self.mark_set)
5217            .field("mark_deleted", &self.mark_deleted)
5218            .field("apply_tag", &self.apply_tag)
5219            .field("remove_tag", &self.remove_tag)
5220            .field("begin_user_action", &self.begin_user_action)
5221            .field("end_user_action", &self.end_user_action)
5222            .field("paste_done", &self.paste_done)
5223            .field("undo", &self.undo)
5224            .field("redo", &self.redo)
5225            .field("_gtk_reserved1", &self._gtk_reserved1)
5226            .field("_gtk_reserved2", &self._gtk_reserved2)
5227            .field("_gtk_reserved3", &self._gtk_reserved3)
5228            .field("_gtk_reserved4", &self._gtk_reserved4)
5229            .finish()
5230    }
5231}
5232
5233#[repr(C)]
5234#[allow(dead_code)]
5235pub struct _GtkTextBufferPrivate {
5236    _data: [u8; 0],
5237    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5238}
5239
5240pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5241
5242#[derive(Copy, Clone)]
5243#[repr(C)]
5244pub struct GtkTextChildAnchorClass {
5245    pub parent_class: gobject::GObjectClass,
5246    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5247    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5248    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5249    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5250}
5251
5252impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5253    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5254        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5255            .field("parent_class", &self.parent_class)
5256            .field("_gtk_reserved1", &self._gtk_reserved1)
5257            .field("_gtk_reserved2", &self._gtk_reserved2)
5258            .field("_gtk_reserved3", &self._gtk_reserved3)
5259            .field("_gtk_reserved4", &self._gtk_reserved4)
5260            .finish()
5261    }
5262}
5263
5264#[derive(Copy, Clone)]
5265#[repr(C)]
5266pub struct GtkTextIter {
5267    pub dummy1: gpointer,
5268    pub dummy2: gpointer,
5269    pub dummy3: c_int,
5270    pub dummy4: c_int,
5271    pub dummy5: c_int,
5272    pub dummy6: c_int,
5273    pub dummy7: c_int,
5274    pub dummy8: c_int,
5275    pub dummy9: gpointer,
5276    pub dummy10: gpointer,
5277    pub dummy11: c_int,
5278    pub dummy12: c_int,
5279    pub dummy13: c_int,
5280    pub dummy14: gpointer,
5281}
5282
5283impl ::std::fmt::Debug for GtkTextIter {
5284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5285        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5286    }
5287}
5288
5289#[derive(Copy, Clone)]
5290#[repr(C)]
5291pub struct GtkTextMarkClass {
5292    pub parent_class: gobject::GObjectClass,
5293    pub padding: [gpointer; 8],
5294}
5295
5296impl ::std::fmt::Debug for GtkTextMarkClass {
5297    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5298        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5299            .field("parent_class", &self.parent_class)
5300            .finish()
5301    }
5302}
5303
5304#[derive(Copy, Clone)]
5305#[repr(C)]
5306pub struct GtkTextTagClass {
5307    pub parent_class: gobject::GObjectClass,
5308    pub padding: [gpointer; 8],
5309}
5310
5311impl ::std::fmt::Debug for GtkTextTagClass {
5312    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5313        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5314            .field("parent_class", &self.parent_class)
5315            .finish()
5316    }
5317}
5318
5319#[repr(C)]
5320#[allow(dead_code)]
5321pub struct _GtkTextTagPrivate {
5322    _data: [u8; 0],
5323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5324}
5325
5326pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5327
5328#[derive(Copy, Clone)]
5329#[repr(C)]
5330pub struct GtkTextViewClass {
5331    pub parent_class: GtkWidgetClass,
5332    pub move_cursor:
5333        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5334    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5335    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5336    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5337    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5338    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5339    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5340    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5341    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5342    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5343    pub snapshot_layer:
5344        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5345    pub extend_selection: Option<
5346        unsafe extern "C" fn(
5347            *mut GtkTextView,
5348            GtkTextExtendSelection,
5349            *const GtkTextIter,
5350            *mut GtkTextIter,
5351            *mut GtkTextIter,
5352        ) -> gboolean,
5353    >,
5354    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5355    pub padding: [gpointer; 8],
5356}
5357
5358impl ::std::fmt::Debug for GtkTextViewClass {
5359    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5360        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5361            .field("parent_class", &self.parent_class)
5362            .field("move_cursor", &self.move_cursor)
5363            .field("set_anchor", &self.set_anchor)
5364            .field("insert_at_cursor", &self.insert_at_cursor)
5365            .field("delete_from_cursor", &self.delete_from_cursor)
5366            .field("backspace", &self.backspace)
5367            .field("cut_clipboard", &self.cut_clipboard)
5368            .field("copy_clipboard", &self.copy_clipboard)
5369            .field("paste_clipboard", &self.paste_clipboard)
5370            .field("toggle_overwrite", &self.toggle_overwrite)
5371            .field("create_buffer", &self.create_buffer)
5372            .field("snapshot_layer", &self.snapshot_layer)
5373            .field("extend_selection", &self.extend_selection)
5374            .field("insert_emoji", &self.insert_emoji)
5375            .finish()
5376    }
5377}
5378
5379#[repr(C)]
5380#[allow(dead_code)]
5381pub struct _GtkTextViewPrivate {
5382    _data: [u8; 0],
5383    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5384}
5385
5386pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5387
5388#[derive(Copy, Clone)]
5389#[repr(C)]
5390pub struct GtkToggleButtonClass {
5391    pub parent_class: GtkButtonClass,
5392    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5393    pub padding: [gpointer; 8],
5394}
5395
5396impl ::std::fmt::Debug for GtkToggleButtonClass {
5397    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5398        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5399            .field("parent_class", &self.parent_class)
5400            .field("toggled", &self.toggled)
5401            .finish()
5402    }
5403}
5404
5405#[derive(Copy, Clone)]
5406#[repr(C)]
5407pub struct GtkTreeDragDestIface {
5408    pub g_iface: gobject::GTypeInterface,
5409    pub drag_data_received: Option<
5410        unsafe extern "C" fn(
5411            *mut GtkTreeDragDest,
5412            *mut GtkTreePath,
5413            *const gobject::GValue,
5414        ) -> gboolean,
5415    >,
5416    pub row_drop_possible: Option<
5417        unsafe extern "C" fn(
5418            *mut GtkTreeDragDest,
5419            *mut GtkTreePath,
5420            *const gobject::GValue,
5421        ) -> gboolean,
5422    >,
5423}
5424
5425impl ::std::fmt::Debug for GtkTreeDragDestIface {
5426    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5427        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5428            .field("drag_data_received", &self.drag_data_received)
5429            .field("row_drop_possible", &self.row_drop_possible)
5430            .finish()
5431    }
5432}
5433
5434#[derive(Copy, Clone)]
5435#[repr(C)]
5436pub struct GtkTreeDragSourceIface {
5437    pub g_iface: gobject::GTypeInterface,
5438    pub row_draggable:
5439        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5440    pub drag_data_get: Option<
5441        unsafe extern "C" fn(
5442            *mut GtkTreeDragSource,
5443            *mut GtkTreePath,
5444        ) -> *mut gdk::GdkContentProvider,
5445    >,
5446    pub drag_data_delete:
5447        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5448}
5449
5450impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5451    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5452        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5453            .field("row_draggable", &self.row_draggable)
5454            .field("drag_data_get", &self.drag_data_get)
5455            .field("drag_data_delete", &self.drag_data_delete)
5456            .finish()
5457    }
5458}
5459
5460#[derive(Copy, Clone)]
5461#[repr(C)]
5462pub struct GtkTreeExpanderClass {
5463    pub parent_class: GtkWidgetClass,
5464}
5465
5466impl ::std::fmt::Debug for GtkTreeExpanderClass {
5467    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5468        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5469            .field("parent_class", &self.parent_class)
5470            .finish()
5471    }
5472}
5473
5474#[derive(Copy, Clone)]
5475#[repr(C)]
5476pub struct GtkTreeIter {
5477    pub stamp: c_int,
5478    pub user_data: gpointer,
5479    pub user_data2: gpointer,
5480    pub user_data3: gpointer,
5481}
5482
5483impl ::std::fmt::Debug for GtkTreeIter {
5484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5485        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5486            .field("stamp", &self.stamp)
5487            .field("user_data", &self.user_data)
5488            .field("user_data2", &self.user_data2)
5489            .field("user_data3", &self.user_data3)
5490            .finish()
5491    }
5492}
5493
5494#[derive(Copy, Clone)]
5495#[repr(C)]
5496pub struct GtkTreeListModelClass {
5497    pub parent_class: gobject::GObjectClass,
5498}
5499
5500impl ::std::fmt::Debug for GtkTreeListModelClass {
5501    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5502        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5503            .field("parent_class", &self.parent_class)
5504            .finish()
5505    }
5506}
5507
5508#[derive(Copy, Clone)]
5509#[repr(C)]
5510pub struct GtkTreeListRowClass {
5511    pub parent_class: gobject::GObjectClass,
5512}
5513
5514impl ::std::fmt::Debug for GtkTreeListRowClass {
5515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5516        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5517            .field("parent_class", &self.parent_class)
5518            .finish()
5519    }
5520}
5521
5522#[derive(Copy, Clone)]
5523#[repr(C)]
5524pub struct GtkTreeListRowSorterClass {
5525    pub parent_class: GtkSorterClass,
5526}
5527
5528impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5530        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5531            .field("parent_class", &self.parent_class)
5532            .finish()
5533    }
5534}
5535
5536#[derive(Copy, Clone)]
5537#[repr(C)]
5538pub struct GtkTreeModelFilterClass {
5539    pub parent_class: gobject::GObjectClass,
5540    pub visible: Option<
5541        unsafe extern "C" fn(
5542            *mut GtkTreeModelFilter,
5543            *mut GtkTreeModel,
5544            *mut GtkTreeIter,
5545        ) -> gboolean,
5546    >,
5547    pub modify: Option<
5548        unsafe extern "C" fn(
5549            *mut GtkTreeModelFilter,
5550            *mut GtkTreeModel,
5551            *mut GtkTreeIter,
5552            *mut gobject::GValue,
5553            c_int,
5554        ),
5555    >,
5556    pub padding: [gpointer; 8],
5557}
5558
5559impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5561        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5562            .field("parent_class", &self.parent_class)
5563            .field("visible", &self.visible)
5564            .field("modify", &self.modify)
5565            .finish()
5566    }
5567}
5568
5569#[repr(C)]
5570#[allow(dead_code)]
5571pub struct _GtkTreeModelFilterPrivate {
5572    _data: [u8; 0],
5573    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5574}
5575
5576pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5577
5578#[derive(Copy, Clone)]
5579#[repr(C)]
5580pub struct GtkTreeModelIface {
5581    pub g_iface: gobject::GTypeInterface,
5582    pub row_changed:
5583        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5584    pub row_inserted:
5585        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5586    pub row_has_child_toggled:
5587        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5588    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5589    pub rows_reordered: Option<
5590        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5591    >,
5592    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5593    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5594    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5595    pub get_iter: Option<
5596        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5597    >,
5598    pub get_path:
5599        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5600    pub get_value: Option<
5601        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5602    >,
5603    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5604    pub iter_previous:
5605        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5606    pub iter_children: Option<
5607        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5608    >,
5609    pub iter_has_child:
5610        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5611    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5612    pub iter_nth_child: Option<
5613        unsafe extern "C" fn(
5614            *mut GtkTreeModel,
5615            *mut GtkTreeIter,
5616            *mut GtkTreeIter,
5617            c_int,
5618        ) -> gboolean,
5619    >,
5620    pub iter_parent: Option<
5621        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5622    >,
5623    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5624    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5625}
5626
5627impl ::std::fmt::Debug for GtkTreeModelIface {
5628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5629        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5630            .field("row_changed", &self.row_changed)
5631            .field("row_inserted", &self.row_inserted)
5632            .field("row_has_child_toggled", &self.row_has_child_toggled)
5633            .field("row_deleted", &self.row_deleted)
5634            .field("rows_reordered", &self.rows_reordered)
5635            .field("get_flags", &self.get_flags)
5636            .field("get_n_columns", &self.get_n_columns)
5637            .field("get_column_type", &self.get_column_type)
5638            .field("get_iter", &self.get_iter)
5639            .field("get_path", &self.get_path)
5640            .field("get_value", &self.get_value)
5641            .field("iter_next", &self.iter_next)
5642            .field("iter_previous", &self.iter_previous)
5643            .field("iter_children", &self.iter_children)
5644            .field("iter_has_child", &self.iter_has_child)
5645            .field("iter_n_children", &self.iter_n_children)
5646            .field("iter_nth_child", &self.iter_nth_child)
5647            .field("iter_parent", &self.iter_parent)
5648            .field("ref_node", &self.ref_node)
5649            .field("unref_node", &self.unref_node)
5650            .finish()
5651    }
5652}
5653
5654#[derive(Copy, Clone)]
5655#[repr(C)]
5656pub struct GtkTreeModelSortClass {
5657    pub parent_class: gobject::GObjectClass,
5658    pub padding: [gpointer; 8],
5659}
5660
5661impl ::std::fmt::Debug for GtkTreeModelSortClass {
5662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5663        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5664            .field("parent_class", &self.parent_class)
5665            .finish()
5666    }
5667}
5668
5669#[repr(C)]
5670#[allow(dead_code)]
5671pub struct _GtkTreeModelSortPrivate {
5672    _data: [u8; 0],
5673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5674}
5675
5676pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5677
5678#[repr(C)]
5679#[allow(dead_code)]
5680pub struct GtkTreePath {
5681    _data: [u8; 0],
5682    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5683}
5684
5685impl ::std::fmt::Debug for GtkTreePath {
5686    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5687        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5688    }
5689}
5690
5691#[repr(C)]
5692#[allow(dead_code)]
5693pub struct GtkTreeRowReference {
5694    _data: [u8; 0],
5695    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5696}
5697
5698impl ::std::fmt::Debug for GtkTreeRowReference {
5699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5700        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5701            .finish()
5702    }
5703}
5704
5705#[derive(Copy, Clone)]
5706#[repr(C)]
5707pub struct GtkTreeSortableIface {
5708    pub g_iface: gobject::GTypeInterface,
5709    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5710    pub get_sort_column_id: Option<
5711        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5712    >,
5713    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5714    pub set_sort_func: Option<
5715        unsafe extern "C" fn(
5716            *mut GtkTreeSortable,
5717            c_int,
5718            GtkTreeIterCompareFunc,
5719            gpointer,
5720            glib::GDestroyNotify,
5721        ),
5722    >,
5723    pub set_default_sort_func: Option<
5724        unsafe extern "C" fn(
5725            *mut GtkTreeSortable,
5726            GtkTreeIterCompareFunc,
5727            gpointer,
5728            glib::GDestroyNotify,
5729        ),
5730    >,
5731    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5732}
5733
5734impl ::std::fmt::Debug for GtkTreeSortableIface {
5735    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5736        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5737            .field("sort_column_changed", &self.sort_column_changed)
5738            .field("get_sort_column_id", &self.get_sort_column_id)
5739            .field("set_sort_column_id", &self.set_sort_column_id)
5740            .field("set_sort_func", &self.set_sort_func)
5741            .field("set_default_sort_func", &self.set_default_sort_func)
5742            .field("has_default_sort_func", &self.has_default_sort_func)
5743            .finish()
5744    }
5745}
5746
5747#[derive(Copy, Clone)]
5748#[repr(C)]
5749pub struct GtkTreeStoreClass {
5750    pub parent_class: gobject::GObjectClass,
5751    pub padding: [gpointer; 8],
5752}
5753
5754impl ::std::fmt::Debug for GtkTreeStoreClass {
5755    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5756        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5757            .field("parent_class", &self.parent_class)
5758            .finish()
5759    }
5760}
5761
5762#[repr(C)]
5763#[allow(dead_code)]
5764pub struct _GtkTreeStorePrivate {
5765    _data: [u8; 0],
5766    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5767}
5768
5769pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5770
5771#[derive(Copy, Clone)]
5772#[repr(C)]
5773pub struct GtkTreeViewClass {
5774    pub parent_class: GtkWidgetClass,
5775    pub row_activated:
5776        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5777    pub test_expand_row: Option<
5778        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5779    >,
5780    pub test_collapse_row: Option<
5781        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5782    >,
5783    pub row_expanded:
5784        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5785    pub row_collapsed:
5786        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5787    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5788    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5789    pub move_cursor: Option<
5790        unsafe extern "C" fn(
5791            *mut GtkTreeView,
5792            GtkMovementStep,
5793            c_int,
5794            gboolean,
5795            gboolean,
5796        ) -> gboolean,
5797    >,
5798    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5799    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5800    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5801    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5802    pub expand_collapse_cursor_row:
5803        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5804    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5805    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5806    pub _reserved: [gpointer; 16],
5807}
5808
5809impl ::std::fmt::Debug for GtkTreeViewClass {
5810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5811        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5812            .field("parent_class", &self.parent_class)
5813            .field("row_activated", &self.row_activated)
5814            .field("test_expand_row", &self.test_expand_row)
5815            .field("test_collapse_row", &self.test_collapse_row)
5816            .field("row_expanded", &self.row_expanded)
5817            .field("row_collapsed", &self.row_collapsed)
5818            .field("columns_changed", &self.columns_changed)
5819            .field("cursor_changed", &self.cursor_changed)
5820            .field("move_cursor", &self.move_cursor)
5821            .field("select_all", &self.select_all)
5822            .field("unselect_all", &self.unselect_all)
5823            .field("select_cursor_row", &self.select_cursor_row)
5824            .field("toggle_cursor_row", &self.toggle_cursor_row)
5825            .field(
5826                "expand_collapse_cursor_row",
5827                &self.expand_collapse_cursor_row,
5828            )
5829            .field("select_cursor_parent", &self.select_cursor_parent)
5830            .field("start_interactive_search", &self.start_interactive_search)
5831            .finish()
5832    }
5833}
5834
5835#[derive(Copy, Clone)]
5836#[repr(C)]
5837pub struct GtkUriLauncherClass {
5838    pub parent_class: gobject::GObjectClass,
5839}
5840
5841impl ::std::fmt::Debug for GtkUriLauncherClass {
5842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5843        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5844            .field("parent_class", &self.parent_class)
5845            .finish()
5846    }
5847}
5848
5849#[derive(Copy, Clone)]
5850#[repr(C)]
5851pub struct GtkVideoClass {
5852    pub parent_class: GtkWidgetClass,
5853}
5854
5855impl ::std::fmt::Debug for GtkVideoClass {
5856    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5857        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5858            .field("parent_class", &self.parent_class)
5859            .finish()
5860    }
5861}
5862
5863#[derive(Copy, Clone)]
5864#[repr(C)]
5865pub struct GtkWidgetClass {
5866    pub parent_class: gobject::GInitiallyUnownedClass,
5867    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5868    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5869    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5870    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5871    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5872    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5873    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5874    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5875    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5876    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5877    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5878    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5879    pub measure: Option<
5880        unsafe extern "C" fn(
5881            *mut GtkWidget,
5882            GtkOrientation,
5883            c_int,
5884            *mut c_int,
5885            *mut c_int,
5886            *mut c_int,
5887            *mut c_int,
5888        ),
5889    >,
5890    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5891    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5892    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5893    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5894    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5895    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5896    pub query_tooltip: Option<
5897        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5898    >,
5899    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5900    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5901    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5902    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5903    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5904    pub priv_: *mut GtkWidgetClassPrivate,
5905    pub padding: [gpointer; 8],
5906}
5907
5908impl ::std::fmt::Debug for GtkWidgetClass {
5909    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5910        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5911            .field("parent_class", &self.parent_class)
5912            .field("show", &self.show)
5913            .field("hide", &self.hide)
5914            .field("map", &self.map)
5915            .field("unmap", &self.unmap)
5916            .field("realize", &self.realize)
5917            .field("unrealize", &self.unrealize)
5918            .field("root", &self.root)
5919            .field("unroot", &self.unroot)
5920            .field("size_allocate", &self.size_allocate)
5921            .field("state_flags_changed", &self.state_flags_changed)
5922            .field("direction_changed", &self.direction_changed)
5923            .field("get_request_mode", &self.get_request_mode)
5924            .field("measure", &self.measure)
5925            .field("mnemonic_activate", &self.mnemonic_activate)
5926            .field("grab_focus", &self.grab_focus)
5927            .field("focus", &self.focus)
5928            .field("set_focus_child", &self.set_focus_child)
5929            .field("move_focus", &self.move_focus)
5930            .field("keynav_failed", &self.keynav_failed)
5931            .field("query_tooltip", &self.query_tooltip)
5932            .field("compute_expand", &self.compute_expand)
5933            .field("css_changed", &self.css_changed)
5934            .field("system_setting_changed", &self.system_setting_changed)
5935            .field("snapshot", &self.snapshot)
5936            .field("contains", &self.contains)
5937            .finish()
5938    }
5939}
5940
5941#[repr(C)]
5942#[allow(dead_code)]
5943pub struct _GtkWidgetClassPrivate {
5944    _data: [u8; 0],
5945    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5946}
5947
5948pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5949
5950#[derive(Copy, Clone)]
5951#[repr(C)]
5952pub struct GtkWidgetPaintableClass {
5953    pub parent_class: gobject::GObjectClass,
5954}
5955
5956impl ::std::fmt::Debug for GtkWidgetPaintableClass {
5957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5958        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
5959            .field("parent_class", &self.parent_class)
5960            .finish()
5961    }
5962}
5963
5964#[repr(C)]
5965#[allow(dead_code)]
5966pub struct _GtkWidgetPrivate {
5967    _data: [u8; 0],
5968    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5969}
5970
5971pub type GtkWidgetPrivate = _GtkWidgetPrivate;
5972
5973#[derive(Copy, Clone)]
5974#[repr(C)]
5975pub struct GtkWindowClass {
5976    pub parent_class: GtkWidgetClass,
5977    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5978    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5979    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
5980    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
5981    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
5982    pub padding: [gpointer; 8],
5983}
5984
5985impl ::std::fmt::Debug for GtkWindowClass {
5986    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5987        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
5988            .field("parent_class", &self.parent_class)
5989            .field("activate_focus", &self.activate_focus)
5990            .field("activate_default", &self.activate_default)
5991            .field("keys_changed", &self.keys_changed)
5992            .field("enable_debugging", &self.enable_debugging)
5993            .field("close_request", &self.close_request)
5994            .finish()
5995    }
5996}
5997
5998#[derive(Copy, Clone)]
5999#[repr(C)]
6000pub struct GtkWindowControlsClass {
6001    pub parent_class: GtkWidgetClass,
6002}
6003
6004impl ::std::fmt::Debug for GtkWindowControlsClass {
6005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6006        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
6007            .field("parent_class", &self.parent_class)
6008            .finish()
6009    }
6010}
6011
6012#[derive(Copy, Clone)]
6013#[repr(C)]
6014pub struct GtkWindowGroupClass {
6015    pub parent_class: gobject::GObjectClass,
6016    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6017    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6018    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6019    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6020}
6021
6022impl ::std::fmt::Debug for GtkWindowGroupClass {
6023    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6024        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
6025            .field("parent_class", &self.parent_class)
6026            .field("_gtk_reserved1", &self._gtk_reserved1)
6027            .field("_gtk_reserved2", &self._gtk_reserved2)
6028            .field("_gtk_reserved3", &self._gtk_reserved3)
6029            .field("_gtk_reserved4", &self._gtk_reserved4)
6030            .finish()
6031    }
6032}
6033
6034#[repr(C)]
6035#[allow(dead_code)]
6036pub struct _GtkWindowGroupPrivate {
6037    _data: [u8; 0],
6038    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6039}
6040
6041pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
6042
6043#[derive(Copy, Clone)]
6044#[repr(C)]
6045pub struct GtkWindowHandleClass {
6046    pub parent_class: GtkWidgetClass,
6047}
6048
6049impl ::std::fmt::Debug for GtkWindowHandleClass {
6050    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6051        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
6052            .field("parent_class", &self.parent_class)
6053            .finish()
6054    }
6055}
6056
6057// Classes
6058#[repr(C)]
6059#[allow(dead_code)]
6060pub struct GtkATContext {
6061    _data: [u8; 0],
6062    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6063}
6064
6065impl ::std::fmt::Debug for GtkATContext {
6066    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6067        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
6068    }
6069}
6070
6071#[repr(C)]
6072#[allow(dead_code)]
6073pub struct GtkAboutDialog {
6074    _data: [u8; 0],
6075    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6076}
6077
6078impl ::std::fmt::Debug for GtkAboutDialog {
6079    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6080        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
6081            .finish()
6082    }
6083}
6084
6085#[repr(C)]
6086#[allow(dead_code)]
6087pub struct GtkAccessibleHyperlink {
6088    _data: [u8; 0],
6089    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6090}
6091
6092impl ::std::fmt::Debug for GtkAccessibleHyperlink {
6093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6094        f.debug_struct(&format!("GtkAccessibleHyperlink @ {self:p}"))
6095            .finish()
6096    }
6097}
6098
6099#[repr(C)]
6100#[allow(dead_code)]
6101pub struct GtkActionBar {
6102    _data: [u8; 0],
6103    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6104}
6105
6106impl ::std::fmt::Debug for GtkActionBar {
6107    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6108        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
6109    }
6110}
6111
6112#[repr(C)]
6113#[allow(dead_code)]
6114pub struct GtkActivateAction {
6115    _data: [u8; 0],
6116    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6117}
6118
6119impl ::std::fmt::Debug for GtkActivateAction {
6120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6121        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
6122            .finish()
6123    }
6124}
6125
6126#[derive(Copy, Clone)]
6127#[repr(C)]
6128pub struct GtkAdjustment {
6129    pub parent_instance: gobject::GInitiallyUnowned,
6130}
6131
6132impl ::std::fmt::Debug for GtkAdjustment {
6133    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6134        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
6135            .field("parent_instance", &self.parent_instance)
6136            .finish()
6137    }
6138}
6139
6140#[repr(C)]
6141#[allow(dead_code)]
6142pub struct GtkAlertDialog {
6143    _data: [u8; 0],
6144    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6145}
6146
6147impl ::std::fmt::Debug for GtkAlertDialog {
6148    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6149        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
6150            .finish()
6151    }
6152}
6153
6154#[repr(C)]
6155#[allow(dead_code)]
6156pub struct GtkAlternativeTrigger {
6157    _data: [u8; 0],
6158    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6159}
6160
6161impl ::std::fmt::Debug for GtkAlternativeTrigger {
6162    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6163        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
6164            .finish()
6165    }
6166}
6167
6168#[repr(C)]
6169#[allow(dead_code)]
6170pub struct GtkAnyFilter {
6171    _data: [u8; 0],
6172    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6173}
6174
6175impl ::std::fmt::Debug for GtkAnyFilter {
6176    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6177        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
6178    }
6179}
6180
6181#[repr(C)]
6182#[allow(dead_code)]
6183pub struct GtkAppChooserButton {
6184    _data: [u8; 0],
6185    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6186}
6187
6188impl ::std::fmt::Debug for GtkAppChooserButton {
6189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6190        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
6191            .finish()
6192    }
6193}
6194
6195#[repr(C)]
6196#[allow(dead_code)]
6197pub struct GtkAppChooserDialog {
6198    _data: [u8; 0],
6199    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6200}
6201
6202impl ::std::fmt::Debug for GtkAppChooserDialog {
6203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6204        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
6205            .finish()
6206    }
6207}
6208
6209#[repr(C)]
6210#[allow(dead_code)]
6211pub struct GtkAppChooserWidget {
6212    _data: [u8; 0],
6213    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6214}
6215
6216impl ::std::fmt::Debug for GtkAppChooserWidget {
6217    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6218        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
6219            .finish()
6220    }
6221}
6222
6223#[derive(Copy, Clone)]
6224#[repr(C)]
6225pub struct GtkApplication {
6226    pub parent_instance: gio::GApplication,
6227}
6228
6229impl ::std::fmt::Debug for GtkApplication {
6230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6231        f.debug_struct(&format!("GtkApplication @ {self:p}"))
6232            .field("parent_instance", &self.parent_instance)
6233            .finish()
6234    }
6235}
6236
6237#[derive(Copy, Clone)]
6238#[repr(C)]
6239pub struct GtkApplicationWindow {
6240    pub parent_instance: GtkWindow,
6241}
6242
6243impl ::std::fmt::Debug for GtkApplicationWindow {
6244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6245        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
6246            .field("parent_instance", &self.parent_instance)
6247            .finish()
6248    }
6249}
6250
6251#[repr(C)]
6252#[allow(dead_code)]
6253pub struct GtkAspectFrame {
6254    _data: [u8; 0],
6255    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6256}
6257
6258impl ::std::fmt::Debug for GtkAspectFrame {
6259    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6260        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6261            .finish()
6262    }
6263}
6264
6265#[repr(C)]
6266#[allow(dead_code)]
6267pub struct GtkAssistant {
6268    _data: [u8; 0],
6269    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6270}
6271
6272impl ::std::fmt::Debug for GtkAssistant {
6273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6274        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6275    }
6276}
6277
6278#[repr(C)]
6279#[allow(dead_code)]
6280pub struct GtkAssistantPage {
6281    _data: [u8; 0],
6282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6283}
6284
6285impl ::std::fmt::Debug for GtkAssistantPage {
6286    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6287        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6288            .finish()
6289    }
6290}
6291
6292#[repr(C)]
6293#[allow(dead_code)]
6294pub struct GtkBinLayout {
6295    _data: [u8; 0],
6296    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6297}
6298
6299impl ::std::fmt::Debug for GtkBinLayout {
6300    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6301        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6302    }
6303}
6304
6305#[repr(C)]
6306#[allow(dead_code)]
6307pub struct GtkBookmarkList {
6308    _data: [u8; 0],
6309    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6310}
6311
6312impl ::std::fmt::Debug for GtkBookmarkList {
6313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6314        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6315            .finish()
6316    }
6317}
6318
6319#[repr(C)]
6320#[allow(dead_code)]
6321pub struct GtkBoolFilter {
6322    _data: [u8; 0],
6323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6324}
6325
6326impl ::std::fmt::Debug for GtkBoolFilter {
6327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6328        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6329            .finish()
6330    }
6331}
6332
6333#[derive(Copy, Clone)]
6334#[repr(C)]
6335pub struct GtkBox {
6336    pub parent_instance: GtkWidget,
6337}
6338
6339impl ::std::fmt::Debug for GtkBox {
6340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6341        f.debug_struct(&format!("GtkBox @ {self:p}"))
6342            .field("parent_instance", &self.parent_instance)
6343            .finish()
6344    }
6345}
6346
6347#[repr(C)]
6348#[allow(dead_code)]
6349pub struct GtkBoxLayout {
6350    _data: [u8; 0],
6351    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6352}
6353
6354impl ::std::fmt::Debug for GtkBoxLayout {
6355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6356        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6357    }
6358}
6359
6360#[repr(C)]
6361#[allow(dead_code)]
6362pub struct GtkBuilder {
6363    _data: [u8; 0],
6364    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6365}
6366
6367impl ::std::fmt::Debug for GtkBuilder {
6368    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6369        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6370    }
6371}
6372
6373#[derive(Copy, Clone)]
6374#[repr(C)]
6375pub struct GtkBuilderCScope {
6376    pub parent_instance: gobject::GObject,
6377}
6378
6379impl ::std::fmt::Debug for GtkBuilderCScope {
6380    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6381        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6382            .field("parent_instance", &self.parent_instance)
6383            .finish()
6384    }
6385}
6386
6387#[repr(C)]
6388#[allow(dead_code)]
6389pub struct GtkBuilderListItemFactory {
6390    _data: [u8; 0],
6391    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6392}
6393
6394impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6396        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6397            .finish()
6398    }
6399}
6400
6401#[derive(Copy, Clone)]
6402#[repr(C)]
6403pub struct GtkButton {
6404    pub parent_instance: GtkWidget,
6405}
6406
6407impl ::std::fmt::Debug for GtkButton {
6408    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6409        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6410    }
6411}
6412
6413#[repr(C)]
6414#[allow(dead_code)]
6415pub struct GtkCClosureExpression {
6416    _data: [u8; 0],
6417    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6418}
6419
6420impl ::std::fmt::Debug for GtkCClosureExpression {
6421    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6422        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6423            .finish()
6424    }
6425}
6426
6427#[repr(C)]
6428#[allow(dead_code)]
6429pub struct GtkCalendar {
6430    _data: [u8; 0],
6431    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6432}
6433
6434impl ::std::fmt::Debug for GtkCalendar {
6435    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6436        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6437    }
6438}
6439
6440#[repr(C)]
6441#[allow(dead_code)]
6442pub struct GtkCallbackAction {
6443    _data: [u8; 0],
6444    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6445}
6446
6447impl ::std::fmt::Debug for GtkCallbackAction {
6448    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6449        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6450            .finish()
6451    }
6452}
6453
6454#[derive(Copy, Clone)]
6455#[repr(C)]
6456pub struct GtkCellArea {
6457    pub parent_instance: gobject::GInitiallyUnowned,
6458}
6459
6460impl ::std::fmt::Debug for GtkCellArea {
6461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6462        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6463    }
6464}
6465
6466#[repr(C)]
6467#[allow(dead_code)]
6468pub struct GtkCellAreaBox {
6469    _data: [u8; 0],
6470    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6471}
6472
6473impl ::std::fmt::Debug for GtkCellAreaBox {
6474    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6475        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6476            .finish()
6477    }
6478}
6479
6480#[derive(Copy, Clone)]
6481#[repr(C)]
6482pub struct GtkCellAreaContext {
6483    pub parent_instance: gobject::GObject,
6484}
6485
6486impl ::std::fmt::Debug for GtkCellAreaContext {
6487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6488        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6489            .finish()
6490    }
6491}
6492
6493#[derive(Copy, Clone)]
6494#[repr(C)]
6495pub struct GtkCellRenderer {
6496    pub parent_instance: gobject::GInitiallyUnowned,
6497    pub priv_: *mut GtkCellRendererPrivate,
6498}
6499
6500impl ::std::fmt::Debug for GtkCellRenderer {
6501    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6502        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6503            .field("parent_instance", &self.parent_instance)
6504            .finish()
6505    }
6506}
6507
6508#[repr(C)]
6509#[allow(dead_code)]
6510pub struct GtkCellRendererAccel {
6511    _data: [u8; 0],
6512    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6513}
6514
6515impl ::std::fmt::Debug for GtkCellRendererAccel {
6516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6517        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6518            .finish()
6519    }
6520}
6521
6522#[repr(C)]
6523#[allow(dead_code)]
6524pub struct GtkCellRendererCombo {
6525    _data: [u8; 0],
6526    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6527}
6528
6529impl ::std::fmt::Debug for GtkCellRendererCombo {
6530    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6531        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6532            .finish()
6533    }
6534}
6535
6536#[repr(C)]
6537#[allow(dead_code)]
6538pub struct GtkCellRendererPixbuf {
6539    _data: [u8; 0],
6540    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6541}
6542
6543impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6544    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6545        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6546            .finish()
6547    }
6548}
6549
6550#[repr(C)]
6551#[allow(dead_code)]
6552pub struct GtkCellRendererProgress {
6553    _data: [u8; 0],
6554    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6555}
6556
6557impl ::std::fmt::Debug for GtkCellRendererProgress {
6558    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6559        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6560            .finish()
6561    }
6562}
6563
6564#[repr(C)]
6565#[allow(dead_code)]
6566pub struct GtkCellRendererSpin {
6567    _data: [u8; 0],
6568    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6569}
6570
6571impl ::std::fmt::Debug for GtkCellRendererSpin {
6572    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6573        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6574            .finish()
6575    }
6576}
6577
6578#[repr(C)]
6579#[allow(dead_code)]
6580pub struct GtkCellRendererSpinner {
6581    _data: [u8; 0],
6582    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6583}
6584
6585impl ::std::fmt::Debug for GtkCellRendererSpinner {
6586    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6587        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6588            .finish()
6589    }
6590}
6591
6592#[derive(Copy, Clone)]
6593#[repr(C)]
6594pub struct GtkCellRendererText {
6595    pub parent: GtkCellRenderer,
6596}
6597
6598impl ::std::fmt::Debug for GtkCellRendererText {
6599    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6600        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6601            .field("parent", &self.parent)
6602            .finish()
6603    }
6604}
6605
6606#[repr(C)]
6607#[allow(dead_code)]
6608pub struct GtkCellRendererToggle {
6609    _data: [u8; 0],
6610    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6611}
6612
6613impl ::std::fmt::Debug for GtkCellRendererToggle {
6614    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6615        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6616            .finish()
6617    }
6618}
6619
6620#[repr(C)]
6621#[allow(dead_code)]
6622pub struct GtkCellView {
6623    _data: [u8; 0],
6624    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6625}
6626
6627impl ::std::fmt::Debug for GtkCellView {
6628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6629        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6630    }
6631}
6632
6633#[repr(C)]
6634#[allow(dead_code)]
6635pub struct GtkCenterBox {
6636    _data: [u8; 0],
6637    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6638}
6639
6640impl ::std::fmt::Debug for GtkCenterBox {
6641    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6642        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6643    }
6644}
6645
6646#[repr(C)]
6647#[allow(dead_code)]
6648pub struct GtkCenterLayout {
6649    _data: [u8; 0],
6650    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6651}
6652
6653impl ::std::fmt::Debug for GtkCenterLayout {
6654    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6655        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6656            .finish()
6657    }
6658}
6659
6660#[derive(Copy, Clone)]
6661#[repr(C)]
6662pub struct GtkCheckButton {
6663    pub parent_instance: GtkWidget,
6664}
6665
6666impl ::std::fmt::Debug for GtkCheckButton {
6667    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6668        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6669            .field("parent_instance", &self.parent_instance)
6670            .finish()
6671    }
6672}
6673
6674#[repr(C)]
6675#[allow(dead_code)]
6676pub struct GtkClosureExpression {
6677    _data: [u8; 0],
6678    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6679}
6680
6681impl ::std::fmt::Debug for GtkClosureExpression {
6682    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6683        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6684            .finish()
6685    }
6686}
6687
6688#[repr(C)]
6689#[allow(dead_code)]
6690pub struct GtkColorButton {
6691    _data: [u8; 0],
6692    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6693}
6694
6695impl ::std::fmt::Debug for GtkColorButton {
6696    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6697        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6698            .finish()
6699    }
6700}
6701
6702#[repr(C)]
6703#[allow(dead_code)]
6704pub struct GtkColorChooserDialog {
6705    _data: [u8; 0],
6706    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6707}
6708
6709impl ::std::fmt::Debug for GtkColorChooserDialog {
6710    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6711        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6712            .finish()
6713    }
6714}
6715
6716#[repr(C)]
6717#[allow(dead_code)]
6718pub struct GtkColorChooserWidget {
6719    _data: [u8; 0],
6720    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6721}
6722
6723impl ::std::fmt::Debug for GtkColorChooserWidget {
6724    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6725        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6726            .finish()
6727    }
6728}
6729
6730#[repr(C)]
6731#[allow(dead_code)]
6732pub struct GtkColorDialog {
6733    _data: [u8; 0],
6734    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6735}
6736
6737impl ::std::fmt::Debug for GtkColorDialog {
6738    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6739        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6740            .finish()
6741    }
6742}
6743
6744#[repr(C)]
6745#[allow(dead_code)]
6746pub struct GtkColorDialogButton {
6747    _data: [u8; 0],
6748    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6749}
6750
6751impl ::std::fmt::Debug for GtkColorDialogButton {
6752    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6753        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6754            .finish()
6755    }
6756}
6757
6758#[repr(C)]
6759#[allow(dead_code)]
6760pub struct GtkColumnView {
6761    _data: [u8; 0],
6762    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6763}
6764
6765impl ::std::fmt::Debug for GtkColumnView {
6766    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6767        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6768            .finish()
6769    }
6770}
6771
6772#[repr(C)]
6773#[allow(dead_code)]
6774pub struct GtkColumnViewCell {
6775    _data: [u8; 0],
6776    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6777}
6778
6779impl ::std::fmt::Debug for GtkColumnViewCell {
6780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6781        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6782            .finish()
6783    }
6784}
6785
6786#[repr(C)]
6787#[allow(dead_code)]
6788pub struct GtkColumnViewColumn {
6789    _data: [u8; 0],
6790    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6791}
6792
6793impl ::std::fmt::Debug for GtkColumnViewColumn {
6794    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6795        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6796            .finish()
6797    }
6798}
6799
6800#[repr(C)]
6801#[allow(dead_code)]
6802pub struct GtkColumnViewRow {
6803    _data: [u8; 0],
6804    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6805}
6806
6807impl ::std::fmt::Debug for GtkColumnViewRow {
6808    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6809        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6810            .finish()
6811    }
6812}
6813
6814#[repr(C)]
6815#[allow(dead_code)]
6816pub struct GtkColumnViewSorter {
6817    _data: [u8; 0],
6818    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6819}
6820
6821impl ::std::fmt::Debug for GtkColumnViewSorter {
6822    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6823        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6824            .finish()
6825    }
6826}
6827
6828#[derive(Copy, Clone)]
6829#[repr(C)]
6830pub struct GtkComboBox {
6831    pub parent_instance: GtkWidget,
6832}
6833
6834impl ::std::fmt::Debug for GtkComboBox {
6835    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6836        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6837            .field("parent_instance", &self.parent_instance)
6838            .finish()
6839    }
6840}
6841
6842#[repr(C)]
6843#[allow(dead_code)]
6844pub struct GtkComboBoxText {
6845    _data: [u8; 0],
6846    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6847}
6848
6849impl ::std::fmt::Debug for GtkComboBoxText {
6850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6851        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6852            .finish()
6853    }
6854}
6855
6856#[repr(C)]
6857#[allow(dead_code)]
6858pub struct GtkConstantExpression {
6859    _data: [u8; 0],
6860    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6861}
6862
6863impl ::std::fmt::Debug for GtkConstantExpression {
6864    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6865        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6866            .finish()
6867    }
6868}
6869
6870#[repr(C)]
6871#[allow(dead_code)]
6872pub struct GtkConstraint {
6873    _data: [u8; 0],
6874    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6875}
6876
6877impl ::std::fmt::Debug for GtkConstraint {
6878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6879        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6880            .finish()
6881    }
6882}
6883
6884#[repr(C)]
6885#[allow(dead_code)]
6886pub struct GtkConstraintGuide {
6887    _data: [u8; 0],
6888    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6889}
6890
6891impl ::std::fmt::Debug for GtkConstraintGuide {
6892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6893        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6894            .finish()
6895    }
6896}
6897
6898#[repr(C)]
6899#[allow(dead_code)]
6900pub struct GtkConstraintLayout {
6901    _data: [u8; 0],
6902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6903}
6904
6905impl ::std::fmt::Debug for GtkConstraintLayout {
6906    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6907        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6908            .finish()
6909    }
6910}
6911
6912#[repr(C)]
6913#[allow(dead_code)]
6914pub struct GtkConstraintLayoutChild {
6915    _data: [u8; 0],
6916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6917}
6918
6919impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6921        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6922            .finish()
6923    }
6924}
6925
6926#[derive(Copy, Clone)]
6927#[repr(C)]
6928pub struct GtkCssProvider {
6929    pub parent_instance: gobject::GObject,
6930}
6931
6932impl ::std::fmt::Debug for GtkCssProvider {
6933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6934        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6935            .field("parent_instance", &self.parent_instance)
6936            .finish()
6937    }
6938}
6939
6940#[repr(C)]
6941#[allow(dead_code)]
6942pub struct GtkCustomFilter {
6943    _data: [u8; 0],
6944    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6945}
6946
6947impl ::std::fmt::Debug for GtkCustomFilter {
6948    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6949        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
6950            .finish()
6951    }
6952}
6953
6954#[repr(C)]
6955#[allow(dead_code)]
6956pub struct GtkCustomLayout {
6957    _data: [u8; 0],
6958    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6959}
6960
6961impl ::std::fmt::Debug for GtkCustomLayout {
6962    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6963        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
6964            .finish()
6965    }
6966}
6967
6968#[repr(C)]
6969#[allow(dead_code)]
6970pub struct GtkCustomSorter {
6971    _data: [u8; 0],
6972    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6973}
6974
6975impl ::std::fmt::Debug for GtkCustomSorter {
6976    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6977        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
6978            .finish()
6979    }
6980}
6981
6982#[derive(Copy, Clone)]
6983#[repr(C)]
6984pub struct GtkDialog {
6985    pub parent_instance: GtkWindow,
6986}
6987
6988impl ::std::fmt::Debug for GtkDialog {
6989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6990        f.debug_struct(&format!("GtkDialog @ {self:p}"))
6991            .field("parent_instance", &self.parent_instance)
6992            .finish()
6993    }
6994}
6995
6996#[repr(C)]
6997#[allow(dead_code)]
6998pub struct GtkDirectoryList {
6999    _data: [u8; 0],
7000    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7001}
7002
7003impl ::std::fmt::Debug for GtkDirectoryList {
7004    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7005        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
7006            .finish()
7007    }
7008}
7009
7010#[repr(C)]
7011#[allow(dead_code)]
7012pub struct GtkDragIcon {
7013    _data: [u8; 0],
7014    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7015}
7016
7017impl ::std::fmt::Debug for GtkDragIcon {
7018    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7019        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
7020    }
7021}
7022
7023#[repr(C)]
7024#[allow(dead_code)]
7025pub struct GtkDragSource {
7026    _data: [u8; 0],
7027    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7028}
7029
7030impl ::std::fmt::Debug for GtkDragSource {
7031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7032        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
7033            .finish()
7034    }
7035}
7036
7037#[derive(Copy, Clone)]
7038#[repr(C)]
7039pub struct GtkDrawingArea {
7040    pub widget: GtkWidget,
7041}
7042
7043impl ::std::fmt::Debug for GtkDrawingArea {
7044    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7045        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
7046            .field("widget", &self.widget)
7047            .finish()
7048    }
7049}
7050
7051#[repr(C)]
7052#[allow(dead_code)]
7053pub struct GtkDropControllerMotion {
7054    _data: [u8; 0],
7055    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7056}
7057
7058impl ::std::fmt::Debug for GtkDropControllerMotion {
7059    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7060        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
7061            .finish()
7062    }
7063}
7064
7065#[repr(C)]
7066#[allow(dead_code)]
7067pub struct GtkDropDown {
7068    _data: [u8; 0],
7069    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7070}
7071
7072impl ::std::fmt::Debug for GtkDropDown {
7073    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7074        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
7075    }
7076}
7077
7078#[repr(C)]
7079#[allow(dead_code)]
7080pub struct GtkDropTarget {
7081    _data: [u8; 0],
7082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7083}
7084
7085impl ::std::fmt::Debug for GtkDropTarget {
7086    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7087        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
7088            .finish()
7089    }
7090}
7091
7092#[repr(C)]
7093#[allow(dead_code)]
7094pub struct GtkDropTargetAsync {
7095    _data: [u8; 0],
7096    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7097}
7098
7099impl ::std::fmt::Debug for GtkDropTargetAsync {
7100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7101        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
7102            .finish()
7103    }
7104}
7105
7106#[repr(C)]
7107#[allow(dead_code)]
7108pub struct GtkEditableLabel {
7109    _data: [u8; 0],
7110    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7111}
7112
7113impl ::std::fmt::Debug for GtkEditableLabel {
7114    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7115        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
7116            .finish()
7117    }
7118}
7119
7120#[repr(C)]
7121#[allow(dead_code)]
7122pub struct GtkEmojiChooser {
7123    _data: [u8; 0],
7124    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7125}
7126
7127impl ::std::fmt::Debug for GtkEmojiChooser {
7128    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7129        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
7130            .finish()
7131    }
7132}
7133
7134#[derive(Copy, Clone)]
7135#[repr(C)]
7136pub struct GtkEntry {
7137    pub parent_instance: GtkWidget,
7138}
7139
7140impl ::std::fmt::Debug for GtkEntry {
7141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7142        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
7143    }
7144}
7145
7146#[derive(Copy, Clone)]
7147#[repr(C)]
7148pub struct GtkEntryBuffer {
7149    pub parent_instance: gobject::GObject,
7150}
7151
7152impl ::std::fmt::Debug for GtkEntryBuffer {
7153    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7154        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
7155            .field("parent_instance", &self.parent_instance)
7156            .finish()
7157    }
7158}
7159
7160#[repr(C)]
7161#[allow(dead_code)]
7162pub struct GtkEntryCompletion {
7163    _data: [u8; 0],
7164    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7165}
7166
7167impl ::std::fmt::Debug for GtkEntryCompletion {
7168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7169        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
7170            .finish()
7171    }
7172}
7173
7174#[repr(C)]
7175#[allow(dead_code)]
7176pub struct GtkEventController {
7177    _data: [u8; 0],
7178    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7179}
7180
7181impl ::std::fmt::Debug for GtkEventController {
7182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7183        f.debug_struct(&format!("GtkEventController @ {self:p}"))
7184            .finish()
7185    }
7186}
7187
7188#[repr(C)]
7189#[allow(dead_code)]
7190pub struct GtkEventControllerFocus {
7191    _data: [u8; 0],
7192    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7193}
7194
7195impl ::std::fmt::Debug for GtkEventControllerFocus {
7196    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7197        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
7198            .finish()
7199    }
7200}
7201
7202#[repr(C)]
7203#[allow(dead_code)]
7204pub struct GtkEventControllerKey {
7205    _data: [u8; 0],
7206    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7207}
7208
7209impl ::std::fmt::Debug for GtkEventControllerKey {
7210    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7211        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
7212            .finish()
7213    }
7214}
7215
7216#[repr(C)]
7217#[allow(dead_code)]
7218pub struct GtkEventControllerLegacy {
7219    _data: [u8; 0],
7220    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7221}
7222
7223impl ::std::fmt::Debug for GtkEventControllerLegacy {
7224    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7225        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
7226            .finish()
7227    }
7228}
7229
7230#[repr(C)]
7231#[allow(dead_code)]
7232pub struct GtkEventControllerMotion {
7233    _data: [u8; 0],
7234    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7235}
7236
7237impl ::std::fmt::Debug for GtkEventControllerMotion {
7238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7239        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
7240            .finish()
7241    }
7242}
7243
7244#[repr(C)]
7245#[allow(dead_code)]
7246pub struct GtkEventControllerScroll {
7247    _data: [u8; 0],
7248    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7249}
7250
7251impl ::std::fmt::Debug for GtkEventControllerScroll {
7252    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7253        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7254            .finish()
7255    }
7256}
7257
7258#[repr(C)]
7259#[allow(dead_code)]
7260pub struct GtkEveryFilter {
7261    _data: [u8; 0],
7262    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7263}
7264
7265impl ::std::fmt::Debug for GtkEveryFilter {
7266    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7267        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7268            .finish()
7269    }
7270}
7271
7272#[repr(C)]
7273#[allow(dead_code)]
7274pub struct GtkExpander {
7275    _data: [u8; 0],
7276    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7277}
7278
7279impl ::std::fmt::Debug for GtkExpander {
7280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7281        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7282    }
7283}
7284
7285#[repr(C)]
7286#[allow(dead_code)]
7287pub struct GtkExpression {
7288    _data: [u8; 0],
7289    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7290}
7291
7292impl ::std::fmt::Debug for GtkExpression {
7293    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7294        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7295            .finish()
7296    }
7297}
7298
7299#[repr(C)]
7300#[allow(dead_code)]
7301pub struct GtkFileChooserDialog {
7302    _data: [u8; 0],
7303    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7304}
7305
7306impl ::std::fmt::Debug for GtkFileChooserDialog {
7307    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7308        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7309            .finish()
7310    }
7311}
7312
7313#[repr(C)]
7314#[allow(dead_code)]
7315pub struct GtkFileChooserNative {
7316    _data: [u8; 0],
7317    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7318}
7319
7320impl ::std::fmt::Debug for GtkFileChooserNative {
7321    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7322        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7323            .finish()
7324    }
7325}
7326
7327#[repr(C)]
7328#[allow(dead_code)]
7329pub struct GtkFileChooserWidget {
7330    _data: [u8; 0],
7331    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7332}
7333
7334impl ::std::fmt::Debug for GtkFileChooserWidget {
7335    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7336        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7337            .finish()
7338    }
7339}
7340
7341#[repr(C)]
7342#[allow(dead_code)]
7343pub struct GtkFileDialog {
7344    _data: [u8; 0],
7345    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7346}
7347
7348impl ::std::fmt::Debug for GtkFileDialog {
7349    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7350        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7351            .finish()
7352    }
7353}
7354
7355#[repr(C)]
7356#[allow(dead_code)]
7357pub struct GtkFileFilter {
7358    _data: [u8; 0],
7359    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7360}
7361
7362impl ::std::fmt::Debug for GtkFileFilter {
7363    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7364        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7365            .finish()
7366    }
7367}
7368
7369#[repr(C)]
7370#[allow(dead_code)]
7371pub struct GtkFileLauncher {
7372    _data: [u8; 0],
7373    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7374}
7375
7376impl ::std::fmt::Debug for GtkFileLauncher {
7377    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7378        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7379            .finish()
7380    }
7381}
7382
7383#[derive(Copy, Clone)]
7384#[repr(C)]
7385pub struct GtkFilter {
7386    pub parent_instance: gobject::GObject,
7387}
7388
7389impl ::std::fmt::Debug for GtkFilter {
7390    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7391        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7392            .field("parent_instance", &self.parent_instance)
7393            .finish()
7394    }
7395}
7396
7397#[repr(C)]
7398#[allow(dead_code)]
7399pub struct GtkFilterListModel {
7400    _data: [u8; 0],
7401    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7402}
7403
7404impl ::std::fmt::Debug for GtkFilterListModel {
7405    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7406        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7407            .finish()
7408    }
7409}
7410
7411#[derive(Copy, Clone)]
7412#[repr(C)]
7413pub struct GtkFixed {
7414    pub parent_instance: GtkWidget,
7415}
7416
7417impl ::std::fmt::Debug for GtkFixed {
7418    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7419        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7420            .field("parent_instance", &self.parent_instance)
7421            .finish()
7422    }
7423}
7424
7425#[repr(C)]
7426#[allow(dead_code)]
7427pub struct GtkFixedLayout {
7428    _data: [u8; 0],
7429    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7430}
7431
7432impl ::std::fmt::Debug for GtkFixedLayout {
7433    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7434        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7435            .finish()
7436    }
7437}
7438
7439#[repr(C)]
7440#[allow(dead_code)]
7441pub struct GtkFixedLayoutChild {
7442    _data: [u8; 0],
7443    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7444}
7445
7446impl ::std::fmt::Debug for GtkFixedLayoutChild {
7447    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7448        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7449            .finish()
7450    }
7451}
7452
7453#[repr(C)]
7454#[allow(dead_code)]
7455pub struct GtkFlattenListModel {
7456    _data: [u8; 0],
7457    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7458}
7459
7460impl ::std::fmt::Debug for GtkFlattenListModel {
7461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7462        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7463            .finish()
7464    }
7465}
7466
7467#[repr(C)]
7468#[allow(dead_code)]
7469pub struct GtkFlowBox {
7470    _data: [u8; 0],
7471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7472}
7473
7474impl ::std::fmt::Debug for GtkFlowBox {
7475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7476        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7477    }
7478}
7479
7480#[derive(Copy, Clone)]
7481#[repr(C)]
7482pub struct GtkFlowBoxChild {
7483    pub parent_instance: GtkWidget,
7484}
7485
7486impl ::std::fmt::Debug for GtkFlowBoxChild {
7487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7488        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7489            .finish()
7490    }
7491}
7492
7493#[repr(C)]
7494#[allow(dead_code)]
7495pub struct GtkFontButton {
7496    _data: [u8; 0],
7497    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7498}
7499
7500impl ::std::fmt::Debug for GtkFontButton {
7501    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7502        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7503            .finish()
7504    }
7505}
7506
7507#[repr(C)]
7508#[allow(dead_code)]
7509pub struct GtkFontChooserDialog {
7510    _data: [u8; 0],
7511    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7512}
7513
7514impl ::std::fmt::Debug for GtkFontChooserDialog {
7515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7516        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7517            .finish()
7518    }
7519}
7520
7521#[repr(C)]
7522#[allow(dead_code)]
7523pub struct GtkFontChooserWidget {
7524    _data: [u8; 0],
7525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7526}
7527
7528impl ::std::fmt::Debug for GtkFontChooserWidget {
7529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7530        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7531            .finish()
7532    }
7533}
7534
7535#[repr(C)]
7536#[allow(dead_code)]
7537pub struct GtkFontDialog {
7538    _data: [u8; 0],
7539    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7540}
7541
7542impl ::std::fmt::Debug for GtkFontDialog {
7543    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7544        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7545            .finish()
7546    }
7547}
7548
7549#[repr(C)]
7550#[allow(dead_code)]
7551pub struct GtkFontDialogButton {
7552    _data: [u8; 0],
7553    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7554}
7555
7556impl ::std::fmt::Debug for GtkFontDialogButton {
7557    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7558        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7559            .finish()
7560    }
7561}
7562
7563#[derive(Copy, Clone)]
7564#[repr(C)]
7565pub struct GtkFrame {
7566    pub parent_instance: GtkWidget,
7567}
7568
7569impl ::std::fmt::Debug for GtkFrame {
7570    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7571        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7572            .field("parent_instance", &self.parent_instance)
7573            .finish()
7574    }
7575}
7576
7577#[derive(Copy, Clone)]
7578#[repr(C)]
7579pub struct GtkGLArea {
7580    pub parent_instance: GtkWidget,
7581}
7582
7583impl ::std::fmt::Debug for GtkGLArea {
7584    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7585        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7586    }
7587}
7588
7589#[repr(C)]
7590#[allow(dead_code)]
7591pub struct GtkGesture {
7592    _data: [u8; 0],
7593    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7594}
7595
7596impl ::std::fmt::Debug for GtkGesture {
7597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7598        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7599    }
7600}
7601
7602#[repr(C)]
7603#[allow(dead_code)]
7604pub struct GtkGestureClick {
7605    _data: [u8; 0],
7606    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7607}
7608
7609impl ::std::fmt::Debug for GtkGestureClick {
7610    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7611        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7612            .finish()
7613    }
7614}
7615
7616#[repr(C)]
7617#[allow(dead_code)]
7618pub struct GtkGestureDrag {
7619    _data: [u8; 0],
7620    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7621}
7622
7623impl ::std::fmt::Debug for GtkGestureDrag {
7624    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7625        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7626            .finish()
7627    }
7628}
7629
7630#[repr(C)]
7631#[allow(dead_code)]
7632pub struct GtkGestureLongPress {
7633    _data: [u8; 0],
7634    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7635}
7636
7637impl ::std::fmt::Debug for GtkGestureLongPress {
7638    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7639        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7640            .finish()
7641    }
7642}
7643
7644#[repr(C)]
7645#[allow(dead_code)]
7646pub struct GtkGesturePan {
7647    _data: [u8; 0],
7648    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7649}
7650
7651impl ::std::fmt::Debug for GtkGesturePan {
7652    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7653        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7654            .finish()
7655    }
7656}
7657
7658#[repr(C)]
7659#[allow(dead_code)]
7660pub struct GtkGestureRotate {
7661    _data: [u8; 0],
7662    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7663}
7664
7665impl ::std::fmt::Debug for GtkGestureRotate {
7666    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7667        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7668            .finish()
7669    }
7670}
7671
7672#[repr(C)]
7673#[allow(dead_code)]
7674pub struct GtkGestureSingle {
7675    _data: [u8; 0],
7676    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7677}
7678
7679impl ::std::fmt::Debug for GtkGestureSingle {
7680    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7681        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7682            .finish()
7683    }
7684}
7685
7686#[repr(C)]
7687#[allow(dead_code)]
7688pub struct GtkGestureStylus {
7689    _data: [u8; 0],
7690    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7691}
7692
7693impl ::std::fmt::Debug for GtkGestureStylus {
7694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7695        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7696            .finish()
7697    }
7698}
7699
7700#[repr(C)]
7701#[allow(dead_code)]
7702pub struct GtkGestureSwipe {
7703    _data: [u8; 0],
7704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7705}
7706
7707impl ::std::fmt::Debug for GtkGestureSwipe {
7708    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7709        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7710            .finish()
7711    }
7712}
7713
7714#[repr(C)]
7715#[allow(dead_code)]
7716pub struct GtkGestureZoom {
7717    _data: [u8; 0],
7718    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7719}
7720
7721impl ::std::fmt::Debug for GtkGestureZoom {
7722    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7723        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7724            .finish()
7725    }
7726}
7727
7728#[repr(C)]
7729#[allow(dead_code)]
7730pub struct GtkGraphicsOffload {
7731    _data: [u8; 0],
7732    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7733}
7734
7735impl ::std::fmt::Debug for GtkGraphicsOffload {
7736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7737        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7738            .finish()
7739    }
7740}
7741
7742#[derive(Copy, Clone)]
7743#[repr(C)]
7744pub struct GtkGrid {
7745    pub parent_instance: GtkWidget,
7746}
7747
7748impl ::std::fmt::Debug for GtkGrid {
7749    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7750        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7751    }
7752}
7753
7754#[repr(C)]
7755#[allow(dead_code)]
7756pub struct GtkGridLayout {
7757    _data: [u8; 0],
7758    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7759}
7760
7761impl ::std::fmt::Debug for GtkGridLayout {
7762    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7763        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7764            .finish()
7765    }
7766}
7767
7768#[repr(C)]
7769#[allow(dead_code)]
7770pub struct GtkGridLayoutChild {
7771    _data: [u8; 0],
7772    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7773}
7774
7775impl ::std::fmt::Debug for GtkGridLayoutChild {
7776    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7777        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7778            .finish()
7779    }
7780}
7781
7782#[repr(C)]
7783#[allow(dead_code)]
7784pub struct GtkGridView {
7785    _data: [u8; 0],
7786    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7787}
7788
7789impl ::std::fmt::Debug for GtkGridView {
7790    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7791        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7792    }
7793}
7794
7795#[repr(C)]
7796#[allow(dead_code)]
7797pub struct GtkHeaderBar {
7798    _data: [u8; 0],
7799    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7800}
7801
7802impl ::std::fmt::Debug for GtkHeaderBar {
7803    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7804        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7805    }
7806}
7807
7808#[derive(Copy, Clone)]
7809#[repr(C)]
7810pub struct GtkIMContext {
7811    pub parent_instance: gobject::GObject,
7812}
7813
7814impl ::std::fmt::Debug for GtkIMContext {
7815    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7816        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7817            .field("parent_instance", &self.parent_instance)
7818            .finish()
7819    }
7820}
7821
7822#[derive(Copy, Clone)]
7823#[repr(C)]
7824pub struct GtkIMContextSimple {
7825    pub object: GtkIMContext,
7826    pub priv_: *mut GtkIMContextSimplePrivate,
7827}
7828
7829impl ::std::fmt::Debug for GtkIMContextSimple {
7830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7831        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7832            .field("object", &self.object)
7833            .finish()
7834    }
7835}
7836
7837#[derive(Copy, Clone)]
7838#[repr(C)]
7839pub struct GtkIMMulticontext {
7840    pub object: GtkIMContext,
7841    pub priv_: *mut GtkIMMulticontextPrivate,
7842}
7843
7844impl ::std::fmt::Debug for GtkIMMulticontext {
7845    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7846        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7847            .field("object", &self.object)
7848            .finish()
7849    }
7850}
7851
7852#[repr(C)]
7853#[allow(dead_code)]
7854pub struct GtkIconPaintable {
7855    _data: [u8; 0],
7856    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7857}
7858
7859impl ::std::fmt::Debug for GtkIconPaintable {
7860    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7861        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7862            .finish()
7863    }
7864}
7865
7866#[repr(C)]
7867#[allow(dead_code)]
7868pub struct GtkIconTheme {
7869    _data: [u8; 0],
7870    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7871}
7872
7873impl ::std::fmt::Debug for GtkIconTheme {
7874    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7875        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7876    }
7877}
7878
7879#[repr(C)]
7880#[allow(dead_code)]
7881pub struct GtkIconView {
7882    _data: [u8; 0],
7883    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7884}
7885
7886impl ::std::fmt::Debug for GtkIconView {
7887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7888        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7889    }
7890}
7891
7892#[repr(C)]
7893#[allow(dead_code)]
7894pub struct GtkImage {
7895    _data: [u8; 0],
7896    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7897}
7898
7899impl ::std::fmt::Debug for GtkImage {
7900    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7901        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7902    }
7903}
7904
7905#[repr(C)]
7906#[allow(dead_code)]
7907pub struct GtkInfoBar {
7908    _data: [u8; 0],
7909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7910}
7911
7912impl ::std::fmt::Debug for GtkInfoBar {
7913    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7914        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7915    }
7916}
7917
7918#[repr(C)]
7919#[allow(dead_code)]
7920pub struct GtkInscription {
7921    _data: [u8; 0],
7922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7923}
7924
7925impl ::std::fmt::Debug for GtkInscription {
7926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7927        f.debug_struct(&format!("GtkInscription @ {self:p}"))
7928            .finish()
7929    }
7930}
7931
7932#[repr(C)]
7933#[allow(dead_code)]
7934pub struct GtkKeyvalTrigger {
7935    _data: [u8; 0],
7936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7937}
7938
7939impl ::std::fmt::Debug for GtkKeyvalTrigger {
7940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7941        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
7942            .finish()
7943    }
7944}
7945
7946#[repr(C)]
7947#[allow(dead_code)]
7948pub struct GtkLabel {
7949    _data: [u8; 0],
7950    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7951}
7952
7953impl ::std::fmt::Debug for GtkLabel {
7954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7955        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
7956    }
7957}
7958
7959#[derive(Copy, Clone)]
7960#[repr(C)]
7961pub struct GtkLayoutChild {
7962    pub parent_instance: gobject::GObject,
7963}
7964
7965impl ::std::fmt::Debug for GtkLayoutChild {
7966    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7967        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
7968            .field("parent_instance", &self.parent_instance)
7969            .finish()
7970    }
7971}
7972
7973#[derive(Copy, Clone)]
7974#[repr(C)]
7975pub struct GtkLayoutManager {
7976    pub parent_instance: gobject::GObject,
7977}
7978
7979impl ::std::fmt::Debug for GtkLayoutManager {
7980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7981        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
7982            .field("parent_instance", &self.parent_instance)
7983            .finish()
7984    }
7985}
7986
7987#[repr(C)]
7988#[allow(dead_code)]
7989pub struct GtkLevelBar {
7990    _data: [u8; 0],
7991    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7992}
7993
7994impl ::std::fmt::Debug for GtkLevelBar {
7995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7996        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
7997    }
7998}
7999
8000#[repr(C)]
8001#[allow(dead_code)]
8002pub struct GtkLinkButton {
8003    _data: [u8; 0],
8004    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8005}
8006
8007impl ::std::fmt::Debug for GtkLinkButton {
8008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8009        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
8010            .finish()
8011    }
8012}
8013
8014#[repr(C)]
8015#[allow(dead_code)]
8016pub struct GtkListBase {
8017    _data: [u8; 0],
8018    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8019}
8020
8021impl ::std::fmt::Debug for GtkListBase {
8022    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8023        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
8024    }
8025}
8026
8027#[repr(C)]
8028#[allow(dead_code)]
8029pub struct GtkListBox {
8030    _data: [u8; 0],
8031    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8032}
8033
8034impl ::std::fmt::Debug for GtkListBox {
8035    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8036        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
8037    }
8038}
8039
8040#[derive(Copy, Clone)]
8041#[repr(C)]
8042pub struct GtkListBoxRow {
8043    pub parent_instance: GtkWidget,
8044}
8045
8046impl ::std::fmt::Debug for GtkListBoxRow {
8047    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8048        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
8049            .field("parent_instance", &self.parent_instance)
8050            .finish()
8051    }
8052}
8053
8054#[repr(C)]
8055#[allow(dead_code)]
8056pub struct GtkListHeader {
8057    _data: [u8; 0],
8058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8059}
8060
8061impl ::std::fmt::Debug for GtkListHeader {
8062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8063        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
8064            .finish()
8065    }
8066}
8067
8068#[repr(C)]
8069#[allow(dead_code)]
8070pub struct GtkListItem {
8071    _data: [u8; 0],
8072    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8073}
8074
8075impl ::std::fmt::Debug for GtkListItem {
8076    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8077        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
8078    }
8079}
8080
8081#[repr(C)]
8082#[allow(dead_code)]
8083pub struct GtkListItemFactory {
8084    _data: [u8; 0],
8085    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8086}
8087
8088impl ::std::fmt::Debug for GtkListItemFactory {
8089    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8090        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
8091            .finish()
8092    }
8093}
8094
8095#[derive(Copy, Clone)]
8096#[repr(C)]
8097pub struct GtkListStore {
8098    pub parent: gobject::GObject,
8099    pub priv_: *mut GtkListStorePrivate,
8100}
8101
8102impl ::std::fmt::Debug for GtkListStore {
8103    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8104        f.debug_struct(&format!("GtkListStore @ {self:p}"))
8105            .field("parent", &self.parent)
8106            .finish()
8107    }
8108}
8109
8110#[repr(C)]
8111#[allow(dead_code)]
8112pub struct GtkListView {
8113    _data: [u8; 0],
8114    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8115}
8116
8117impl ::std::fmt::Debug for GtkListView {
8118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8119        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
8120    }
8121}
8122
8123#[repr(C)]
8124#[allow(dead_code)]
8125pub struct GtkLockButton {
8126    _data: [u8; 0],
8127    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8128}
8129
8130impl ::std::fmt::Debug for GtkLockButton {
8131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8132        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
8133            .finish()
8134    }
8135}
8136
8137#[repr(C)]
8138#[allow(dead_code)]
8139pub struct GtkMapListModel {
8140    _data: [u8; 0],
8141    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8142}
8143
8144impl ::std::fmt::Debug for GtkMapListModel {
8145    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8146        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
8147            .finish()
8148    }
8149}
8150
8151#[repr(C)]
8152#[allow(dead_code)]
8153pub struct GtkMediaControls {
8154    _data: [u8; 0],
8155    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8156}
8157
8158impl ::std::fmt::Debug for GtkMediaControls {
8159    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8160        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
8161            .finish()
8162    }
8163}
8164
8165#[derive(Copy, Clone)]
8166#[repr(C)]
8167pub struct GtkMediaFile {
8168    pub parent_instance: GtkMediaStream,
8169}
8170
8171impl ::std::fmt::Debug for GtkMediaFile {
8172    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8173        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
8174            .field("parent_instance", &self.parent_instance)
8175            .finish()
8176    }
8177}
8178
8179#[derive(Copy, Clone)]
8180#[repr(C)]
8181pub struct GtkMediaStream {
8182    pub parent_instance: gobject::GObject,
8183}
8184
8185impl ::std::fmt::Debug for GtkMediaStream {
8186    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8187        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
8188            .field("parent_instance", &self.parent_instance)
8189            .finish()
8190    }
8191}
8192
8193#[repr(C)]
8194#[allow(dead_code)]
8195pub struct GtkMenuButton {
8196    _data: [u8; 0],
8197    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8198}
8199
8200impl ::std::fmt::Debug for GtkMenuButton {
8201    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8202        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
8203            .finish()
8204    }
8205}
8206
8207#[derive(Copy, Clone)]
8208#[repr(C)]
8209pub struct GtkMessageDialog {
8210    pub parent_instance: GtkDialog,
8211}
8212
8213impl ::std::fmt::Debug for GtkMessageDialog {
8214    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8215        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
8216            .field("parent_instance", &self.parent_instance)
8217            .finish()
8218    }
8219}
8220
8221#[repr(C)]
8222#[allow(dead_code)]
8223pub struct GtkMnemonicAction {
8224    _data: [u8; 0],
8225    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8226}
8227
8228impl ::std::fmt::Debug for GtkMnemonicAction {
8229    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8230        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
8231            .finish()
8232    }
8233}
8234
8235#[repr(C)]
8236#[allow(dead_code)]
8237pub struct GtkMnemonicTrigger {
8238    _data: [u8; 0],
8239    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8240}
8241
8242impl ::std::fmt::Debug for GtkMnemonicTrigger {
8243    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8244        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
8245            .finish()
8246    }
8247}
8248
8249#[derive(Copy, Clone)]
8250#[repr(C)]
8251pub struct GtkMountOperation {
8252    pub parent_instance: gio::GMountOperation,
8253    pub priv_: *mut GtkMountOperationPrivate,
8254}
8255
8256impl ::std::fmt::Debug for GtkMountOperation {
8257    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8258        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8259            .field("parent_instance", &self.parent_instance)
8260            .field("priv_", &self.priv_)
8261            .finish()
8262    }
8263}
8264
8265#[repr(C)]
8266#[allow(dead_code)]
8267pub struct GtkMultiFilter {
8268    _data: [u8; 0],
8269    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8270}
8271
8272impl ::std::fmt::Debug for GtkMultiFilter {
8273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8274        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8275            .finish()
8276    }
8277}
8278
8279#[repr(C)]
8280#[allow(dead_code)]
8281pub struct GtkMultiSelection {
8282    _data: [u8; 0],
8283    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8284}
8285
8286impl ::std::fmt::Debug for GtkMultiSelection {
8287    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8288        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8289            .finish()
8290    }
8291}
8292
8293#[repr(C)]
8294#[allow(dead_code)]
8295pub struct GtkMultiSorter {
8296    _data: [u8; 0],
8297    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8298}
8299
8300impl ::std::fmt::Debug for GtkMultiSorter {
8301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8302        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8303            .finish()
8304    }
8305}
8306
8307#[repr(C)]
8308#[allow(dead_code)]
8309pub struct GtkNamedAction {
8310    _data: [u8; 0],
8311    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8312}
8313
8314impl ::std::fmt::Debug for GtkNamedAction {
8315    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8316        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8317            .finish()
8318    }
8319}
8320
8321#[derive(Copy, Clone)]
8322#[repr(C)]
8323pub struct GtkNativeDialog {
8324    pub parent_instance: gobject::GObject,
8325}
8326
8327impl ::std::fmt::Debug for GtkNativeDialog {
8328    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8329        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8330            .field("parent_instance", &self.parent_instance)
8331            .finish()
8332    }
8333}
8334
8335#[repr(C)]
8336#[allow(dead_code)]
8337pub struct GtkNeverTrigger {
8338    _data: [u8; 0],
8339    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8340}
8341
8342impl ::std::fmt::Debug for GtkNeverTrigger {
8343    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8344        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8345            .finish()
8346    }
8347}
8348
8349#[repr(C)]
8350#[allow(dead_code)]
8351pub struct GtkNoSelection {
8352    _data: [u8; 0],
8353    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8354}
8355
8356impl ::std::fmt::Debug for GtkNoSelection {
8357    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8358        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8359            .finish()
8360    }
8361}
8362
8363#[repr(C)]
8364#[allow(dead_code)]
8365pub struct GtkNotebook {
8366    _data: [u8; 0],
8367    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8368}
8369
8370impl ::std::fmt::Debug for GtkNotebook {
8371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8372        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8373    }
8374}
8375
8376#[repr(C)]
8377#[allow(dead_code)]
8378pub struct GtkNotebookPage {
8379    _data: [u8; 0],
8380    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8381}
8382
8383impl ::std::fmt::Debug for GtkNotebookPage {
8384    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8385        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8386            .finish()
8387    }
8388}
8389
8390#[repr(C)]
8391#[allow(dead_code)]
8392pub struct GtkNothingAction {
8393    _data: [u8; 0],
8394    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8395}
8396
8397impl ::std::fmt::Debug for GtkNothingAction {
8398    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8399        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8400            .finish()
8401    }
8402}
8403
8404#[repr(C)]
8405#[allow(dead_code)]
8406pub struct GtkNumericSorter {
8407    _data: [u8; 0],
8408    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8409}
8410
8411impl ::std::fmt::Debug for GtkNumericSorter {
8412    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8413        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8414            .finish()
8415    }
8416}
8417
8418#[repr(C)]
8419#[allow(dead_code)]
8420pub struct GtkObjectExpression {
8421    _data: [u8; 0],
8422    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8423}
8424
8425impl ::std::fmt::Debug for GtkObjectExpression {
8426    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8427        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8428            .finish()
8429    }
8430}
8431
8432#[repr(C)]
8433#[allow(dead_code)]
8434pub struct GtkOverlay {
8435    _data: [u8; 0],
8436    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8437}
8438
8439impl ::std::fmt::Debug for GtkOverlay {
8440    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8441        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8442    }
8443}
8444
8445#[repr(C)]
8446#[allow(dead_code)]
8447pub struct GtkOverlayLayout {
8448    _data: [u8; 0],
8449    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8450}
8451
8452impl ::std::fmt::Debug for GtkOverlayLayout {
8453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8454        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8455            .finish()
8456    }
8457}
8458
8459#[repr(C)]
8460#[allow(dead_code)]
8461pub struct GtkOverlayLayoutChild {
8462    _data: [u8; 0],
8463    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8464}
8465
8466impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8467    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8468        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8469            .finish()
8470    }
8471}
8472
8473#[repr(C)]
8474#[allow(dead_code)]
8475pub struct GtkPadController {
8476    _data: [u8; 0],
8477    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8478}
8479
8480impl ::std::fmt::Debug for GtkPadController {
8481    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8482        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8483            .finish()
8484    }
8485}
8486
8487#[repr(C)]
8488#[allow(dead_code)]
8489pub struct GtkPageSetup {
8490    _data: [u8; 0],
8491    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8492}
8493
8494impl ::std::fmt::Debug for GtkPageSetup {
8495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8496        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8497    }
8498}
8499
8500#[repr(C)]
8501#[allow(dead_code)]
8502pub struct GtkPageSetupUnixDialog {
8503    _data: [u8; 0],
8504    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8505}
8506
8507impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8508    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8509        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8510            .finish()
8511    }
8512}
8513
8514#[repr(C)]
8515#[allow(dead_code)]
8516pub struct GtkPaned {
8517    _data: [u8; 0],
8518    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8519}
8520
8521impl ::std::fmt::Debug for GtkPaned {
8522    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8523        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8524    }
8525}
8526
8527#[derive(Copy, Clone)]
8528#[repr(C)]
8529pub struct GtkParamSpecExpression {
8530    pub parent_instance: gobject::GParamSpec,
8531}
8532
8533impl ::std::fmt::Debug for GtkParamSpecExpression {
8534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8535        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8536            .finish()
8537    }
8538}
8539
8540#[repr(C)]
8541#[allow(dead_code)]
8542pub struct GtkPasswordEntry {
8543    _data: [u8; 0],
8544    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8545}
8546
8547impl ::std::fmt::Debug for GtkPasswordEntry {
8548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8549        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8550            .finish()
8551    }
8552}
8553
8554#[repr(C)]
8555#[allow(dead_code)]
8556pub struct GtkPasswordEntryBuffer {
8557    _data: [u8; 0],
8558    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8559}
8560
8561impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8563        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8564            .finish()
8565    }
8566}
8567
8568#[repr(C)]
8569#[allow(dead_code)]
8570pub struct GtkPicture {
8571    _data: [u8; 0],
8572    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8573}
8574
8575impl ::std::fmt::Debug for GtkPicture {
8576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8577        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8578    }
8579}
8580
8581#[derive(Copy, Clone)]
8582#[repr(C)]
8583pub struct GtkPopover {
8584    pub parent: GtkWidget,
8585}
8586
8587impl ::std::fmt::Debug for GtkPopover {
8588    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8589        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8590            .field("parent", &self.parent)
8591            .finish()
8592    }
8593}
8594
8595#[repr(C)]
8596#[allow(dead_code)]
8597pub struct GtkPopoverBin {
8598    _data: [u8; 0],
8599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8600}
8601
8602impl ::std::fmt::Debug for GtkPopoverBin {
8603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8604        f.debug_struct(&format!("GtkPopoverBin @ {self:p}"))
8605            .finish()
8606    }
8607}
8608
8609#[repr(C)]
8610#[allow(dead_code)]
8611pub struct GtkPopoverMenu {
8612    _data: [u8; 0],
8613    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8614}
8615
8616impl ::std::fmt::Debug for GtkPopoverMenu {
8617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8618        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8619            .finish()
8620    }
8621}
8622
8623#[repr(C)]
8624#[allow(dead_code)]
8625pub struct GtkPopoverMenuBar {
8626    _data: [u8; 0],
8627    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8628}
8629
8630impl ::std::fmt::Debug for GtkPopoverMenuBar {
8631    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8632        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8633            .finish()
8634    }
8635}
8636
8637#[repr(C)]
8638#[allow(dead_code)]
8639pub struct GtkPrintContext {
8640    _data: [u8; 0],
8641    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8642}
8643
8644impl ::std::fmt::Debug for GtkPrintContext {
8645    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8646        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8647            .finish()
8648    }
8649}
8650
8651#[repr(C)]
8652#[allow(dead_code)]
8653pub struct GtkPrintDialog {
8654    _data: [u8; 0],
8655    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8656}
8657
8658impl ::std::fmt::Debug for GtkPrintDialog {
8659    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8660        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8661            .finish()
8662    }
8663}
8664
8665#[repr(C)]
8666#[allow(dead_code)]
8667pub struct GtkPrintJob {
8668    _data: [u8; 0],
8669    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8670}
8671
8672impl ::std::fmt::Debug for GtkPrintJob {
8673    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8674        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8675    }
8676}
8677
8678#[derive(Copy, Clone)]
8679#[repr(C)]
8680pub struct GtkPrintOperation {
8681    pub parent_instance: gobject::GObject,
8682    pub priv_: *mut GtkPrintOperationPrivate,
8683}
8684
8685impl ::std::fmt::Debug for GtkPrintOperation {
8686    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8687        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8688            .field("parent_instance", &self.parent_instance)
8689            .finish()
8690    }
8691}
8692
8693#[repr(C)]
8694#[allow(dead_code)]
8695pub struct GtkPrintSettings {
8696    _data: [u8; 0],
8697    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8698}
8699
8700impl ::std::fmt::Debug for GtkPrintSettings {
8701    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8702        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8703            .finish()
8704    }
8705}
8706
8707#[repr(C)]
8708#[allow(dead_code)]
8709pub struct GtkPrintUnixDialog {
8710    _data: [u8; 0],
8711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8712}
8713
8714impl ::std::fmt::Debug for GtkPrintUnixDialog {
8715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8716        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8717            .finish()
8718    }
8719}
8720
8721#[repr(C)]
8722#[allow(dead_code)]
8723pub struct GtkPrinter {
8724    _data: [u8; 0],
8725    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8726}
8727
8728impl ::std::fmt::Debug for GtkPrinter {
8729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8730        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8731    }
8732}
8733
8734#[repr(C)]
8735#[allow(dead_code)]
8736pub struct GtkProgressBar {
8737    _data: [u8; 0],
8738    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8739}
8740
8741impl ::std::fmt::Debug for GtkProgressBar {
8742    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8743        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8744            .finish()
8745    }
8746}
8747
8748#[repr(C)]
8749#[allow(dead_code)]
8750pub struct GtkPropertyExpression {
8751    _data: [u8; 0],
8752    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8753}
8754
8755impl ::std::fmt::Debug for GtkPropertyExpression {
8756    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8757        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8758            .finish()
8759    }
8760}
8761
8762#[derive(Copy, Clone)]
8763#[repr(C)]
8764pub struct GtkRange {
8765    pub parent_instance: GtkWidget,
8766}
8767
8768impl ::std::fmt::Debug for GtkRange {
8769    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8770        f.debug_struct(&format!("GtkRange @ {self:p}"))
8771            .field("parent_instance", &self.parent_instance)
8772            .finish()
8773    }
8774}
8775
8776#[derive(Copy, Clone)]
8777#[repr(C)]
8778pub struct GtkRecentManager {
8779    pub parent_instance: gobject::GObject,
8780    pub priv_: *mut GtkRecentManagerPrivate,
8781}
8782
8783impl ::std::fmt::Debug for GtkRecentManager {
8784    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8785        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8786            .finish()
8787    }
8788}
8789
8790#[repr(C)]
8791#[allow(dead_code)]
8792pub struct GtkRevealer {
8793    _data: [u8; 0],
8794    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8795}
8796
8797impl ::std::fmt::Debug for GtkRevealer {
8798    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8799        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8800    }
8801}
8802
8803#[derive(Copy, Clone)]
8804#[repr(C)]
8805pub struct GtkScale {
8806    pub parent_instance: GtkRange,
8807}
8808
8809impl ::std::fmt::Debug for GtkScale {
8810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8811        f.debug_struct(&format!("GtkScale @ {self:p}"))
8812            .field("parent_instance", &self.parent_instance)
8813            .finish()
8814    }
8815}
8816
8817#[derive(Copy, Clone)]
8818#[repr(C)]
8819pub struct GtkScaleButton {
8820    pub parent_instance: GtkWidget,
8821}
8822
8823impl ::std::fmt::Debug for GtkScaleButton {
8824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8825        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8826            .field("parent_instance", &self.parent_instance)
8827            .finish()
8828    }
8829}
8830
8831#[repr(C)]
8832#[allow(dead_code)]
8833pub struct GtkScrollbar {
8834    _data: [u8; 0],
8835    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8836}
8837
8838impl ::std::fmt::Debug for GtkScrollbar {
8839    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8840        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8841    }
8842}
8843
8844#[repr(C)]
8845#[allow(dead_code)]
8846pub struct GtkScrolledWindow {
8847    _data: [u8; 0],
8848    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8849}
8850
8851impl ::std::fmt::Debug for GtkScrolledWindow {
8852    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8853        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8854            .finish()
8855    }
8856}
8857
8858#[repr(C)]
8859#[allow(dead_code)]
8860pub struct GtkSearchBar {
8861    _data: [u8; 0],
8862    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8863}
8864
8865impl ::std::fmt::Debug for GtkSearchBar {
8866    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8867        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8868    }
8869}
8870
8871#[repr(C)]
8872#[allow(dead_code)]
8873pub struct GtkSearchEntry {
8874    _data: [u8; 0],
8875    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8876}
8877
8878impl ::std::fmt::Debug for GtkSearchEntry {
8879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8880        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8881            .finish()
8882    }
8883}
8884
8885#[repr(C)]
8886#[allow(dead_code)]
8887pub struct GtkSelectionFilterModel {
8888    _data: [u8; 0],
8889    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8890}
8891
8892impl ::std::fmt::Debug for GtkSelectionFilterModel {
8893    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8894        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8895            .finish()
8896    }
8897}
8898
8899#[repr(C)]
8900#[allow(dead_code)]
8901pub struct GtkSeparator {
8902    _data: [u8; 0],
8903    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8904}
8905
8906impl ::std::fmt::Debug for GtkSeparator {
8907    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8908        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8909    }
8910}
8911
8912#[repr(C)]
8913#[allow(dead_code)]
8914pub struct GtkSettings {
8915    _data: [u8; 0],
8916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8917}
8918
8919impl ::std::fmt::Debug for GtkSettings {
8920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8921        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8922    }
8923}
8924
8925#[repr(C)]
8926#[allow(dead_code)]
8927pub struct GtkShortcut {
8928    _data: [u8; 0],
8929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8930}
8931
8932impl ::std::fmt::Debug for GtkShortcut {
8933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8934        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
8935    }
8936}
8937
8938#[repr(C)]
8939#[allow(dead_code)]
8940pub struct GtkShortcutAction {
8941    _data: [u8; 0],
8942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8943}
8944
8945impl ::std::fmt::Debug for GtkShortcutAction {
8946    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8947        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
8948            .finish()
8949    }
8950}
8951
8952#[repr(C)]
8953#[allow(dead_code)]
8954pub struct GtkShortcutController {
8955    _data: [u8; 0],
8956    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8957}
8958
8959impl ::std::fmt::Debug for GtkShortcutController {
8960    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8961        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
8962            .finish()
8963    }
8964}
8965
8966#[repr(C)]
8967#[allow(dead_code)]
8968pub struct GtkShortcutLabel {
8969    _data: [u8; 0],
8970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8971}
8972
8973impl ::std::fmt::Debug for GtkShortcutLabel {
8974    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8975        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
8976            .finish()
8977    }
8978}
8979
8980#[repr(C)]
8981#[allow(dead_code)]
8982pub struct GtkShortcutTrigger {
8983    _data: [u8; 0],
8984    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8985}
8986
8987impl ::std::fmt::Debug for GtkShortcutTrigger {
8988    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8989        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
8990            .finish()
8991    }
8992}
8993
8994#[repr(C)]
8995#[allow(dead_code)]
8996pub struct GtkShortcutsGroup {
8997    _data: [u8; 0],
8998    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8999}
9000
9001impl ::std::fmt::Debug for GtkShortcutsGroup {
9002    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9003        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
9004            .finish()
9005    }
9006}
9007
9008#[repr(C)]
9009#[allow(dead_code)]
9010pub struct GtkShortcutsSection {
9011    _data: [u8; 0],
9012    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9013}
9014
9015impl ::std::fmt::Debug for GtkShortcutsSection {
9016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9017        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
9018            .finish()
9019    }
9020}
9021
9022#[repr(C)]
9023#[allow(dead_code)]
9024pub struct GtkShortcutsShortcut {
9025    _data: [u8; 0],
9026    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9027}
9028
9029impl ::std::fmt::Debug for GtkShortcutsShortcut {
9030    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9031        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
9032            .finish()
9033    }
9034}
9035
9036#[repr(C)]
9037#[allow(dead_code)]
9038pub struct GtkShortcutsWindow {
9039    _data: [u8; 0],
9040    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9041}
9042
9043impl ::std::fmt::Debug for GtkShortcutsWindow {
9044    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9045        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
9046            .finish()
9047    }
9048}
9049
9050#[repr(C)]
9051#[allow(dead_code)]
9052pub struct GtkSignalAction {
9053    _data: [u8; 0],
9054    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9055}
9056
9057impl ::std::fmt::Debug for GtkSignalAction {
9058    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9059        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
9060            .finish()
9061    }
9062}
9063
9064#[repr(C)]
9065#[allow(dead_code)]
9066pub struct GtkSignalListItemFactory {
9067    _data: [u8; 0],
9068    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9069}
9070
9071impl ::std::fmt::Debug for GtkSignalListItemFactory {
9072    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9073        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
9074            .finish()
9075    }
9076}
9077
9078#[repr(C)]
9079#[allow(dead_code)]
9080pub struct GtkSingleSelection {
9081    _data: [u8; 0],
9082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9083}
9084
9085impl ::std::fmt::Debug for GtkSingleSelection {
9086    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9087        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
9088            .finish()
9089    }
9090}
9091
9092#[derive(Copy, Clone)]
9093#[repr(C)]
9094pub struct GtkSizeGroup {
9095    pub parent_instance: gobject::GObject,
9096}
9097
9098impl ::std::fmt::Debug for GtkSizeGroup {
9099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9100        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
9101            .field("parent_instance", &self.parent_instance)
9102            .finish()
9103    }
9104}
9105
9106#[repr(C)]
9107#[allow(dead_code)]
9108pub struct GtkSliceListModel {
9109    _data: [u8; 0],
9110    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9111}
9112
9113impl ::std::fmt::Debug for GtkSliceListModel {
9114    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9115        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
9116            .finish()
9117    }
9118}
9119
9120#[repr(C)]
9121#[allow(dead_code)]
9122pub struct GtkSnapshot {
9123    _data: [u8; 0],
9124    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9125}
9126
9127impl ::std::fmt::Debug for GtkSnapshot {
9128    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9129        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
9130    }
9131}
9132
9133#[repr(C)]
9134#[allow(dead_code)]
9135pub struct GtkSortListModel {
9136    _data: [u8; 0],
9137    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9138}
9139
9140impl ::std::fmt::Debug for GtkSortListModel {
9141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9142        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
9143            .finish()
9144    }
9145}
9146
9147#[derive(Copy, Clone)]
9148#[repr(C)]
9149pub struct GtkSorter {
9150    pub parent_instance: gobject::GObject,
9151}
9152
9153impl ::std::fmt::Debug for GtkSorter {
9154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9155        f.debug_struct(&format!("GtkSorter @ {self:p}"))
9156            .field("parent_instance", &self.parent_instance)
9157            .finish()
9158    }
9159}
9160
9161#[repr(C)]
9162#[allow(dead_code)]
9163pub struct GtkSpinButton {
9164    _data: [u8; 0],
9165    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9166}
9167
9168impl ::std::fmt::Debug for GtkSpinButton {
9169    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9170        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
9171            .finish()
9172    }
9173}
9174
9175#[repr(C)]
9176#[allow(dead_code)]
9177pub struct GtkSpinner {
9178    _data: [u8; 0],
9179    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9180}
9181
9182impl ::std::fmt::Debug for GtkSpinner {
9183    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9184        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
9185    }
9186}
9187
9188#[repr(C)]
9189#[allow(dead_code)]
9190pub struct GtkStack {
9191    _data: [u8; 0],
9192    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9193}
9194
9195impl ::std::fmt::Debug for GtkStack {
9196    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9197        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
9198    }
9199}
9200
9201#[repr(C)]
9202#[allow(dead_code)]
9203pub struct GtkStackPage {
9204    _data: [u8; 0],
9205    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9206}
9207
9208impl ::std::fmt::Debug for GtkStackPage {
9209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9210        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
9211    }
9212}
9213
9214#[repr(C)]
9215#[allow(dead_code)]
9216pub struct GtkStackSidebar {
9217    _data: [u8; 0],
9218    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9219}
9220
9221impl ::std::fmt::Debug for GtkStackSidebar {
9222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9223        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
9224            .finish()
9225    }
9226}
9227
9228#[repr(C)]
9229#[allow(dead_code)]
9230pub struct GtkStackSwitcher {
9231    _data: [u8; 0],
9232    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9233}
9234
9235impl ::std::fmt::Debug for GtkStackSwitcher {
9236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9237        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
9238            .finish()
9239    }
9240}
9241
9242#[repr(C)]
9243#[allow(dead_code)]
9244pub struct GtkStatusbar {
9245    _data: [u8; 0],
9246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9247}
9248
9249impl ::std::fmt::Debug for GtkStatusbar {
9250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9251        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
9252    }
9253}
9254
9255#[repr(C)]
9256#[allow(dead_code)]
9257pub struct GtkStringFilter {
9258    _data: [u8; 0],
9259    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9260}
9261
9262impl ::std::fmt::Debug for GtkStringFilter {
9263    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9264        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9265            .finish()
9266    }
9267}
9268
9269#[repr(C)]
9270#[allow(dead_code)]
9271pub struct GtkStringList {
9272    _data: [u8; 0],
9273    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9274}
9275
9276impl ::std::fmt::Debug for GtkStringList {
9277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9278        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9279            .finish()
9280    }
9281}
9282
9283#[repr(C)]
9284#[allow(dead_code)]
9285pub struct GtkStringObject {
9286    _data: [u8; 0],
9287    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9288}
9289
9290impl ::std::fmt::Debug for GtkStringObject {
9291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9292        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9293            .finish()
9294    }
9295}
9296
9297#[repr(C)]
9298#[allow(dead_code)]
9299pub struct GtkStringSorter {
9300    _data: [u8; 0],
9301    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9302}
9303
9304impl ::std::fmt::Debug for GtkStringSorter {
9305    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9306        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9307            .finish()
9308    }
9309}
9310
9311#[derive(Copy, Clone)]
9312#[repr(C)]
9313pub struct GtkStyleContext {
9314    pub parent_object: gobject::GObject,
9315}
9316
9317impl ::std::fmt::Debug for GtkStyleContext {
9318    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9319        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9320            .field("parent_object", &self.parent_object)
9321            .finish()
9322    }
9323}
9324
9325#[repr(C)]
9326#[allow(dead_code)]
9327pub struct GtkSvg {
9328    _data: [u8; 0],
9329    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9330}
9331
9332impl ::std::fmt::Debug for GtkSvg {
9333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9334        f.debug_struct(&format!("GtkSvg @ {self:p}")).finish()
9335    }
9336}
9337
9338#[repr(C)]
9339#[allow(dead_code)]
9340pub struct GtkSwitch {
9341    _data: [u8; 0],
9342    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9343}
9344
9345impl ::std::fmt::Debug for GtkSwitch {
9346    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9347        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9348    }
9349}
9350
9351#[derive(Copy, Clone)]
9352#[repr(C)]
9353pub struct GtkText {
9354    pub parent_instance: GtkWidget,
9355}
9356
9357impl ::std::fmt::Debug for GtkText {
9358    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9359        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9360    }
9361}
9362
9363#[derive(Copy, Clone)]
9364#[repr(C)]
9365pub struct GtkTextBuffer {
9366    pub parent_instance: gobject::GObject,
9367    pub priv_: *mut GtkTextBufferPrivate,
9368}
9369
9370impl ::std::fmt::Debug for GtkTextBuffer {
9371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9372        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9373            .field("parent_instance", &self.parent_instance)
9374            .field("priv_", &self.priv_)
9375            .finish()
9376    }
9377}
9378
9379#[derive(Copy, Clone)]
9380#[repr(C)]
9381pub struct GtkTextChildAnchor {
9382    pub parent_instance: gobject::GObject,
9383    pub segment: gpointer,
9384}
9385
9386impl ::std::fmt::Debug for GtkTextChildAnchor {
9387    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9388        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9389            .field("parent_instance", &self.parent_instance)
9390            .finish()
9391    }
9392}
9393
9394#[derive(Copy, Clone)]
9395#[repr(C)]
9396pub struct GtkTextMark {
9397    pub parent_instance: gobject::GObject,
9398    pub segment: gpointer,
9399}
9400
9401impl ::std::fmt::Debug for GtkTextMark {
9402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9403        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9404            .field("parent_instance", &self.parent_instance)
9405            .finish()
9406    }
9407}
9408
9409#[derive(Copy, Clone)]
9410#[repr(C)]
9411pub struct GtkTextTag {
9412    pub parent_instance: gobject::GObject,
9413    pub priv_: *mut GtkTextTagPrivate,
9414}
9415
9416impl ::std::fmt::Debug for GtkTextTag {
9417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9418        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9419            .field("parent_instance", &self.parent_instance)
9420            .field("priv_", &self.priv_)
9421            .finish()
9422    }
9423}
9424
9425#[repr(C)]
9426#[allow(dead_code)]
9427pub struct GtkTextTagTable {
9428    _data: [u8; 0],
9429    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9430}
9431
9432impl ::std::fmt::Debug for GtkTextTagTable {
9433    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9434        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9435            .finish()
9436    }
9437}
9438
9439#[derive(Copy, Clone)]
9440#[repr(C)]
9441pub struct GtkTextView {
9442    pub parent_instance: GtkWidget,
9443    pub priv_: *mut GtkTextViewPrivate,
9444}
9445
9446impl ::std::fmt::Debug for GtkTextView {
9447    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9448        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9449            .field("parent_instance", &self.parent_instance)
9450            .finish()
9451    }
9452}
9453
9454#[derive(Copy, Clone)]
9455#[repr(C)]
9456pub struct GtkToggleButton {
9457    pub button: GtkButton,
9458}
9459
9460impl ::std::fmt::Debug for GtkToggleButton {
9461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9462        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9463            .finish()
9464    }
9465}
9466
9467#[repr(C)]
9468#[allow(dead_code)]
9469pub struct GtkTooltip {
9470    _data: [u8; 0],
9471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9472}
9473
9474impl ::std::fmt::Debug for GtkTooltip {
9475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9476        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9477    }
9478}
9479
9480#[repr(C)]
9481#[allow(dead_code)]
9482pub struct GtkTreeExpander {
9483    _data: [u8; 0],
9484    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9485}
9486
9487impl ::std::fmt::Debug for GtkTreeExpander {
9488    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9489        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9490            .finish()
9491    }
9492}
9493
9494#[repr(C)]
9495#[allow(dead_code)]
9496pub struct GtkTreeListModel {
9497    _data: [u8; 0],
9498    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9499}
9500
9501impl ::std::fmt::Debug for GtkTreeListModel {
9502    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9503        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9504            .finish()
9505    }
9506}
9507
9508#[repr(C)]
9509#[allow(dead_code)]
9510pub struct GtkTreeListRow {
9511    _data: [u8; 0],
9512    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9513}
9514
9515impl ::std::fmt::Debug for GtkTreeListRow {
9516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9517        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9518            .finish()
9519    }
9520}
9521
9522#[repr(C)]
9523#[allow(dead_code)]
9524pub struct GtkTreeListRowSorter {
9525    _data: [u8; 0],
9526    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9527}
9528
9529impl ::std::fmt::Debug for GtkTreeListRowSorter {
9530    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9531        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9532            .finish()
9533    }
9534}
9535
9536#[derive(Copy, Clone)]
9537#[repr(C)]
9538pub struct GtkTreeModelFilter {
9539    pub parent: gobject::GObject,
9540    pub priv_: *mut GtkTreeModelFilterPrivate,
9541}
9542
9543impl ::std::fmt::Debug for GtkTreeModelFilter {
9544    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9545        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9546            .field("parent", &self.parent)
9547            .finish()
9548    }
9549}
9550
9551#[derive(Copy, Clone)]
9552#[repr(C)]
9553pub struct GtkTreeModelSort {
9554    pub parent: gobject::GObject,
9555    pub priv_: *mut GtkTreeModelSortPrivate,
9556}
9557
9558impl ::std::fmt::Debug for GtkTreeModelSort {
9559    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9560        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9561            .field("parent", &self.parent)
9562            .finish()
9563    }
9564}
9565
9566#[repr(C)]
9567#[allow(dead_code)]
9568pub struct GtkTreeSelection {
9569    _data: [u8; 0],
9570    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9571}
9572
9573impl ::std::fmt::Debug for GtkTreeSelection {
9574    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9575        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9576            .finish()
9577    }
9578}
9579
9580#[derive(Copy, Clone)]
9581#[repr(C)]
9582pub struct GtkTreeStore {
9583    pub parent: gobject::GObject,
9584    pub priv_: *mut GtkTreeStorePrivate,
9585}
9586
9587impl ::std::fmt::Debug for GtkTreeStore {
9588    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9589        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9590            .field("parent", &self.parent)
9591            .field("priv_", &self.priv_)
9592            .finish()
9593    }
9594}
9595
9596#[derive(Copy, Clone)]
9597#[repr(C)]
9598pub struct GtkTreeView {
9599    pub parent_instance: GtkWidget,
9600}
9601
9602impl ::std::fmt::Debug for GtkTreeView {
9603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9604        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9605            .field("parent_instance", &self.parent_instance)
9606            .finish()
9607    }
9608}
9609
9610#[repr(C)]
9611#[allow(dead_code)]
9612pub struct GtkTreeViewColumn {
9613    _data: [u8; 0],
9614    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9615}
9616
9617impl ::std::fmt::Debug for GtkTreeViewColumn {
9618    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9619        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9620            .finish()
9621    }
9622}
9623
9624#[repr(C)]
9625#[allow(dead_code)]
9626pub struct GtkTryExpression {
9627    _data: [u8; 0],
9628    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9629}
9630
9631impl ::std::fmt::Debug for GtkTryExpression {
9632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9633        f.debug_struct(&format!("GtkTryExpression @ {self:p}"))
9634            .finish()
9635    }
9636}
9637
9638#[repr(C)]
9639#[allow(dead_code)]
9640pub struct GtkUriLauncher {
9641    _data: [u8; 0],
9642    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9643}
9644
9645impl ::std::fmt::Debug for GtkUriLauncher {
9646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9647        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9648            .finish()
9649    }
9650}
9651
9652#[repr(C)]
9653#[allow(dead_code)]
9654pub struct GtkVideo {
9655    _data: [u8; 0],
9656    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9657}
9658
9659impl ::std::fmt::Debug for GtkVideo {
9660    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9661        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9662    }
9663}
9664
9665#[repr(C)]
9666#[allow(dead_code)]
9667pub struct GtkViewport {
9668    _data: [u8; 0],
9669    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9670}
9671
9672impl ::std::fmt::Debug for GtkViewport {
9673    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9674        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9675    }
9676}
9677
9678#[derive(Copy, Clone)]
9679#[repr(C)]
9680pub struct GtkVolumeButton {
9681    pub parent: GtkScaleButton,
9682}
9683
9684impl ::std::fmt::Debug for GtkVolumeButton {
9685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9686        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9687            .field("parent", &self.parent)
9688            .finish()
9689    }
9690}
9691
9692#[derive(Copy, Clone)]
9693#[repr(C)]
9694pub struct GtkWidget {
9695    pub parent_instance: gobject::GInitiallyUnowned,
9696    pub priv_: *mut GtkWidgetPrivate,
9697}
9698
9699impl ::std::fmt::Debug for GtkWidget {
9700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9701        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9702            .field("parent_instance", &self.parent_instance)
9703            .finish()
9704    }
9705}
9706
9707#[repr(C)]
9708#[allow(dead_code)]
9709pub struct GtkWidgetPaintable {
9710    _data: [u8; 0],
9711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9712}
9713
9714impl ::std::fmt::Debug for GtkWidgetPaintable {
9715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9716        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9717            .finish()
9718    }
9719}
9720
9721#[derive(Copy, Clone)]
9722#[repr(C)]
9723pub struct GtkWindow {
9724    pub parent_instance: GtkWidget,
9725}
9726
9727impl ::std::fmt::Debug for GtkWindow {
9728    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9729        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9730            .field("parent_instance", &self.parent_instance)
9731            .finish()
9732    }
9733}
9734
9735#[repr(C)]
9736#[allow(dead_code)]
9737pub struct GtkWindowControls {
9738    _data: [u8; 0],
9739    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9740}
9741
9742impl ::std::fmt::Debug for GtkWindowControls {
9743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9744        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9745            .finish()
9746    }
9747}
9748
9749#[derive(Copy, Clone)]
9750#[repr(C)]
9751pub struct GtkWindowGroup {
9752    pub parent_instance: gobject::GObject,
9753    pub priv_: *mut GtkWindowGroupPrivate,
9754}
9755
9756impl ::std::fmt::Debug for GtkWindowGroup {
9757    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9758        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9759            .field("parent_instance", &self.parent_instance)
9760            .field("priv_", &self.priv_)
9761            .finish()
9762    }
9763}
9764
9765#[repr(C)]
9766#[allow(dead_code)]
9767pub struct GtkWindowHandle {
9768    _data: [u8; 0],
9769    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9770}
9771
9772impl ::std::fmt::Debug for GtkWindowHandle {
9773    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9774        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9775            .finish()
9776    }
9777}
9778
9779// Interfaces
9780#[repr(C)]
9781#[allow(dead_code)]
9782pub struct GtkAccessible {
9783    _data: [u8; 0],
9784    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9785}
9786
9787impl ::std::fmt::Debug for GtkAccessible {
9788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9789        write!(f, "GtkAccessible @ {self:p}")
9790    }
9791}
9792
9793#[repr(C)]
9794#[allow(dead_code)]
9795pub struct GtkAccessibleHypertext {
9796    _data: [u8; 0],
9797    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9798}
9799
9800impl ::std::fmt::Debug for GtkAccessibleHypertext {
9801    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9802        write!(f, "GtkAccessibleHypertext @ {self:p}")
9803    }
9804}
9805
9806#[repr(C)]
9807#[allow(dead_code)]
9808pub struct GtkAccessibleRange {
9809    _data: [u8; 0],
9810    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9811}
9812
9813impl ::std::fmt::Debug for GtkAccessibleRange {
9814    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9815        write!(f, "GtkAccessibleRange @ {self:p}")
9816    }
9817}
9818
9819#[repr(C)]
9820#[allow(dead_code)]
9821pub struct GtkAccessibleText {
9822    _data: [u8; 0],
9823    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9824}
9825
9826impl ::std::fmt::Debug for GtkAccessibleText {
9827    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9828        write!(f, "GtkAccessibleText @ {self:p}")
9829    }
9830}
9831
9832#[repr(C)]
9833#[allow(dead_code)]
9834pub struct GtkActionable {
9835    _data: [u8; 0],
9836    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9837}
9838
9839impl ::std::fmt::Debug for GtkActionable {
9840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9841        write!(f, "GtkActionable @ {self:p}")
9842    }
9843}
9844
9845#[repr(C)]
9846#[allow(dead_code)]
9847pub struct GtkAppChooser {
9848    _data: [u8; 0],
9849    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9850}
9851
9852impl ::std::fmt::Debug for GtkAppChooser {
9853    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9854        write!(f, "GtkAppChooser @ {self:p}")
9855    }
9856}
9857
9858#[repr(C)]
9859#[allow(dead_code)]
9860pub struct GtkBuildable {
9861    _data: [u8; 0],
9862    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9863}
9864
9865impl ::std::fmt::Debug for GtkBuildable {
9866    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9867        write!(f, "GtkBuildable @ {self:p}")
9868    }
9869}
9870
9871#[repr(C)]
9872#[allow(dead_code)]
9873pub struct GtkBuilderScope {
9874    _data: [u8; 0],
9875    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9876}
9877
9878impl ::std::fmt::Debug for GtkBuilderScope {
9879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9880        write!(f, "GtkBuilderScope @ {self:p}")
9881    }
9882}
9883
9884#[repr(C)]
9885#[allow(dead_code)]
9886pub struct GtkCellEditable {
9887    _data: [u8; 0],
9888    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9889}
9890
9891impl ::std::fmt::Debug for GtkCellEditable {
9892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9893        write!(f, "GtkCellEditable @ {self:p}")
9894    }
9895}
9896
9897#[repr(C)]
9898#[allow(dead_code)]
9899pub struct GtkCellLayout {
9900    _data: [u8; 0],
9901    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9902}
9903
9904impl ::std::fmt::Debug for GtkCellLayout {
9905    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9906        write!(f, "GtkCellLayout @ {self:p}")
9907    }
9908}
9909
9910#[repr(C)]
9911#[allow(dead_code)]
9912pub struct GtkColorChooser {
9913    _data: [u8; 0],
9914    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9915}
9916
9917impl ::std::fmt::Debug for GtkColorChooser {
9918    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9919        write!(f, "GtkColorChooser @ {self:p}")
9920    }
9921}
9922
9923#[repr(C)]
9924#[allow(dead_code)]
9925pub struct GtkConstraintTarget {
9926    _data: [u8; 0],
9927    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9928}
9929
9930impl ::std::fmt::Debug for GtkConstraintTarget {
9931    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9932        write!(f, "GtkConstraintTarget @ {self:p}")
9933    }
9934}
9935
9936#[repr(C)]
9937#[allow(dead_code)]
9938pub struct GtkEditable {
9939    _data: [u8; 0],
9940    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9941}
9942
9943impl ::std::fmt::Debug for GtkEditable {
9944    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9945        write!(f, "GtkEditable @ {self:p}")
9946    }
9947}
9948
9949#[repr(C)]
9950#[allow(dead_code)]
9951pub struct GtkFileChooser {
9952    _data: [u8; 0],
9953    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9954}
9955
9956impl ::std::fmt::Debug for GtkFileChooser {
9957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9958        write!(f, "GtkFileChooser @ {self:p}")
9959    }
9960}
9961
9962#[repr(C)]
9963#[allow(dead_code)]
9964pub struct GtkFontChooser {
9965    _data: [u8; 0],
9966    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9967}
9968
9969impl ::std::fmt::Debug for GtkFontChooser {
9970    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9971        write!(f, "GtkFontChooser @ {self:p}")
9972    }
9973}
9974
9975#[repr(C)]
9976#[allow(dead_code)]
9977pub struct GtkNative {
9978    _data: [u8; 0],
9979    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9980}
9981
9982impl ::std::fmt::Debug for GtkNative {
9983    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9984        write!(f, "GtkNative @ {self:p}")
9985    }
9986}
9987
9988#[repr(C)]
9989#[allow(dead_code)]
9990pub struct GtkOrientable {
9991    _data: [u8; 0],
9992    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9993}
9994
9995impl ::std::fmt::Debug for GtkOrientable {
9996    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9997        write!(f, "GtkOrientable @ {self:p}")
9998    }
9999}
10000
10001#[repr(C)]
10002#[allow(dead_code)]
10003pub struct GtkPrintOperationPreview {
10004    _data: [u8; 0],
10005    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10006}
10007
10008impl ::std::fmt::Debug for GtkPrintOperationPreview {
10009    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10010        write!(f, "GtkPrintOperationPreview @ {self:p}")
10011    }
10012}
10013
10014#[repr(C)]
10015#[allow(dead_code)]
10016pub struct GtkRoot {
10017    _data: [u8; 0],
10018    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10019}
10020
10021impl ::std::fmt::Debug for GtkRoot {
10022    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10023        write!(f, "GtkRoot @ {self:p}")
10024    }
10025}
10026
10027#[repr(C)]
10028#[allow(dead_code)]
10029pub struct GtkScrollable {
10030    _data: [u8; 0],
10031    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10032}
10033
10034impl ::std::fmt::Debug for GtkScrollable {
10035    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10036        write!(f, "GtkScrollable @ {self:p}")
10037    }
10038}
10039
10040#[repr(C)]
10041#[allow(dead_code)]
10042pub struct GtkSectionModel {
10043    _data: [u8; 0],
10044    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10045}
10046
10047impl ::std::fmt::Debug for GtkSectionModel {
10048    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10049        write!(f, "GtkSectionModel @ {self:p}")
10050    }
10051}
10052
10053#[repr(C)]
10054#[allow(dead_code)]
10055pub struct GtkSelectionModel {
10056    _data: [u8; 0],
10057    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10058}
10059
10060impl ::std::fmt::Debug for GtkSelectionModel {
10061    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10062        write!(f, "GtkSelectionModel @ {self:p}")
10063    }
10064}
10065
10066#[repr(C)]
10067#[allow(dead_code)]
10068pub struct GtkShortcutManager {
10069    _data: [u8; 0],
10070    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10071}
10072
10073impl ::std::fmt::Debug for GtkShortcutManager {
10074    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10075        write!(f, "GtkShortcutManager @ {self:p}")
10076    }
10077}
10078
10079#[repr(C)]
10080#[allow(dead_code)]
10081pub struct GtkStyleProvider {
10082    _data: [u8; 0],
10083    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10084}
10085
10086impl ::std::fmt::Debug for GtkStyleProvider {
10087    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10088        write!(f, "GtkStyleProvider @ {self:p}")
10089    }
10090}
10091
10092#[repr(C)]
10093#[allow(dead_code)]
10094pub struct GtkSymbolicPaintable {
10095    _data: [u8; 0],
10096    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10097}
10098
10099impl ::std::fmt::Debug for GtkSymbolicPaintable {
10100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10101        write!(f, "GtkSymbolicPaintable @ {self:p}")
10102    }
10103}
10104
10105#[repr(C)]
10106#[allow(dead_code)]
10107pub struct GtkTreeDragDest {
10108    _data: [u8; 0],
10109    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10110}
10111
10112impl ::std::fmt::Debug for GtkTreeDragDest {
10113    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10114        write!(f, "GtkTreeDragDest @ {self:p}")
10115    }
10116}
10117
10118#[repr(C)]
10119#[allow(dead_code)]
10120pub struct GtkTreeDragSource {
10121    _data: [u8; 0],
10122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10123}
10124
10125impl ::std::fmt::Debug for GtkTreeDragSource {
10126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10127        write!(f, "GtkTreeDragSource @ {self:p}")
10128    }
10129}
10130
10131#[repr(C)]
10132#[allow(dead_code)]
10133pub struct GtkTreeModel {
10134    _data: [u8; 0],
10135    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10136}
10137
10138impl ::std::fmt::Debug for GtkTreeModel {
10139    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10140        write!(f, "GtkTreeModel @ {self:p}")
10141    }
10142}
10143
10144#[repr(C)]
10145#[allow(dead_code)]
10146pub struct GtkTreeSortable {
10147    _data: [u8; 0],
10148    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10149}
10150
10151impl ::std::fmt::Debug for GtkTreeSortable {
10152    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10153        write!(f, "GtkTreeSortable @ {self:p}")
10154    }
10155}
10156
10157unsafe extern "C" {
10158
10159    //=========================================================================
10160    // GtkAccessibleAnnouncementPriority
10161    //=========================================================================
10162    #[cfg(feature = "v4_14")]
10163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10164    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
10165
10166    //=========================================================================
10167    // GtkAccessibleAutocomplete
10168    //=========================================================================
10169    pub fn gtk_accessible_autocomplete_get_type() -> GType;
10170
10171    //=========================================================================
10172    // GtkAccessibleInvalidState
10173    //=========================================================================
10174    pub fn gtk_accessible_invalid_state_get_type() -> GType;
10175
10176    //=========================================================================
10177    // GtkAccessiblePlatformState
10178    //=========================================================================
10179    #[cfg(feature = "v4_10")]
10180    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10181    pub fn gtk_accessible_platform_state_get_type() -> GType;
10182
10183    //=========================================================================
10184    // GtkAccessibleProperty
10185    //=========================================================================
10186    pub fn gtk_accessible_property_get_type() -> GType;
10187    pub fn gtk_accessible_property_init_value(
10188        property: GtkAccessibleProperty,
10189        value: *mut gobject::GValue,
10190    );
10191
10192    //=========================================================================
10193    // GtkAccessibleRelation
10194    //=========================================================================
10195    pub fn gtk_accessible_relation_get_type() -> GType;
10196    pub fn gtk_accessible_relation_init_value(
10197        relation: GtkAccessibleRelation,
10198        value: *mut gobject::GValue,
10199    );
10200
10201    //=========================================================================
10202    // GtkAccessibleRole
10203    //=========================================================================
10204    pub fn gtk_accessible_role_get_type() -> GType;
10205
10206    //=========================================================================
10207    // GtkAccessibleSort
10208    //=========================================================================
10209    pub fn gtk_accessible_sort_get_type() -> GType;
10210
10211    //=========================================================================
10212    // GtkAccessibleState
10213    //=========================================================================
10214    pub fn gtk_accessible_state_get_type() -> GType;
10215    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
10216
10217    //=========================================================================
10218    // GtkAccessibleTextContentChange
10219    //=========================================================================
10220    #[cfg(feature = "v4_14")]
10221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10222    pub fn gtk_accessible_text_content_change_get_type() -> GType;
10223
10224    //=========================================================================
10225    // GtkAccessibleTextGranularity
10226    //=========================================================================
10227    #[cfg(feature = "v4_14")]
10228    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10229    pub fn gtk_accessible_text_granularity_get_type() -> GType;
10230
10231    //=========================================================================
10232    // GtkAccessibleTristate
10233    //=========================================================================
10234    pub fn gtk_accessible_tristate_get_type() -> GType;
10235
10236    //=========================================================================
10237    // GtkAlign
10238    //=========================================================================
10239    pub fn gtk_align_get_type() -> GType;
10240
10241    //=========================================================================
10242    // GtkArrowType
10243    //=========================================================================
10244    pub fn gtk_arrow_type_get_type() -> GType;
10245
10246    //=========================================================================
10247    // GtkAssistantPageType
10248    //=========================================================================
10249    pub fn gtk_assistant_page_type_get_type() -> GType;
10250
10251    //=========================================================================
10252    // GtkBaselinePosition
10253    //=========================================================================
10254    pub fn gtk_baseline_position_get_type() -> GType;
10255
10256    //=========================================================================
10257    // GtkBorderStyle
10258    //=========================================================================
10259    pub fn gtk_border_style_get_type() -> GType;
10260
10261    //=========================================================================
10262    // GtkBuilderError
10263    //=========================================================================
10264    pub fn gtk_builder_error_get_type() -> GType;
10265    pub fn gtk_builder_error_quark() -> glib::GQuark;
10266
10267    //=========================================================================
10268    // GtkButtonsType
10269    //=========================================================================
10270    pub fn gtk_buttons_type_get_type() -> GType;
10271
10272    //=========================================================================
10273    // GtkCellRendererAccelMode
10274    //=========================================================================
10275    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
10276
10277    //=========================================================================
10278    // GtkCellRendererMode
10279    //=========================================================================
10280    pub fn gtk_cell_renderer_mode_get_type() -> GType;
10281
10282    //=========================================================================
10283    // GtkCollation
10284    //=========================================================================
10285    #[cfg(feature = "v4_10")]
10286    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10287    pub fn gtk_collation_get_type() -> GType;
10288
10289    //=========================================================================
10290    // GtkConstraintAttribute
10291    //=========================================================================
10292    pub fn gtk_constraint_attribute_get_type() -> GType;
10293
10294    //=========================================================================
10295    // GtkConstraintRelation
10296    //=========================================================================
10297    pub fn gtk_constraint_relation_get_type() -> GType;
10298
10299    //=========================================================================
10300    // GtkConstraintStrength
10301    //=========================================================================
10302    pub fn gtk_constraint_strength_get_type() -> GType;
10303
10304    //=========================================================================
10305    // GtkConstraintVflParserError
10306    //=========================================================================
10307    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10308    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10309
10310    //=========================================================================
10311    // GtkContentFit
10312    //=========================================================================
10313    #[cfg(feature = "v4_8")]
10314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10315    pub fn gtk_content_fit_get_type() -> GType;
10316
10317    //=========================================================================
10318    // GtkCornerType
10319    //=========================================================================
10320    pub fn gtk_corner_type_get_type() -> GType;
10321
10322    //=========================================================================
10323    // GtkDeleteType
10324    //=========================================================================
10325    pub fn gtk_delete_type_get_type() -> GType;
10326
10327    //=========================================================================
10328    // GtkDialogError
10329    //=========================================================================
10330    #[cfg(feature = "v4_10")]
10331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10332    pub fn gtk_dialog_error_get_type() -> GType;
10333    #[cfg(feature = "v4_10")]
10334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10335    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10336
10337    //=========================================================================
10338    // GtkDirectionType
10339    //=========================================================================
10340    pub fn gtk_direction_type_get_type() -> GType;
10341
10342    //=========================================================================
10343    // GtkEditableProperties
10344    //=========================================================================
10345    pub fn gtk_editable_properties_get_type() -> GType;
10346
10347    //=========================================================================
10348    // GtkEntryIconPosition
10349    //=========================================================================
10350    pub fn gtk_entry_icon_position_get_type() -> GType;
10351
10352    //=========================================================================
10353    // GtkEventSequenceState
10354    //=========================================================================
10355    pub fn gtk_event_sequence_state_get_type() -> GType;
10356
10357    //=========================================================================
10358    // GtkFileChooserAction
10359    //=========================================================================
10360    pub fn gtk_file_chooser_action_get_type() -> GType;
10361
10362    //=========================================================================
10363    // GtkFileChooserError
10364    //=========================================================================
10365    pub fn gtk_file_chooser_error_get_type() -> GType;
10366    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10367
10368    //=========================================================================
10369    // GtkFilterChange
10370    //=========================================================================
10371    pub fn gtk_filter_change_get_type() -> GType;
10372
10373    //=========================================================================
10374    // GtkFilterMatch
10375    //=========================================================================
10376    pub fn gtk_filter_match_get_type() -> GType;
10377
10378    //=========================================================================
10379    // GtkFontLevel
10380    //=========================================================================
10381    #[cfg(feature = "v4_10")]
10382    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10383    pub fn gtk_font_level_get_type() -> GType;
10384
10385    //=========================================================================
10386    // GtkFontRendering
10387    //=========================================================================
10388    #[cfg(feature = "v4_16")]
10389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10390    pub fn gtk_font_rendering_get_type() -> GType;
10391
10392    //=========================================================================
10393    // GtkGraphicsOffloadEnabled
10394    //=========================================================================
10395    #[cfg(feature = "v4_14")]
10396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10397    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10398
10399    //=========================================================================
10400    // GtkIconSize
10401    //=========================================================================
10402    pub fn gtk_icon_size_get_type() -> GType;
10403
10404    //=========================================================================
10405    // GtkIconThemeError
10406    //=========================================================================
10407    pub fn gtk_icon_theme_error_get_type() -> GType;
10408    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10409
10410    //=========================================================================
10411    // GtkIconViewDropPosition
10412    //=========================================================================
10413    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10414
10415    //=========================================================================
10416    // GtkImageType
10417    //=========================================================================
10418    pub fn gtk_image_type_get_type() -> GType;
10419
10420    //=========================================================================
10421    // GtkInputPurpose
10422    //=========================================================================
10423    pub fn gtk_input_purpose_get_type() -> GType;
10424
10425    //=========================================================================
10426    // GtkInscriptionOverflow
10427    //=========================================================================
10428    #[cfg(feature = "v4_8")]
10429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10430    pub fn gtk_inscription_overflow_get_type() -> GType;
10431
10432    //=========================================================================
10433    // GtkInterfaceColorScheme
10434    //=========================================================================
10435    #[cfg(feature = "v4_20")]
10436    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10437    pub fn gtk_interface_color_scheme_get_type() -> GType;
10438
10439    //=========================================================================
10440    // GtkInterfaceContrast
10441    //=========================================================================
10442    #[cfg(feature = "v4_20")]
10443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10444    pub fn gtk_interface_contrast_get_type() -> GType;
10445
10446    //=========================================================================
10447    // GtkJustification
10448    //=========================================================================
10449    pub fn gtk_justification_get_type() -> GType;
10450
10451    //=========================================================================
10452    // GtkLevelBarMode
10453    //=========================================================================
10454    pub fn gtk_level_bar_mode_get_type() -> GType;
10455
10456    //=========================================================================
10457    // GtkLicense
10458    //=========================================================================
10459    pub fn gtk_license_get_type() -> GType;
10460
10461    //=========================================================================
10462    // GtkListTabBehavior
10463    //=========================================================================
10464    #[cfg(feature = "v4_12")]
10465    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10466    pub fn gtk_list_tab_behavior_get_type() -> GType;
10467
10468    //=========================================================================
10469    // GtkMessageType
10470    //=========================================================================
10471    pub fn gtk_message_type_get_type() -> GType;
10472
10473    //=========================================================================
10474    // GtkMovementStep
10475    //=========================================================================
10476    pub fn gtk_movement_step_get_type() -> GType;
10477
10478    //=========================================================================
10479    // GtkNaturalWrapMode
10480    //=========================================================================
10481    #[cfg(feature = "v4_6")]
10482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10483    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10484
10485    //=========================================================================
10486    // GtkNotebookTab
10487    //=========================================================================
10488    pub fn gtk_notebook_tab_get_type() -> GType;
10489
10490    //=========================================================================
10491    // GtkNumberUpLayout
10492    //=========================================================================
10493    pub fn gtk_number_up_layout_get_type() -> GType;
10494
10495    //=========================================================================
10496    // GtkOrdering
10497    //=========================================================================
10498    pub fn gtk_ordering_get_type() -> GType;
10499    #[cfg(feature = "v4_2")]
10500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
10501    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10502
10503    //=========================================================================
10504    // GtkOrientation
10505    //=========================================================================
10506    pub fn gtk_orientation_get_type() -> GType;
10507
10508    //=========================================================================
10509    // GtkOverflow
10510    //=========================================================================
10511    pub fn gtk_overflow_get_type() -> GType;
10512
10513    //=========================================================================
10514    // GtkPackType
10515    //=========================================================================
10516    pub fn gtk_pack_type_get_type() -> GType;
10517
10518    //=========================================================================
10519    // GtkPadActionType
10520    //=========================================================================
10521    pub fn gtk_pad_action_type_get_type() -> GType;
10522
10523    //=========================================================================
10524    // GtkPageOrientation
10525    //=========================================================================
10526    pub fn gtk_page_orientation_get_type() -> GType;
10527
10528    //=========================================================================
10529    // GtkPageSet
10530    //=========================================================================
10531    pub fn gtk_page_set_get_type() -> GType;
10532
10533    //=========================================================================
10534    // GtkPanDirection
10535    //=========================================================================
10536    pub fn gtk_pan_direction_get_type() -> GType;
10537
10538    //=========================================================================
10539    // GtkPolicyType
10540    //=========================================================================
10541    pub fn gtk_policy_type_get_type() -> GType;
10542
10543    //=========================================================================
10544    // GtkPositionType
10545    //=========================================================================
10546    pub fn gtk_position_type_get_type() -> GType;
10547
10548    //=========================================================================
10549    // GtkPrintDuplex
10550    //=========================================================================
10551    pub fn gtk_print_duplex_get_type() -> GType;
10552
10553    //=========================================================================
10554    // GtkPrintError
10555    //=========================================================================
10556    pub fn gtk_print_error_get_type() -> GType;
10557    pub fn gtk_print_error_quark() -> glib::GQuark;
10558
10559    //=========================================================================
10560    // GtkPrintOperationAction
10561    //=========================================================================
10562    pub fn gtk_print_operation_action_get_type() -> GType;
10563
10564    //=========================================================================
10565    // GtkPrintOperationResult
10566    //=========================================================================
10567    pub fn gtk_print_operation_result_get_type() -> GType;
10568
10569    //=========================================================================
10570    // GtkPrintPages
10571    //=========================================================================
10572    pub fn gtk_print_pages_get_type() -> GType;
10573
10574    //=========================================================================
10575    // GtkPrintQuality
10576    //=========================================================================
10577    pub fn gtk_print_quality_get_type() -> GType;
10578
10579    //=========================================================================
10580    // GtkPrintStatus
10581    //=========================================================================
10582    pub fn gtk_print_status_get_type() -> GType;
10583
10584    //=========================================================================
10585    // GtkPropagationLimit
10586    //=========================================================================
10587    pub fn gtk_propagation_limit_get_type() -> GType;
10588
10589    //=========================================================================
10590    // GtkPropagationPhase
10591    //=========================================================================
10592    pub fn gtk_propagation_phase_get_type() -> GType;
10593
10594    //=========================================================================
10595    // GtkRecentManagerError
10596    //=========================================================================
10597    pub fn gtk_recent_manager_error_get_type() -> GType;
10598    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10599
10600    //=========================================================================
10601    // GtkReducedMotion
10602    //=========================================================================
10603    #[cfg(feature = "v4_22")]
10604    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10605    pub fn gtk_reduced_motion_get_type() -> GType;
10606
10607    //=========================================================================
10608    // GtkResponseType
10609    //=========================================================================
10610    pub fn gtk_response_type_get_type() -> GType;
10611
10612    //=========================================================================
10613    // GtkRestoreReason
10614    //=========================================================================
10615    #[cfg(feature = "v4_24")]
10616    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10617    pub fn gtk_restore_reason_get_type() -> GType;
10618
10619    //=========================================================================
10620    // GtkRevealerTransitionType
10621    //=========================================================================
10622    pub fn gtk_revealer_transition_type_get_type() -> GType;
10623
10624    //=========================================================================
10625    // GtkScrollStep
10626    //=========================================================================
10627    pub fn gtk_scroll_step_get_type() -> GType;
10628
10629    //=========================================================================
10630    // GtkScrollType
10631    //=========================================================================
10632    pub fn gtk_scroll_type_get_type() -> GType;
10633
10634    //=========================================================================
10635    // GtkScrollablePolicy
10636    //=========================================================================
10637    pub fn gtk_scrollable_policy_get_type() -> GType;
10638
10639    //=========================================================================
10640    // GtkSelectionMode
10641    //=========================================================================
10642    pub fn gtk_selection_mode_get_type() -> GType;
10643
10644    //=========================================================================
10645    // GtkSensitivityType
10646    //=========================================================================
10647    pub fn gtk_sensitivity_type_get_type() -> GType;
10648
10649    //=========================================================================
10650    // GtkShortcutScope
10651    //=========================================================================
10652    pub fn gtk_shortcut_scope_get_type() -> GType;
10653
10654    //=========================================================================
10655    // GtkShortcutType
10656    //=========================================================================
10657    pub fn gtk_shortcut_type_get_type() -> GType;
10658
10659    //=========================================================================
10660    // GtkSizeGroupMode
10661    //=========================================================================
10662    pub fn gtk_size_group_mode_get_type() -> GType;
10663
10664    //=========================================================================
10665    // GtkSizeRequestMode
10666    //=========================================================================
10667    pub fn gtk_size_request_mode_get_type() -> GType;
10668
10669    //=========================================================================
10670    // GtkSortType
10671    //=========================================================================
10672    pub fn gtk_sort_type_get_type() -> GType;
10673
10674    //=========================================================================
10675    // GtkSorterChange
10676    //=========================================================================
10677    pub fn gtk_sorter_change_get_type() -> GType;
10678
10679    //=========================================================================
10680    // GtkSorterOrder
10681    //=========================================================================
10682    pub fn gtk_sorter_order_get_type() -> GType;
10683
10684    //=========================================================================
10685    // GtkSpinButtonUpdatePolicy
10686    //=========================================================================
10687    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10688
10689    //=========================================================================
10690    // GtkSpinType
10691    //=========================================================================
10692    pub fn gtk_spin_type_get_type() -> GType;
10693
10694    //=========================================================================
10695    // GtkStackTransitionType
10696    //=========================================================================
10697    pub fn gtk_stack_transition_type_get_type() -> GType;
10698
10699    //=========================================================================
10700    // GtkStringFilterMatchMode
10701    //=========================================================================
10702    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10703
10704    //=========================================================================
10705    // GtkSvgError
10706    //=========================================================================
10707    #[cfg(feature = "v4_22")]
10708    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10709    pub fn gtk_svg_error_get_type() -> GType;
10710    #[cfg(feature = "v4_22")]
10711    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10712    pub fn gtk_svg_error_get_attribute(error: *const glib::GError) -> *const c_char;
10713    #[cfg(feature = "v4_22")]
10714    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10715    pub fn gtk_svg_error_get_element(error: *const glib::GError) -> *const c_char;
10716    #[cfg(feature = "v4_22")]
10717    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10718    pub fn gtk_svg_error_get_end(error: *const glib::GError) -> *const GtkSvgLocation;
10719    #[cfg(feature = "v4_22")]
10720    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10721    pub fn gtk_svg_error_get_start(error: *const glib::GError) -> *const GtkSvgLocation;
10722    #[cfg(feature = "v4_22")]
10723    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10724    pub fn gtk_svg_error_quark() -> glib::GQuark;
10725
10726    //=========================================================================
10727    // GtkSymbolicColor
10728    //=========================================================================
10729    #[cfg(feature = "v4_6")]
10730    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10731    pub fn gtk_symbolic_color_get_type() -> GType;
10732
10733    //=========================================================================
10734    // GtkSystemSetting
10735    //=========================================================================
10736    pub fn gtk_system_setting_get_type() -> GType;
10737
10738    //=========================================================================
10739    // GtkTextDirection
10740    //=========================================================================
10741    pub fn gtk_text_direction_get_type() -> GType;
10742
10743    //=========================================================================
10744    // GtkTextExtendSelection
10745    //=========================================================================
10746    pub fn gtk_text_extend_selection_get_type() -> GType;
10747
10748    //=========================================================================
10749    // GtkTextViewLayer
10750    //=========================================================================
10751    pub fn gtk_text_view_layer_get_type() -> GType;
10752
10753    //=========================================================================
10754    // GtkTextWindowType
10755    //=========================================================================
10756    pub fn gtk_text_window_type_get_type() -> GType;
10757
10758    //=========================================================================
10759    // GtkTreeViewColumnSizing
10760    //=========================================================================
10761    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10762
10763    //=========================================================================
10764    // GtkTreeViewDropPosition
10765    //=========================================================================
10766    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10767
10768    //=========================================================================
10769    // GtkTreeViewGridLines
10770    //=========================================================================
10771    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10772
10773    //=========================================================================
10774    // GtkUnit
10775    //=========================================================================
10776    pub fn gtk_unit_get_type() -> GType;
10777
10778    //=========================================================================
10779    // GtkWindowGravity
10780    //=========================================================================
10781    #[cfg(feature = "v4_20")]
10782    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10783    pub fn gtk_window_gravity_get_type() -> GType;
10784
10785    //=========================================================================
10786    // GtkWrapMode
10787    //=========================================================================
10788    pub fn gtk_wrap_mode_get_type() -> GType;
10789
10790    //=========================================================================
10791    // GtkApplicationInhibitFlags
10792    //=========================================================================
10793    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10794
10795    //=========================================================================
10796    // GtkBuilderClosureFlags
10797    //=========================================================================
10798    pub fn gtk_builder_closure_flags_get_type() -> GType;
10799
10800    //=========================================================================
10801    // GtkCellRendererState
10802    //=========================================================================
10803    pub fn gtk_cell_renderer_state_get_type() -> GType;
10804
10805    //=========================================================================
10806    // GtkDebugFlags
10807    //=========================================================================
10808    pub fn gtk_debug_flags_get_type() -> GType;
10809
10810    //=========================================================================
10811    // GtkDialogFlags
10812    //=========================================================================
10813    pub fn gtk_dialog_flags_get_type() -> GType;
10814
10815    //=========================================================================
10816    // GtkEventControllerScrollFlags
10817    //=========================================================================
10818    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10819
10820    //=========================================================================
10821    // GtkFontChooserLevel
10822    //=========================================================================
10823    pub fn gtk_font_chooser_level_get_type() -> GType;
10824
10825    //=========================================================================
10826    // GtkIconLookupFlags
10827    //=========================================================================
10828    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10829
10830    //=========================================================================
10831    // GtkInputHints
10832    //=========================================================================
10833    pub fn gtk_input_hints_get_type() -> GType;
10834
10835    //=========================================================================
10836    // GtkListScrollFlags
10837    //=========================================================================
10838    #[cfg(feature = "v4_12")]
10839    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10840    pub fn gtk_list_scroll_flags_get_type() -> GType;
10841
10842    //=========================================================================
10843    // GtkPickFlags
10844    //=========================================================================
10845    pub fn gtk_pick_flags_get_type() -> GType;
10846
10847    //=========================================================================
10848    // GtkPopoverMenuFlags
10849    //=========================================================================
10850    pub fn gtk_popover_menu_flags_get_type() -> GType;
10851
10852    //=========================================================================
10853    // GtkPrintCapabilities
10854    //=========================================================================
10855    pub fn gtk_print_capabilities_get_type() -> GType;
10856
10857    //=========================================================================
10858    // GtkShortcutActionFlags
10859    //=========================================================================
10860    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10861
10862    //=========================================================================
10863    // GtkStateFlags
10864    //=========================================================================
10865    pub fn gtk_state_flags_get_type() -> GType;
10866
10867    //=========================================================================
10868    // GtkStyleContextPrintFlags
10869    //=========================================================================
10870    pub fn gtk_style_context_print_flags_get_type() -> GType;
10871
10872    //=========================================================================
10873    // GtkSvgFeatures
10874    //=========================================================================
10875    #[cfg(feature = "v4_22")]
10876    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10877    pub fn gtk_svg_features_get_type() -> GType;
10878
10879    //=========================================================================
10880    // GtkTextBufferNotifyFlags
10881    //=========================================================================
10882    #[cfg(feature = "v4_16")]
10883    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10884    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10885
10886    //=========================================================================
10887    // GtkTextSearchFlags
10888    //=========================================================================
10889    pub fn gtk_text_search_flags_get_type() -> GType;
10890
10891    //=========================================================================
10892    // GtkTreeModelFlags
10893    //=========================================================================
10894    pub fn gtk_tree_model_flags_get_type() -> GType;
10895
10896    //=========================================================================
10897    // GtkAccessibleList
10898    //=========================================================================
10899    #[cfg(feature = "v4_14")]
10900    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10901    pub fn gtk_accessible_list_get_type() -> GType;
10902    #[cfg(feature = "v4_14")]
10903    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10904    pub fn gtk_accessible_list_new_from_array(
10905        accessibles: *mut *mut GtkAccessible,
10906        n_accessibles: size_t,
10907    ) -> *mut GtkAccessibleList;
10908    #[cfg(feature = "v4_14")]
10909    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10910    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
10911    #[cfg(feature = "v4_14")]
10912    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10913    pub fn gtk_accessible_list_get_objects(
10914        accessible_list: *mut GtkAccessibleList,
10915    ) -> *mut glib::GList;
10916
10917    //=========================================================================
10918    // GtkBitset
10919    //=========================================================================
10920    pub fn gtk_bitset_get_type() -> GType;
10921    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
10922    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
10923    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10924    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10925    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10926    pub fn gtk_bitset_add_rectangle(
10927        self_: *mut GtkBitset,
10928        start: c_uint,
10929        width: c_uint,
10930        height: c_uint,
10931        stride: c_uint,
10932    );
10933    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
10934    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
10935    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
10936    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
10937    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
10938    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
10939    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
10940    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
10941    pub fn gtk_bitset_get_size_in_range(
10942        self_: *const GtkBitset,
10943        first: c_uint,
10944        last: c_uint,
10945    ) -> u64;
10946    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
10947    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
10948    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
10949    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10950    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
10951    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10952    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10953    pub fn gtk_bitset_remove_rectangle(
10954        self_: *mut GtkBitset,
10955        start: c_uint,
10956        width: c_uint,
10957        height: c_uint,
10958        stride: c_uint,
10959    );
10960    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
10961    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
10962    pub fn gtk_bitset_splice(
10963        self_: *mut GtkBitset,
10964        position: c_uint,
10965        removed: c_uint,
10966        added: c_uint,
10967    );
10968    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
10969    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
10970    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
10971
10972    //=========================================================================
10973    // GtkBitsetIter
10974    //=========================================================================
10975    pub fn gtk_bitset_iter_get_type() -> GType;
10976    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
10977    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
10978    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
10979    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
10980    pub fn gtk_bitset_iter_init_at(
10981        iter: *mut GtkBitsetIter,
10982        set: *const GtkBitset,
10983        target: c_uint,
10984        value: *mut c_uint,
10985    ) -> gboolean;
10986    pub fn gtk_bitset_iter_init_first(
10987        iter: *mut GtkBitsetIter,
10988        set: *const GtkBitset,
10989        value: *mut c_uint,
10990    ) -> gboolean;
10991    pub fn gtk_bitset_iter_init_last(
10992        iter: *mut GtkBitsetIter,
10993        set: *const GtkBitset,
10994        value: *mut c_uint,
10995    ) -> gboolean;
10996
10997    //=========================================================================
10998    // GtkBorder
10999    //=========================================================================
11000    pub fn gtk_border_get_type() -> GType;
11001    pub fn gtk_border_new() -> *mut GtkBorder;
11002    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
11003    pub fn gtk_border_free(border_: *mut GtkBorder);
11004
11005    //=========================================================================
11006    // GtkBuildableParseContext
11007    //=========================================================================
11008    pub fn gtk_buildable_parse_context_get_element(
11009        context: *mut GtkBuildableParseContext,
11010    ) -> *const c_char;
11011    pub fn gtk_buildable_parse_context_get_element_stack(
11012        context: *mut GtkBuildableParseContext,
11013    ) -> *mut glib::GPtrArray;
11014    pub fn gtk_buildable_parse_context_get_position(
11015        context: *mut GtkBuildableParseContext,
11016        line_number: *mut c_int,
11017        char_number: *mut c_int,
11018    );
11019    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
11020    pub fn gtk_buildable_parse_context_push(
11021        context: *mut GtkBuildableParseContext,
11022        parser: *const GtkBuildableParser,
11023        user_data: gpointer,
11024    );
11025
11026    //=========================================================================
11027    // GtkCellAreaClass
11028    //=========================================================================
11029    pub fn gtk_cell_area_class_find_cell_property(
11030        aclass: *mut GtkCellAreaClass,
11031        property_name: *const c_char,
11032    ) -> *mut gobject::GParamSpec;
11033    pub fn gtk_cell_area_class_install_cell_property(
11034        aclass: *mut GtkCellAreaClass,
11035        property_id: c_uint,
11036        pspec: *mut gobject::GParamSpec,
11037    );
11038    pub fn gtk_cell_area_class_list_cell_properties(
11039        aclass: *mut GtkCellAreaClass,
11040        n_properties: *mut c_uint,
11041    ) -> *mut *mut gobject::GParamSpec;
11042
11043    //=========================================================================
11044    // GtkCssSection
11045    //=========================================================================
11046    pub fn gtk_css_section_get_type() -> GType;
11047    pub fn gtk_css_section_new(
11048        file: *mut gio::GFile,
11049        start: *const GtkCssLocation,
11050        end: *const GtkCssLocation,
11051    ) -> *mut GtkCssSection;
11052    #[cfg(feature = "v4_16")]
11053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11054    pub fn gtk_css_section_new_with_bytes(
11055        file: *mut gio::GFile,
11056        bytes: *mut glib::GBytes,
11057        start: *const GtkCssLocation,
11058        end: *const GtkCssLocation,
11059    ) -> *mut GtkCssSection;
11060    #[cfg(feature = "v4_16")]
11061    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11062    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
11063    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
11064    -> *const GtkCssLocation;
11065    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
11066    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
11067    pub fn gtk_css_section_get_start_location(
11068        section: *const GtkCssSection,
11069    ) -> *const GtkCssLocation;
11070    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
11071    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
11072    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
11073    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
11074
11075    //=========================================================================
11076    // GtkExpressionWatch
11077    //=========================================================================
11078    #[cfg(feature = "v4_2")]
11079    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
11080    pub fn gtk_expression_watch_get_type() -> GType;
11081    pub fn gtk_expression_watch_evaluate(
11082        watch: *mut GtkExpressionWatch,
11083        value: *mut gobject::GValue,
11084    ) -> gboolean;
11085    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
11086    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
11087    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
11088
11089    //=========================================================================
11090    // GtkPaperSize
11091    //=========================================================================
11092    pub fn gtk_paper_size_get_type() -> GType;
11093    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
11094    pub fn gtk_paper_size_new_custom(
11095        name: *const c_char,
11096        display_name: *const c_char,
11097        width: c_double,
11098        height: c_double,
11099        unit: GtkUnit,
11100    ) -> *mut GtkPaperSize;
11101    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
11102    pub fn gtk_paper_size_new_from_ipp(
11103        ipp_name: *const c_char,
11104        width: c_double,
11105        height: c_double,
11106    ) -> *mut GtkPaperSize;
11107    pub fn gtk_paper_size_new_from_key_file(
11108        key_file: *mut glib::GKeyFile,
11109        group_name: *const c_char,
11110        error: *mut *mut glib::GError,
11111    ) -> *mut GtkPaperSize;
11112    pub fn gtk_paper_size_new_from_ppd(
11113        ppd_name: *const c_char,
11114        ppd_display_name: *const c_char,
11115        width: c_double,
11116        height: c_double,
11117    ) -> *mut GtkPaperSize;
11118    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
11119    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
11120    pub fn gtk_paper_size_get_default_bottom_margin(
11121        size: *mut GtkPaperSize,
11122        unit: GtkUnit,
11123    ) -> c_double;
11124    pub fn gtk_paper_size_get_default_left_margin(
11125        size: *mut GtkPaperSize,
11126        unit: GtkUnit,
11127    ) -> c_double;
11128    pub fn gtk_paper_size_get_default_right_margin(
11129        size: *mut GtkPaperSize,
11130        unit: GtkUnit,
11131    ) -> c_double;
11132    pub fn gtk_paper_size_get_default_top_margin(
11133        size: *mut GtkPaperSize,
11134        unit: GtkUnit,
11135    ) -> c_double;
11136    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
11137    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11138    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
11139    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
11140    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11141    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
11142    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
11143    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
11144    pub fn gtk_paper_size_set_size(
11145        size: *mut GtkPaperSize,
11146        width: c_double,
11147        height: c_double,
11148        unit: GtkUnit,
11149    );
11150    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
11151    pub fn gtk_paper_size_to_key_file(
11152        size: *mut GtkPaperSize,
11153        key_file: *mut glib::GKeyFile,
11154        group_name: *const c_char,
11155    );
11156    pub fn gtk_paper_size_get_default() -> *const c_char;
11157    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
11158
11159    //=========================================================================
11160    // GtkPrintSetup
11161    //=========================================================================
11162    #[cfg(feature = "v4_14")]
11163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11164    pub fn gtk_print_setup_get_type() -> GType;
11165    #[cfg(feature = "v4_14")]
11166    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11167    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
11168    #[cfg(feature = "v4_14")]
11169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11170    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
11171    #[cfg(feature = "v4_14")]
11172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11173    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
11174    #[cfg(feature = "v4_14")]
11175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11176    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
11177
11178    //=========================================================================
11179    // GtkRecentInfo
11180    //=========================================================================
11181    pub fn gtk_recent_info_get_type() -> GType;
11182    pub fn gtk_recent_info_create_app_info(
11183        info: *mut GtkRecentInfo,
11184        app_name: *const c_char,
11185        error: *mut *mut glib::GError,
11186    ) -> *mut gio::GAppInfo;
11187    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
11188    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11189    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
11190    pub fn gtk_recent_info_get_application_info(
11191        info: *mut GtkRecentInfo,
11192        app_name: *const c_char,
11193        app_exec: *mut *const c_char,
11194        count: *mut c_uint,
11195        stamp: *mut *mut glib::GDateTime,
11196    ) -> gboolean;
11197    pub fn gtk_recent_info_get_applications(
11198        info: *mut GtkRecentInfo,
11199        length: *mut size_t,
11200    ) -> *mut *mut c_char;
11201    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
11202    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
11203    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
11204    pub fn gtk_recent_info_get_groups(
11205        info: *mut GtkRecentInfo,
11206        length: *mut size_t,
11207    ) -> *mut *mut c_char;
11208    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
11209    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11210    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
11211    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
11212    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
11213    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
11214    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11215    pub fn gtk_recent_info_has_application(
11216        info: *mut GtkRecentInfo,
11217        app_name: *const c_char,
11218    ) -> gboolean;
11219    pub fn gtk_recent_info_has_group(
11220        info: *mut GtkRecentInfo,
11221        group_name: *const c_char,
11222    ) -> gboolean;
11223    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
11224    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
11225    pub fn gtk_recent_info_match(
11226        info_a: *mut GtkRecentInfo,
11227        info_b: *mut GtkRecentInfo,
11228    ) -> gboolean;
11229    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
11230    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
11231
11232    //=========================================================================
11233    // GtkRequisition
11234    //=========================================================================
11235    pub fn gtk_requisition_get_type() -> GType;
11236    pub fn gtk_requisition_new() -> *mut GtkRequisition;
11237    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
11238    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
11239
11240    //=========================================================================
11241    // GtkScrollInfo
11242    //=========================================================================
11243    #[cfg(feature = "v4_12")]
11244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11245    pub fn gtk_scroll_info_get_type() -> GType;
11246    #[cfg(feature = "v4_12")]
11247    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11248    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
11249    #[cfg(feature = "v4_12")]
11250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11251    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
11252    #[cfg(feature = "v4_12")]
11253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11254    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
11255    #[cfg(feature = "v4_12")]
11256    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11257    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
11258    #[cfg(feature = "v4_12")]
11259    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11260    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
11261    #[cfg(feature = "v4_12")]
11262    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11263    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
11264    #[cfg(feature = "v4_12")]
11265    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11266    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
11267
11268    //=========================================================================
11269    // GtkTextIter
11270    //=========================================================================
11271    pub fn gtk_text_iter_get_type() -> GType;
11272    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
11273    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
11274    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11275    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11276    pub fn gtk_text_iter_backward_cursor_positions(
11277        iter: *mut GtkTextIter,
11278        count: c_int,
11279    ) -> gboolean;
11280    pub fn gtk_text_iter_backward_find_char(
11281        iter: *mut GtkTextIter,
11282        pred: GtkTextCharPredicate,
11283        user_data: gpointer,
11284        limit: *const GtkTextIter,
11285    ) -> gboolean;
11286    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
11287    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11288    pub fn gtk_text_iter_backward_search(
11289        iter: *const GtkTextIter,
11290        str: *const c_char,
11291        flags: GtkTextSearchFlags,
11292        match_start: *mut GtkTextIter,
11293        match_end: *mut GtkTextIter,
11294        limit: *const GtkTextIter,
11295    ) -> gboolean;
11296    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
11297    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
11298    -> gboolean;
11299    pub fn gtk_text_iter_backward_to_tag_toggle(
11300        iter: *mut GtkTextIter,
11301        tag: *mut GtkTextTag,
11302    ) -> gboolean;
11303    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11304    pub fn gtk_text_iter_backward_visible_cursor_positions(
11305        iter: *mut GtkTextIter,
11306        count: c_int,
11307    ) -> gboolean;
11308    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11309    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11310    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
11311    pub fn gtk_text_iter_backward_visible_word_starts(
11312        iter: *mut GtkTextIter,
11313        count: c_int,
11314    ) -> gboolean;
11315    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
11316    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11317    pub fn gtk_text_iter_can_insert(
11318        iter: *const GtkTextIter,
11319        default_editability: gboolean,
11320    ) -> gboolean;
11321    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
11322    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
11323    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
11324    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
11325    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
11326    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11327    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
11328    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
11329    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
11330    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11331    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11332    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
11333    -> gboolean;
11334    pub fn gtk_text_iter_forward_find_char(
11335        iter: *mut GtkTextIter,
11336        pred: GtkTextCharPredicate,
11337        user_data: gpointer,
11338        limit: *const GtkTextIter,
11339    ) -> gboolean;
11340    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
11341    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11342    pub fn gtk_text_iter_forward_search(
11343        iter: *const GtkTextIter,
11344        str: *const c_char,
11345        flags: GtkTextSearchFlags,
11346        match_start: *mut GtkTextIter,
11347        match_end: *mut GtkTextIter,
11348        limit: *const GtkTextIter,
11349    ) -> gboolean;
11350    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
11351    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11352    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
11353    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
11354    pub fn gtk_text_iter_forward_to_tag_toggle(
11355        iter: *mut GtkTextIter,
11356        tag: *mut GtkTextTag,
11357    ) -> gboolean;
11358    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11359    pub fn gtk_text_iter_forward_visible_cursor_positions(
11360        iter: *mut GtkTextIter,
11361        count: c_int,
11362    ) -> gboolean;
11363    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11364    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11365    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
11366    pub fn gtk_text_iter_forward_visible_word_ends(
11367        iter: *mut GtkTextIter,
11368        count: c_int,
11369    ) -> gboolean;
11370    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11371    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11372    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11373    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11374    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11375    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11376    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11377    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11378    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11379    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11380    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11381    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11382    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11383    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11384    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11385    pub fn gtk_text_iter_get_slice(
11386        start: *const GtkTextIter,
11387        end: *const GtkTextIter,
11388    ) -> *mut c_char;
11389    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11390    pub fn gtk_text_iter_get_text(
11391        start: *const GtkTextIter,
11392        end: *const GtkTextIter,
11393    ) -> *mut c_char;
11394    pub fn gtk_text_iter_get_toggled_tags(
11395        iter: *const GtkTextIter,
11396        toggled_on: gboolean,
11397    ) -> *mut glib::GSList;
11398    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11399    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11400    pub fn gtk_text_iter_get_visible_slice(
11401        start: *const GtkTextIter,
11402        end: *const GtkTextIter,
11403    ) -> *mut c_char;
11404    pub fn gtk_text_iter_get_visible_text(
11405        start: *const GtkTextIter,
11406        end: *const GtkTextIter,
11407    ) -> *mut c_char;
11408    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11409    pub fn gtk_text_iter_in_range(
11410        iter: *const GtkTextIter,
11411        start: *const GtkTextIter,
11412        end: *const GtkTextIter,
11413    ) -> gboolean;
11414    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11415    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11416    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11417    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11418    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11419    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11420    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11421    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11422    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11423    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11424    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11425    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11426    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11427    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11428    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11429    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11430    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11431
11432    //=========================================================================
11433    // GtkTreeIter
11434    //=========================================================================
11435    pub fn gtk_tree_iter_get_type() -> GType;
11436    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11437    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11438
11439    //=========================================================================
11440    // GtkTreePath
11441    //=========================================================================
11442    pub fn gtk_tree_path_get_type() -> GType;
11443    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11444    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11445    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11446    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11447    -> *mut GtkTreePath;
11448    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11449    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11450    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11451    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11452    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11453    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11454    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11455    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11456    pub fn gtk_tree_path_get_indices_with_depth(
11457        path: *mut GtkTreePath,
11458        depth: *mut c_int,
11459    ) -> *mut c_int;
11460    pub fn gtk_tree_path_is_ancestor(
11461        path: *mut GtkTreePath,
11462        descendant: *mut GtkTreePath,
11463    ) -> gboolean;
11464    pub fn gtk_tree_path_is_descendant(
11465        path: *mut GtkTreePath,
11466        ancestor: *mut GtkTreePath,
11467    ) -> gboolean;
11468    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11469    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11470    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11471    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11472    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11473
11474    //=========================================================================
11475    // GtkTreeRowReference
11476    //=========================================================================
11477    pub fn gtk_tree_row_reference_get_type() -> GType;
11478    pub fn gtk_tree_row_reference_new(
11479        model: *mut GtkTreeModel,
11480        path: *mut GtkTreePath,
11481    ) -> *mut GtkTreeRowReference;
11482    pub fn gtk_tree_row_reference_new_proxy(
11483        proxy: *mut gobject::GObject,
11484        model: *mut GtkTreeModel,
11485        path: *mut GtkTreePath,
11486    ) -> *mut GtkTreeRowReference;
11487    pub fn gtk_tree_row_reference_copy(
11488        reference: *mut GtkTreeRowReference,
11489    ) -> *mut GtkTreeRowReference;
11490    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11491    pub fn gtk_tree_row_reference_get_model(
11492        reference: *mut GtkTreeRowReference,
11493    ) -> *mut GtkTreeModel;
11494    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11495    -> *mut GtkTreePath;
11496    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11497    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11498    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11499    pub fn gtk_tree_row_reference_reordered(
11500        proxy: *mut gobject::GObject,
11501        path: *mut GtkTreePath,
11502        iter: *mut GtkTreeIter,
11503        new_order: *mut c_int,
11504    );
11505
11506    //=========================================================================
11507    // GtkWidgetClass
11508    //=========================================================================
11509    pub fn gtk_widget_class_add_binding(
11510        widget_class: *mut GtkWidgetClass,
11511        keyval: c_uint,
11512        mods: gdk::GdkModifierType,
11513        callback: GtkShortcutFunc,
11514        format_string: *const c_char,
11515        ...
11516    );
11517    pub fn gtk_widget_class_add_binding_action(
11518        widget_class: *mut GtkWidgetClass,
11519        keyval: c_uint,
11520        mods: gdk::GdkModifierType,
11521        action_name: *const c_char,
11522        format_string: *const c_char,
11523        ...
11524    );
11525    pub fn gtk_widget_class_add_binding_signal(
11526        widget_class: *mut GtkWidgetClass,
11527        keyval: c_uint,
11528        mods: gdk::GdkModifierType,
11529        signal: *const c_char,
11530        format_string: *const c_char,
11531        ...
11532    );
11533    pub fn gtk_widget_class_add_shortcut(
11534        widget_class: *mut GtkWidgetClass,
11535        shortcut: *mut GtkShortcut,
11536    );
11537    pub fn gtk_widget_class_bind_template_callback_full(
11538        widget_class: *mut GtkWidgetClass,
11539        callback_name: *const c_char,
11540        callback_symbol: gobject::GCallback,
11541    );
11542    pub fn gtk_widget_class_bind_template_child_full(
11543        widget_class: *mut GtkWidgetClass,
11544        name: *const c_char,
11545        internal_child: gboolean,
11546        struct_offset: ssize_t,
11547    );
11548    pub fn gtk_widget_class_get_accessible_role(
11549        widget_class: *mut GtkWidgetClass,
11550    ) -> GtkAccessibleRole;
11551    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11552    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11553    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11554    pub fn gtk_widget_class_install_action(
11555        widget_class: *mut GtkWidgetClass,
11556        action_name: *const c_char,
11557        parameter_type: *const c_char,
11558        activate: GtkWidgetActionActivateFunc,
11559    );
11560    pub fn gtk_widget_class_install_property_action(
11561        widget_class: *mut GtkWidgetClass,
11562        action_name: *const c_char,
11563        property_name: *const c_char,
11564    );
11565    pub fn gtk_widget_class_query_action(
11566        widget_class: *mut GtkWidgetClass,
11567        index_: c_uint,
11568        owner: *mut GType,
11569        action_name: *mut *const c_char,
11570        parameter_type: *mut *const glib::GVariantType,
11571        property_name: *mut *const c_char,
11572    ) -> gboolean;
11573    pub fn gtk_widget_class_set_accessible_role(
11574        widget_class: *mut GtkWidgetClass,
11575        accessible_role: GtkAccessibleRole,
11576    );
11577    pub fn gtk_widget_class_set_activate_signal(
11578        widget_class: *mut GtkWidgetClass,
11579        signal_id: c_uint,
11580    );
11581    pub fn gtk_widget_class_set_activate_signal_from_name(
11582        widget_class: *mut GtkWidgetClass,
11583        signal_name: *const c_char,
11584    );
11585    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11586    pub fn gtk_widget_class_set_layout_manager_type(
11587        widget_class: *mut GtkWidgetClass,
11588        type_: GType,
11589    );
11590    pub fn gtk_widget_class_set_template(
11591        widget_class: *mut GtkWidgetClass,
11592        template_bytes: *mut glib::GBytes,
11593    );
11594    pub fn gtk_widget_class_set_template_from_resource(
11595        widget_class: *mut GtkWidgetClass,
11596        resource_name: *const c_char,
11597    );
11598    pub fn gtk_widget_class_set_template_scope(
11599        widget_class: *mut GtkWidgetClass,
11600        scope: *mut GtkBuilderScope,
11601    );
11602
11603    //=========================================================================
11604    // GtkATContext
11605    //=========================================================================
11606    pub fn gtk_at_context_get_type() -> GType;
11607    pub fn gtk_at_context_create(
11608        accessible_role: GtkAccessibleRole,
11609        accessible: *mut GtkAccessible,
11610        display: *mut gdk::GdkDisplay,
11611    ) -> *mut GtkATContext;
11612    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11613    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11614
11615    //=========================================================================
11616    // GtkAboutDialog
11617    //=========================================================================
11618    pub fn gtk_about_dialog_get_type() -> GType;
11619    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11620    pub fn gtk_about_dialog_add_credit_section(
11621        about: *mut GtkAboutDialog,
11622        section_name: *const c_char,
11623        people: *mut *const c_char,
11624    );
11625    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11626    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11627    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11628    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11629    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11630    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11631    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11632    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11633    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11634    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11635    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11636    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11637    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11638    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11639    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11640    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11641    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11642    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11643    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11644    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11645    pub fn gtk_about_dialog_set_documenters(
11646        about: *mut GtkAboutDialog,
11647        documenters: *mut *const c_char,
11648    );
11649    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11650    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11651    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11652    pub fn gtk_about_dialog_set_logo_icon_name(
11653        about: *mut GtkAboutDialog,
11654        icon_name: *const c_char,
11655    );
11656    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11657    pub fn gtk_about_dialog_set_system_information(
11658        about: *mut GtkAboutDialog,
11659        system_information: *const c_char,
11660    );
11661    pub fn gtk_about_dialog_set_translator_credits(
11662        about: *mut GtkAboutDialog,
11663        translator_credits: *const c_char,
11664    );
11665    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11666    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11667    pub fn gtk_about_dialog_set_website_label(
11668        about: *mut GtkAboutDialog,
11669        website_label: *const c_char,
11670    );
11671    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11672
11673    //=========================================================================
11674    // GtkAccessibleHyperlink
11675    //=========================================================================
11676    #[cfg(feature = "v4_22")]
11677    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11678    pub fn gtk_accessible_hyperlink_get_type() -> GType;
11679    #[cfg(feature = "v4_22")]
11680    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11681    pub fn gtk_accessible_hyperlink_new(
11682        parent: *mut GtkAccessibleHypertext,
11683        index: c_uint,
11684        uri: *const c_char,
11685        bounds: *mut GtkAccessibleTextRange,
11686    ) -> *mut GtkAccessibleHyperlink;
11687    #[cfg(feature = "v4_22")]
11688    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11689    pub fn gtk_accessible_hyperlink_set_platform_state(
11690        self_: *mut GtkAccessibleHyperlink,
11691        state: GtkAccessiblePlatformState,
11692        enabled: gboolean,
11693    );
11694
11695    //=========================================================================
11696    // GtkActionBar
11697    //=========================================================================
11698    pub fn gtk_action_bar_get_type() -> GType;
11699    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11700    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11701    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11702    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11703    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11704    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11705    pub fn gtk_action_bar_set_center_widget(
11706        action_bar: *mut GtkActionBar,
11707        center_widget: *mut GtkWidget,
11708    );
11709    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11710
11711    //=========================================================================
11712    // GtkActivateAction
11713    //=========================================================================
11714    pub fn gtk_activate_action_get_type() -> GType;
11715    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11716
11717    //=========================================================================
11718    // GtkAdjustment
11719    //=========================================================================
11720    pub fn gtk_adjustment_get_type() -> GType;
11721    pub fn gtk_adjustment_new(
11722        value: c_double,
11723        lower: c_double,
11724        upper: c_double,
11725        step_increment: c_double,
11726        page_increment: c_double,
11727        page_size: c_double,
11728    ) -> *mut GtkAdjustment;
11729    pub fn gtk_adjustment_clamp_page(
11730        adjustment: *mut GtkAdjustment,
11731        lower: c_double,
11732        upper: c_double,
11733    );
11734    pub fn gtk_adjustment_configure(
11735        adjustment: *mut GtkAdjustment,
11736        value: c_double,
11737        lower: c_double,
11738        upper: c_double,
11739        step_increment: c_double,
11740        page_increment: c_double,
11741        page_size: c_double,
11742    );
11743    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11744    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11745    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11746    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11747    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11748    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11749    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11750    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11751    pub fn gtk_adjustment_set_page_increment(
11752        adjustment: *mut GtkAdjustment,
11753        page_increment: c_double,
11754    );
11755    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11756    pub fn gtk_adjustment_set_step_increment(
11757        adjustment: *mut GtkAdjustment,
11758        step_increment: c_double,
11759    );
11760    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11761    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11762
11763    //=========================================================================
11764    // GtkAlertDialog
11765    //=========================================================================
11766    #[cfg(feature = "v4_10")]
11767    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11768    pub fn gtk_alert_dialog_get_type() -> GType;
11769    #[cfg(feature = "v4_10")]
11770    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11771    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11772    #[cfg(feature = "v4_10")]
11773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11774    pub fn gtk_alert_dialog_choose(
11775        self_: *mut GtkAlertDialog,
11776        parent: *mut GtkWindow,
11777        cancellable: *mut gio::GCancellable,
11778        callback: gio::GAsyncReadyCallback,
11779        user_data: gpointer,
11780    );
11781    #[cfg(feature = "v4_10")]
11782    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11783    pub fn gtk_alert_dialog_choose_finish(
11784        self_: *mut GtkAlertDialog,
11785        result: *mut gio::GAsyncResult,
11786        error: *mut *mut glib::GError,
11787    ) -> c_int;
11788    #[cfg(feature = "v4_10")]
11789    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11790    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11791    #[cfg(feature = "v4_10")]
11792    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11793    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11794    #[cfg(feature = "v4_10")]
11795    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11796    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11797    #[cfg(feature = "v4_10")]
11798    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11799    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11800    #[cfg(feature = "v4_10")]
11801    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11802    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11803    #[cfg(feature = "v4_10")]
11804    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11805    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11806    #[cfg(feature = "v4_10")]
11807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11808    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11809    #[cfg(feature = "v4_10")]
11810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11811    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11812    #[cfg(feature = "v4_10")]
11813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11814    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11815    #[cfg(feature = "v4_10")]
11816    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11817    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11818    #[cfg(feature = "v4_10")]
11819    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11820    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11821    #[cfg(feature = "v4_10")]
11822    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11823    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11824    #[cfg(feature = "v4_10")]
11825    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11826    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11827
11828    //=========================================================================
11829    // GtkAlternativeTrigger
11830    //=========================================================================
11831    pub fn gtk_alternative_trigger_get_type() -> GType;
11832    pub fn gtk_alternative_trigger_new(
11833        first: *mut GtkShortcutTrigger,
11834        second: *mut GtkShortcutTrigger,
11835    ) -> *mut GtkShortcutTrigger;
11836    pub fn gtk_alternative_trigger_get_first(
11837        self_: *mut GtkAlternativeTrigger,
11838    ) -> *mut GtkShortcutTrigger;
11839    pub fn gtk_alternative_trigger_get_second(
11840        self_: *mut GtkAlternativeTrigger,
11841    ) -> *mut GtkShortcutTrigger;
11842
11843    //=========================================================================
11844    // GtkAnyFilter
11845    //=========================================================================
11846    pub fn gtk_any_filter_get_type() -> GType;
11847    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11848
11849    //=========================================================================
11850    // GtkAppChooserButton
11851    //=========================================================================
11852    pub fn gtk_app_chooser_button_get_type() -> GType;
11853    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11854    pub fn gtk_app_chooser_button_append_custom_item(
11855        self_: *mut GtkAppChooserButton,
11856        name: *const c_char,
11857        label: *const c_char,
11858        icon: *mut gio::GIcon,
11859    );
11860    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11861    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11862    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11863    pub fn gtk_app_chooser_button_get_show_default_item(
11864        self_: *mut GtkAppChooserButton,
11865    ) -> gboolean;
11866    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11867    -> gboolean;
11868    pub fn gtk_app_chooser_button_set_active_custom_item(
11869        self_: *mut GtkAppChooserButton,
11870        name: *const c_char,
11871    );
11872    pub fn gtk_app_chooser_button_set_heading(
11873        self_: *mut GtkAppChooserButton,
11874        heading: *const c_char,
11875    );
11876    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11877    pub fn gtk_app_chooser_button_set_show_default_item(
11878        self_: *mut GtkAppChooserButton,
11879        setting: gboolean,
11880    );
11881    pub fn gtk_app_chooser_button_set_show_dialog_item(
11882        self_: *mut GtkAppChooserButton,
11883        setting: gboolean,
11884    );
11885
11886    //=========================================================================
11887    // GtkAppChooserDialog
11888    //=========================================================================
11889    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11890    pub fn gtk_app_chooser_dialog_new(
11891        parent: *mut GtkWindow,
11892        flags: GtkDialogFlags,
11893        file: *mut gio::GFile,
11894    ) -> *mut GtkWidget;
11895    pub fn gtk_app_chooser_dialog_new_for_content_type(
11896        parent: *mut GtkWindow,
11897        flags: GtkDialogFlags,
11898        content_type: *const c_char,
11899    ) -> *mut GtkWidget;
11900    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11901    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11902    pub fn gtk_app_chooser_dialog_set_heading(
11903        self_: *mut GtkAppChooserDialog,
11904        heading: *const c_char,
11905    );
11906
11907    //=========================================================================
11908    // GtkAppChooserWidget
11909    //=========================================================================
11910    pub fn gtk_app_chooser_widget_get_type() -> GType;
11911    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
11912    pub fn gtk_app_chooser_widget_get_default_text(
11913        self_: *mut GtkAppChooserWidget,
11914    ) -> *const c_char;
11915    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
11916    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
11917    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
11918    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
11919    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
11920    -> gboolean;
11921    pub fn gtk_app_chooser_widget_set_default_text(
11922        self_: *mut GtkAppChooserWidget,
11923        text: *const c_char,
11924    );
11925    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
11926    pub fn gtk_app_chooser_widget_set_show_default(
11927        self_: *mut GtkAppChooserWidget,
11928        setting: gboolean,
11929    );
11930    pub fn gtk_app_chooser_widget_set_show_fallback(
11931        self_: *mut GtkAppChooserWidget,
11932        setting: gboolean,
11933    );
11934    pub fn gtk_app_chooser_widget_set_show_other(
11935        self_: *mut GtkAppChooserWidget,
11936        setting: gboolean,
11937    );
11938    pub fn gtk_app_chooser_widget_set_show_recommended(
11939        self_: *mut GtkAppChooserWidget,
11940        setting: gboolean,
11941    );
11942
11943    //=========================================================================
11944    // GtkApplication
11945    //=========================================================================
11946    pub fn gtk_application_get_type() -> GType;
11947    pub fn gtk_application_new(
11948        application_id: *const c_char,
11949        flags: gio::GApplicationFlags,
11950    ) -> *mut GtkApplication;
11951    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
11952    #[cfg(feature = "v4_24")]
11953    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
11954    pub fn gtk_application_forget(application: *mut GtkApplication);
11955    pub fn gtk_application_get_accels_for_action(
11956        application: *mut GtkApplication,
11957        detailed_action_name: *const c_char,
11958    ) -> *mut *mut c_char;
11959    pub fn gtk_application_get_actions_for_accel(
11960        application: *mut GtkApplication,
11961        accel: *const c_char,
11962    ) -> *mut *mut c_char;
11963    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
11964    pub fn gtk_application_get_menu_by_id(
11965        application: *mut GtkApplication,
11966        id: *const c_char,
11967    ) -> *mut gio::GMenu;
11968    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
11969    pub fn gtk_application_get_window_by_id(
11970        application: *mut GtkApplication,
11971        id: c_uint,
11972    ) -> *mut GtkWindow;
11973    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
11974    pub fn gtk_application_inhibit(
11975        application: *mut GtkApplication,
11976        window: *mut GtkWindow,
11977        flags: GtkApplicationInhibitFlags,
11978        reason: *const c_char,
11979    ) -> c_uint;
11980    pub fn gtk_application_list_action_descriptions(
11981        application: *mut GtkApplication,
11982    ) -> *mut *mut c_char;
11983    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
11984    #[cfg(feature = "v4_24")]
11985    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
11986    pub fn gtk_application_save(application: *mut GtkApplication);
11987    pub fn gtk_application_set_accels_for_action(
11988        application: *mut GtkApplication,
11989        detailed_action_name: *const c_char,
11990        accels: *const *const c_char,
11991    );
11992    pub fn gtk_application_set_menubar(
11993        application: *mut GtkApplication,
11994        menubar: *mut gio::GMenuModel,
11995    );
11996    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
11997
11998    //=========================================================================
11999    // GtkApplicationWindow
12000    //=========================================================================
12001    pub fn gtk_application_window_get_type() -> GType;
12002    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12003    pub fn gtk_application_window_get_help_overlay(
12004        window: *mut GtkApplicationWindow,
12005    ) -> *mut GtkShortcutsWindow;
12006    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12007    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12008    pub fn gtk_application_window_set_help_overlay(
12009        window: *mut GtkApplicationWindow,
12010        help_overlay: *mut GtkShortcutsWindow,
12011    );
12012    pub fn gtk_application_window_set_show_menubar(
12013        window: *mut GtkApplicationWindow,
12014        show_menubar: gboolean,
12015    );
12016
12017    //=========================================================================
12018    // GtkAspectFrame
12019    //=========================================================================
12020    pub fn gtk_aspect_frame_get_type() -> GType;
12021    pub fn gtk_aspect_frame_new(
12022        xalign: c_float,
12023        yalign: c_float,
12024        ratio: c_float,
12025        obey_child: gboolean,
12026    ) -> *mut GtkWidget;
12027    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12028    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12029    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12030    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12031    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12032    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12033    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12034    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12035    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12036    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12037
12038    //=========================================================================
12039    // GtkAssistant
12040    //=========================================================================
12041    pub fn gtk_assistant_get_type() -> GType;
12042    pub fn gtk_assistant_new() -> *mut GtkWidget;
12043    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12044    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12045    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12046    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12047    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12048    pub fn gtk_assistant_get_nth_page(
12049        assistant: *mut GtkAssistant,
12050        page_num: c_int,
12051    ) -> *mut GtkWidget;
12052    pub fn gtk_assistant_get_page(
12053        assistant: *mut GtkAssistant,
12054        child: *mut GtkWidget,
12055    ) -> *mut GtkAssistantPage;
12056    pub fn gtk_assistant_get_page_complete(
12057        assistant: *mut GtkAssistant,
12058        page: *mut GtkWidget,
12059    ) -> gboolean;
12060    pub fn gtk_assistant_get_page_title(
12061        assistant: *mut GtkAssistant,
12062        page: *mut GtkWidget,
12063    ) -> *const c_char;
12064    pub fn gtk_assistant_get_page_type(
12065        assistant: *mut GtkAssistant,
12066        page: *mut GtkWidget,
12067    ) -> GtkAssistantPageType;
12068    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12069    pub fn gtk_assistant_insert_page(
12070        assistant: *mut GtkAssistant,
12071        page: *mut GtkWidget,
12072        position: c_int,
12073    ) -> c_int;
12074    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12075    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12076    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12077    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12078    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12079    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12080    pub fn gtk_assistant_set_forward_page_func(
12081        assistant: *mut GtkAssistant,
12082        page_func: GtkAssistantPageFunc,
12083        data: gpointer,
12084        destroy: glib::GDestroyNotify,
12085    );
12086    pub fn gtk_assistant_set_page_complete(
12087        assistant: *mut GtkAssistant,
12088        page: *mut GtkWidget,
12089        complete: gboolean,
12090    );
12091    pub fn gtk_assistant_set_page_title(
12092        assistant: *mut GtkAssistant,
12093        page: *mut GtkWidget,
12094        title: *const c_char,
12095    );
12096    pub fn gtk_assistant_set_page_type(
12097        assistant: *mut GtkAssistant,
12098        page: *mut GtkWidget,
12099        type_: GtkAssistantPageType,
12100    );
12101    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12102
12103    //=========================================================================
12104    // GtkAssistantPage
12105    //=========================================================================
12106    pub fn gtk_assistant_page_get_type() -> GType;
12107    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12108
12109    //=========================================================================
12110    // GtkBinLayout
12111    //=========================================================================
12112    pub fn gtk_bin_layout_get_type() -> GType;
12113    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12114
12115    //=========================================================================
12116    // GtkBookmarkList
12117    //=========================================================================
12118    pub fn gtk_bookmark_list_get_type() -> GType;
12119    pub fn gtk_bookmark_list_new(
12120        filename: *const c_char,
12121        attributes: *const c_char,
12122    ) -> *mut GtkBookmarkList;
12123    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12124    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12125    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12126    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12127    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12128    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12129
12130    //=========================================================================
12131    // GtkBoolFilter
12132    //=========================================================================
12133    pub fn gtk_bool_filter_get_type() -> GType;
12134    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12135    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12136    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12137    pub fn gtk_bool_filter_set_expression(
12138        self_: *mut GtkBoolFilter,
12139        expression: *mut GtkExpression,
12140    );
12141    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12142
12143    //=========================================================================
12144    // GtkBox
12145    //=========================================================================
12146    pub fn gtk_box_get_type() -> GType;
12147    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12148    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12149    #[cfg(feature = "v4_12")]
12150    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12151    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12152    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12153    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12154    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12155    pub fn gtk_box_insert_child_after(
12156        box_: *mut GtkBox,
12157        child: *mut GtkWidget,
12158        sibling: *mut GtkWidget,
12159    );
12160    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12161    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12162    pub fn gtk_box_reorder_child_after(
12163        box_: *mut GtkBox,
12164        child: *mut GtkWidget,
12165        sibling: *mut GtkWidget,
12166    );
12167    #[cfg(feature = "v4_12")]
12168    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12169    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12170    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12171    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12172    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12173
12174    //=========================================================================
12175    // GtkBoxLayout
12176    //=========================================================================
12177    pub fn gtk_box_layout_get_type() -> GType;
12178    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12179    #[cfg(feature = "v4_12")]
12180    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12181    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12182    pub fn gtk_box_layout_get_baseline_position(
12183        box_layout: *mut GtkBoxLayout,
12184    ) -> GtkBaselinePosition;
12185    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12186    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12187    #[cfg(feature = "v4_12")]
12188    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12189    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12190    pub fn gtk_box_layout_set_baseline_position(
12191        box_layout: *mut GtkBoxLayout,
12192        position: GtkBaselinePosition,
12193    );
12194    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12195    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12196
12197    //=========================================================================
12198    // GtkBuilder
12199    //=========================================================================
12200    pub fn gtk_builder_get_type() -> GType;
12201    pub fn gtk_builder_new() -> *mut GtkBuilder;
12202    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12203    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12204    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12205    pub fn gtk_builder_add_from_file(
12206        builder: *mut GtkBuilder,
12207        filename: *const c_char,
12208        error: *mut *mut glib::GError,
12209    ) -> gboolean;
12210    pub fn gtk_builder_add_from_resource(
12211        builder: *mut GtkBuilder,
12212        resource_path: *const c_char,
12213        error: *mut *mut glib::GError,
12214    ) -> gboolean;
12215    pub fn gtk_builder_add_from_string(
12216        builder: *mut GtkBuilder,
12217        buffer: *const c_char,
12218        length: ssize_t,
12219        error: *mut *mut glib::GError,
12220    ) -> gboolean;
12221    pub fn gtk_builder_add_objects_from_file(
12222        builder: *mut GtkBuilder,
12223        filename: *const c_char,
12224        object_ids: *mut *const c_char,
12225        error: *mut *mut glib::GError,
12226    ) -> gboolean;
12227    pub fn gtk_builder_add_objects_from_resource(
12228        builder: *mut GtkBuilder,
12229        resource_path: *const c_char,
12230        object_ids: *mut *const c_char,
12231        error: *mut *mut glib::GError,
12232    ) -> gboolean;
12233    pub fn gtk_builder_add_objects_from_string(
12234        builder: *mut GtkBuilder,
12235        buffer: *const c_char,
12236        length: ssize_t,
12237        object_ids: *mut *const c_char,
12238        error: *mut *mut glib::GError,
12239    ) -> gboolean;
12240    pub fn gtk_builder_create_closure(
12241        builder: *mut GtkBuilder,
12242        function_name: *const c_char,
12243        flags: GtkBuilderClosureFlags,
12244        object: *mut gobject::GObject,
12245        error: *mut *mut glib::GError,
12246    ) -> *mut gobject::GClosure;
12247    pub fn gtk_builder_expose_object(
12248        builder: *mut GtkBuilder,
12249        name: *const c_char,
12250        object: *mut gobject::GObject,
12251    );
12252    pub fn gtk_builder_extend_with_template(
12253        builder: *mut GtkBuilder,
12254        object: *mut gobject::GObject,
12255        template_type: GType,
12256        buffer: *const c_char,
12257        length: ssize_t,
12258        error: *mut *mut glib::GError,
12259    ) -> gboolean;
12260    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12261    pub fn gtk_builder_get_object(
12262        builder: *mut GtkBuilder,
12263        name: *const c_char,
12264    ) -> *mut gobject::GObject;
12265    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12266    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12267    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12268    pub fn gtk_builder_get_type_from_name(
12269        builder: *mut GtkBuilder,
12270        type_name: *const c_char,
12271    ) -> GType;
12272    pub fn gtk_builder_set_current_object(
12273        builder: *mut GtkBuilder,
12274        current_object: *mut gobject::GObject,
12275    );
12276    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12277    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12278    pub fn gtk_builder_value_from_string(
12279        builder: *mut GtkBuilder,
12280        pspec: *mut gobject::GParamSpec,
12281        string: *const c_char,
12282        value: *mut gobject::GValue,
12283        error: *mut *mut glib::GError,
12284    ) -> gboolean;
12285    pub fn gtk_builder_value_from_string_type(
12286        builder: *mut GtkBuilder,
12287        type_: GType,
12288        string: *const c_char,
12289        value: *mut gobject::GValue,
12290        error: *mut *mut glib::GError,
12291    ) -> gboolean;
12292
12293    //=========================================================================
12294    // GtkBuilderCScope
12295    //=========================================================================
12296    pub fn gtk_builder_cscope_get_type() -> GType;
12297    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12298    pub fn gtk_builder_cscope_add_callback_symbol(
12299        self_: *mut GtkBuilderCScope,
12300        callback_name: *const c_char,
12301        callback_symbol: gobject::GCallback,
12302    );
12303    pub fn gtk_builder_cscope_add_callback_symbols(
12304        self_: *mut GtkBuilderCScope,
12305        first_callback_name: *const c_char,
12306        first_callback_symbol: gobject::GCallback,
12307        ...
12308    );
12309    pub fn gtk_builder_cscope_lookup_callback_symbol(
12310        self_: *mut GtkBuilderCScope,
12311        callback_name: *const c_char,
12312    ) -> gobject::GCallback;
12313
12314    //=========================================================================
12315    // GtkBuilderListItemFactory
12316    //=========================================================================
12317    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12318    pub fn gtk_builder_list_item_factory_new_from_bytes(
12319        scope: *mut GtkBuilderScope,
12320        bytes: *mut glib::GBytes,
12321    ) -> *mut GtkListItemFactory;
12322    pub fn gtk_builder_list_item_factory_new_from_resource(
12323        scope: *mut GtkBuilderScope,
12324        resource_path: *const c_char,
12325    ) -> *mut GtkListItemFactory;
12326    pub fn gtk_builder_list_item_factory_get_bytes(
12327        self_: *mut GtkBuilderListItemFactory,
12328    ) -> *mut glib::GBytes;
12329    pub fn gtk_builder_list_item_factory_get_resource(
12330        self_: *mut GtkBuilderListItemFactory,
12331    ) -> *const c_char;
12332    pub fn gtk_builder_list_item_factory_get_scope(
12333        self_: *mut GtkBuilderListItemFactory,
12334    ) -> *mut GtkBuilderScope;
12335
12336    //=========================================================================
12337    // GtkButton
12338    //=========================================================================
12339    pub fn gtk_button_get_type() -> GType;
12340    pub fn gtk_button_new() -> *mut GtkWidget;
12341    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12342    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12343    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12344    #[cfg(feature = "v4_12")]
12345    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12346    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12347    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12348    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12349    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12350    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12351    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12352    #[cfg(feature = "v4_12")]
12353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12354    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12355    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12356    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12357    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12358    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12359    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12360
12361    //=========================================================================
12362    // GtkCClosureExpression
12363    //=========================================================================
12364    pub fn gtk_cclosure_expression_get_type() -> GType;
12365    pub fn gtk_cclosure_expression_new(
12366        value_type: GType,
12367        marshal: gobject::GClosureMarshal,
12368        n_params: c_uint,
12369        params: *mut *mut GtkExpression,
12370        callback_func: gobject::GCallback,
12371        user_data: gpointer,
12372        user_destroy: gobject::GClosureNotify,
12373    ) -> *mut GtkCClosureExpression;
12374
12375    //=========================================================================
12376    // GtkCalendar
12377    //=========================================================================
12378    pub fn gtk_calendar_get_type() -> GType;
12379    pub fn gtk_calendar_new() -> *mut GtkWidget;
12380    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12381    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12382    #[cfg(feature = "v4_14")]
12383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12384    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12385    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12386    #[cfg(feature = "v4_14")]
12387    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12388    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12389    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12390    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12391    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12392    #[cfg(feature = "v4_14")]
12393    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12394    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12395    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12396    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12397    #[cfg(feature = "v4_20")]
12398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12399    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12400    #[cfg(feature = "v4_14")]
12401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12402    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12403    #[cfg(feature = "v4_14")]
12404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12405    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12406    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12407    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12408    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12409    #[cfg(feature = "v4_14")]
12410    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12411    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12412    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12413
12414    //=========================================================================
12415    // GtkCallbackAction
12416    //=========================================================================
12417    pub fn gtk_callback_action_get_type() -> GType;
12418    pub fn gtk_callback_action_new(
12419        callback: GtkShortcutFunc,
12420        data: gpointer,
12421        destroy: glib::GDestroyNotify,
12422    ) -> *mut GtkCallbackAction;
12423
12424    //=========================================================================
12425    // GtkCellArea
12426    //=========================================================================
12427    pub fn gtk_cell_area_get_type() -> GType;
12428    pub fn gtk_cell_area_activate(
12429        area: *mut GtkCellArea,
12430        context: *mut GtkCellAreaContext,
12431        widget: *mut GtkWidget,
12432        cell_area: *const gdk::GdkRectangle,
12433        flags: GtkCellRendererState,
12434        edit_only: gboolean,
12435    ) -> gboolean;
12436    pub fn gtk_cell_area_activate_cell(
12437        area: *mut GtkCellArea,
12438        widget: *mut GtkWidget,
12439        renderer: *mut GtkCellRenderer,
12440        event: *mut gdk::GdkEvent,
12441        cell_area: *const gdk::GdkRectangle,
12442        flags: GtkCellRendererState,
12443    ) -> gboolean;
12444    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12445    pub fn gtk_cell_area_add_focus_sibling(
12446        area: *mut GtkCellArea,
12447        renderer: *mut GtkCellRenderer,
12448        sibling: *mut GtkCellRenderer,
12449    );
12450    pub fn gtk_cell_area_add_with_properties(
12451        area: *mut GtkCellArea,
12452        renderer: *mut GtkCellRenderer,
12453        first_prop_name: *const c_char,
12454        ...
12455    );
12456    pub fn gtk_cell_area_apply_attributes(
12457        area: *mut GtkCellArea,
12458        tree_model: *mut GtkTreeModel,
12459        iter: *mut GtkTreeIter,
12460        is_expander: gboolean,
12461        is_expanded: gboolean,
12462    );
12463    pub fn gtk_cell_area_attribute_connect(
12464        area: *mut GtkCellArea,
12465        renderer: *mut GtkCellRenderer,
12466        attribute: *const c_char,
12467        column: c_int,
12468    );
12469    pub fn gtk_cell_area_attribute_disconnect(
12470        area: *mut GtkCellArea,
12471        renderer: *mut GtkCellRenderer,
12472        attribute: *const c_char,
12473    );
12474    pub fn gtk_cell_area_attribute_get_column(
12475        area: *mut GtkCellArea,
12476        renderer: *mut GtkCellRenderer,
12477        attribute: *const c_char,
12478    ) -> c_int;
12479    pub fn gtk_cell_area_cell_get(
12480        area: *mut GtkCellArea,
12481        renderer: *mut GtkCellRenderer,
12482        first_prop_name: *const c_char,
12483        ...
12484    );
12485    pub fn gtk_cell_area_cell_get_property(
12486        area: *mut GtkCellArea,
12487        renderer: *mut GtkCellRenderer,
12488        property_name: *const c_char,
12489        value: *mut gobject::GValue,
12490    );
12491    //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);
12492    pub fn gtk_cell_area_cell_set(
12493        area: *mut GtkCellArea,
12494        renderer: *mut GtkCellRenderer,
12495        first_prop_name: *const c_char,
12496        ...
12497    );
12498    pub fn gtk_cell_area_cell_set_property(
12499        area: *mut GtkCellArea,
12500        renderer: *mut GtkCellRenderer,
12501        property_name: *const c_char,
12502        value: *const gobject::GValue,
12503    );
12504    //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);
12505    pub fn gtk_cell_area_copy_context(
12506        area: *mut GtkCellArea,
12507        context: *mut GtkCellAreaContext,
12508    ) -> *mut GtkCellAreaContext;
12509    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12510    pub fn gtk_cell_area_event(
12511        area: *mut GtkCellArea,
12512        context: *mut GtkCellAreaContext,
12513        widget: *mut GtkWidget,
12514        event: *mut gdk::GdkEvent,
12515        cell_area: *const gdk::GdkRectangle,
12516        flags: GtkCellRendererState,
12517    ) -> c_int;
12518    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12519    pub fn gtk_cell_area_foreach(
12520        area: *mut GtkCellArea,
12521        callback: GtkCellCallback,
12522        callback_data: gpointer,
12523    );
12524    pub fn gtk_cell_area_foreach_alloc(
12525        area: *mut GtkCellArea,
12526        context: *mut GtkCellAreaContext,
12527        widget: *mut GtkWidget,
12528        cell_area: *const gdk::GdkRectangle,
12529        background_area: *const gdk::GdkRectangle,
12530        callback: GtkCellAllocCallback,
12531        callback_data: gpointer,
12532    );
12533    pub fn gtk_cell_area_get_cell_allocation(
12534        area: *mut GtkCellArea,
12535        context: *mut GtkCellAreaContext,
12536        widget: *mut GtkWidget,
12537        renderer: *mut GtkCellRenderer,
12538        cell_area: *const gdk::GdkRectangle,
12539        allocation: *mut gdk::GdkRectangle,
12540    );
12541    pub fn gtk_cell_area_get_cell_at_position(
12542        area: *mut GtkCellArea,
12543        context: *mut GtkCellAreaContext,
12544        widget: *mut GtkWidget,
12545        cell_area: *const gdk::GdkRectangle,
12546        x: c_int,
12547        y: c_int,
12548        alloc_area: *mut gdk::GdkRectangle,
12549    ) -> *mut GtkCellRenderer;
12550    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12551    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12552    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12553    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12554    pub fn gtk_cell_area_get_focus_from_sibling(
12555        area: *mut GtkCellArea,
12556        renderer: *mut GtkCellRenderer,
12557    ) -> *mut GtkCellRenderer;
12558    pub fn gtk_cell_area_get_focus_siblings(
12559        area: *mut GtkCellArea,
12560        renderer: *mut GtkCellRenderer,
12561    ) -> *const glib::GList;
12562    pub fn gtk_cell_area_get_preferred_height(
12563        area: *mut GtkCellArea,
12564        context: *mut GtkCellAreaContext,
12565        widget: *mut GtkWidget,
12566        minimum_height: *mut c_int,
12567        natural_height: *mut c_int,
12568    );
12569    pub fn gtk_cell_area_get_preferred_height_for_width(
12570        area: *mut GtkCellArea,
12571        context: *mut GtkCellAreaContext,
12572        widget: *mut GtkWidget,
12573        width: c_int,
12574        minimum_height: *mut c_int,
12575        natural_height: *mut c_int,
12576    );
12577    pub fn gtk_cell_area_get_preferred_width(
12578        area: *mut GtkCellArea,
12579        context: *mut GtkCellAreaContext,
12580        widget: *mut GtkWidget,
12581        minimum_width: *mut c_int,
12582        natural_width: *mut c_int,
12583    );
12584    pub fn gtk_cell_area_get_preferred_width_for_height(
12585        area: *mut GtkCellArea,
12586        context: *mut GtkCellAreaContext,
12587        widget: *mut GtkWidget,
12588        height: c_int,
12589        minimum_width: *mut c_int,
12590        natural_width: *mut c_int,
12591    );
12592    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12593    pub fn gtk_cell_area_has_renderer(
12594        area: *mut GtkCellArea,
12595        renderer: *mut GtkCellRenderer,
12596    ) -> gboolean;
12597    pub fn gtk_cell_area_inner_cell_area(
12598        area: *mut GtkCellArea,
12599        widget: *mut GtkWidget,
12600        cell_area: *const gdk::GdkRectangle,
12601        inner_area: *mut gdk::GdkRectangle,
12602    );
12603    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12604    pub fn gtk_cell_area_is_focus_sibling(
12605        area: *mut GtkCellArea,
12606        renderer: *mut GtkCellRenderer,
12607        sibling: *mut GtkCellRenderer,
12608    ) -> gboolean;
12609    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12610    pub fn gtk_cell_area_remove_focus_sibling(
12611        area: *mut GtkCellArea,
12612        renderer: *mut GtkCellRenderer,
12613        sibling: *mut GtkCellRenderer,
12614    );
12615    pub fn gtk_cell_area_request_renderer(
12616        area: *mut GtkCellArea,
12617        renderer: *mut GtkCellRenderer,
12618        orientation: GtkOrientation,
12619        widget: *mut GtkWidget,
12620        for_size: c_int,
12621        minimum_size: *mut c_int,
12622        natural_size: *mut c_int,
12623    );
12624    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12625    pub fn gtk_cell_area_snapshot(
12626        area: *mut GtkCellArea,
12627        context: *mut GtkCellAreaContext,
12628        widget: *mut GtkWidget,
12629        snapshot: *mut GtkSnapshot,
12630        background_area: *const gdk::GdkRectangle,
12631        cell_area: *const gdk::GdkRectangle,
12632        flags: GtkCellRendererState,
12633        paint_focus: gboolean,
12634    );
12635    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12636
12637    //=========================================================================
12638    // GtkCellAreaBox
12639    //=========================================================================
12640    pub fn gtk_cell_area_box_get_type() -> GType;
12641    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12642    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12643    pub fn gtk_cell_area_box_pack_end(
12644        box_: *mut GtkCellAreaBox,
12645        renderer: *mut GtkCellRenderer,
12646        expand: gboolean,
12647        align: gboolean,
12648        fixed: gboolean,
12649    );
12650    pub fn gtk_cell_area_box_pack_start(
12651        box_: *mut GtkCellAreaBox,
12652        renderer: *mut GtkCellRenderer,
12653        expand: gboolean,
12654        align: gboolean,
12655        fixed: gboolean,
12656    );
12657    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12658
12659    //=========================================================================
12660    // GtkCellAreaContext
12661    //=========================================================================
12662    pub fn gtk_cell_area_context_get_type() -> GType;
12663    pub fn gtk_cell_area_context_allocate(
12664        context: *mut GtkCellAreaContext,
12665        width: c_int,
12666        height: c_int,
12667    );
12668    pub fn gtk_cell_area_context_get_allocation(
12669        context: *mut GtkCellAreaContext,
12670        width: *mut c_int,
12671        height: *mut c_int,
12672    );
12673    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12674    pub fn gtk_cell_area_context_get_preferred_height(
12675        context: *mut GtkCellAreaContext,
12676        minimum_height: *mut c_int,
12677        natural_height: *mut c_int,
12678    );
12679    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12680        context: *mut GtkCellAreaContext,
12681        width: c_int,
12682        minimum_height: *mut c_int,
12683        natural_height: *mut c_int,
12684    );
12685    pub fn gtk_cell_area_context_get_preferred_width(
12686        context: *mut GtkCellAreaContext,
12687        minimum_width: *mut c_int,
12688        natural_width: *mut c_int,
12689    );
12690    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12691        context: *mut GtkCellAreaContext,
12692        height: c_int,
12693        minimum_width: *mut c_int,
12694        natural_width: *mut c_int,
12695    );
12696    pub fn gtk_cell_area_context_push_preferred_height(
12697        context: *mut GtkCellAreaContext,
12698        minimum_height: c_int,
12699        natural_height: c_int,
12700    );
12701    pub fn gtk_cell_area_context_push_preferred_width(
12702        context: *mut GtkCellAreaContext,
12703        minimum_width: c_int,
12704        natural_width: c_int,
12705    );
12706    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12707
12708    //=========================================================================
12709    // GtkCellRenderer
12710    //=========================================================================
12711    pub fn gtk_cell_renderer_get_type() -> GType;
12712    pub fn gtk_cell_renderer_activate(
12713        cell: *mut GtkCellRenderer,
12714        event: *mut gdk::GdkEvent,
12715        widget: *mut GtkWidget,
12716        path: *const c_char,
12717        background_area: *const gdk::GdkRectangle,
12718        cell_area: *const gdk::GdkRectangle,
12719        flags: GtkCellRendererState,
12720    ) -> gboolean;
12721    pub fn gtk_cell_renderer_get_aligned_area(
12722        cell: *mut GtkCellRenderer,
12723        widget: *mut GtkWidget,
12724        flags: GtkCellRendererState,
12725        cell_area: *const gdk::GdkRectangle,
12726        aligned_area: *mut gdk::GdkRectangle,
12727    );
12728    pub fn gtk_cell_renderer_get_alignment(
12729        cell: *mut GtkCellRenderer,
12730        xalign: *mut c_float,
12731        yalign: *mut c_float,
12732    );
12733    pub fn gtk_cell_renderer_get_fixed_size(
12734        cell: *mut GtkCellRenderer,
12735        width: *mut c_int,
12736        height: *mut c_int,
12737    );
12738    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12739    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12740    pub fn gtk_cell_renderer_get_padding(
12741        cell: *mut GtkCellRenderer,
12742        xpad: *mut c_int,
12743        ypad: *mut c_int,
12744    );
12745    pub fn gtk_cell_renderer_get_preferred_height(
12746        cell: *mut GtkCellRenderer,
12747        widget: *mut GtkWidget,
12748        minimum_size: *mut c_int,
12749        natural_size: *mut c_int,
12750    );
12751    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12752        cell: *mut GtkCellRenderer,
12753        widget: *mut GtkWidget,
12754        width: c_int,
12755        minimum_height: *mut c_int,
12756        natural_height: *mut c_int,
12757    );
12758    pub fn gtk_cell_renderer_get_preferred_size(
12759        cell: *mut GtkCellRenderer,
12760        widget: *mut GtkWidget,
12761        minimum_size: *mut GtkRequisition,
12762        natural_size: *mut GtkRequisition,
12763    );
12764    pub fn gtk_cell_renderer_get_preferred_width(
12765        cell: *mut GtkCellRenderer,
12766        widget: *mut GtkWidget,
12767        minimum_size: *mut c_int,
12768        natural_size: *mut c_int,
12769    );
12770    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12771        cell: *mut GtkCellRenderer,
12772        widget: *mut GtkWidget,
12773        height: c_int,
12774        minimum_width: *mut c_int,
12775        natural_width: *mut c_int,
12776    );
12777    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12778    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12779    pub fn gtk_cell_renderer_get_state(
12780        cell: *mut GtkCellRenderer,
12781        widget: *mut GtkWidget,
12782        cell_state: GtkCellRendererState,
12783    ) -> GtkStateFlags;
12784    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12785    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12786    pub fn gtk_cell_renderer_set_alignment(
12787        cell: *mut GtkCellRenderer,
12788        xalign: c_float,
12789        yalign: c_float,
12790    );
12791    pub fn gtk_cell_renderer_set_fixed_size(
12792        cell: *mut GtkCellRenderer,
12793        width: c_int,
12794        height: c_int,
12795    );
12796    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12797    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12798    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12799    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12800    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12801    pub fn gtk_cell_renderer_snapshot(
12802        cell: *mut GtkCellRenderer,
12803        snapshot: *mut GtkSnapshot,
12804        widget: *mut GtkWidget,
12805        background_area: *const gdk::GdkRectangle,
12806        cell_area: *const gdk::GdkRectangle,
12807        flags: GtkCellRendererState,
12808    );
12809    pub fn gtk_cell_renderer_start_editing(
12810        cell: *mut GtkCellRenderer,
12811        event: *mut gdk::GdkEvent,
12812        widget: *mut GtkWidget,
12813        path: *const c_char,
12814        background_area: *const gdk::GdkRectangle,
12815        cell_area: *const gdk::GdkRectangle,
12816        flags: GtkCellRendererState,
12817    ) -> *mut GtkCellEditable;
12818    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12819
12820    //=========================================================================
12821    // GtkCellRendererAccel
12822    //=========================================================================
12823    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12824    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12825
12826    //=========================================================================
12827    // GtkCellRendererCombo
12828    //=========================================================================
12829    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12830    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12831
12832    //=========================================================================
12833    // GtkCellRendererPixbuf
12834    //=========================================================================
12835    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12836    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12837
12838    //=========================================================================
12839    // GtkCellRendererProgress
12840    //=========================================================================
12841    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12842    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12843
12844    //=========================================================================
12845    // GtkCellRendererSpin
12846    //=========================================================================
12847    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12848    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12849
12850    //=========================================================================
12851    // GtkCellRendererSpinner
12852    //=========================================================================
12853    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12854    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12855
12856    //=========================================================================
12857    // GtkCellRendererText
12858    //=========================================================================
12859    pub fn gtk_cell_renderer_text_get_type() -> GType;
12860    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12861    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12862        renderer: *mut GtkCellRendererText,
12863        number_of_rows: c_int,
12864    );
12865
12866    //=========================================================================
12867    // GtkCellRendererToggle
12868    //=========================================================================
12869    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12870    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12871    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12872    -> gboolean;
12873    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12874    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12875    pub fn gtk_cell_renderer_toggle_set_activatable(
12876        toggle: *mut GtkCellRendererToggle,
12877        setting: gboolean,
12878    );
12879    pub fn gtk_cell_renderer_toggle_set_active(
12880        toggle: *mut GtkCellRendererToggle,
12881        setting: gboolean,
12882    );
12883    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12884
12885    //=========================================================================
12886    // GtkCellView
12887    //=========================================================================
12888    pub fn gtk_cell_view_get_type() -> GType;
12889    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12890    pub fn gtk_cell_view_new_with_context(
12891        area: *mut GtkCellArea,
12892        context: *mut GtkCellAreaContext,
12893    ) -> *mut GtkWidget;
12894    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12895    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12896    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12897    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12898    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12899    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12900    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12901    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12902    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12903    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12904    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
12905
12906    //=========================================================================
12907    // GtkCenterBox
12908    //=========================================================================
12909    pub fn gtk_center_box_get_type() -> GType;
12910    pub fn gtk_center_box_new() -> *mut GtkWidget;
12911    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
12912    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12913    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12914    #[cfg(feature = "v4_12")]
12915    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12916    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
12917    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12918    pub fn gtk_center_box_set_baseline_position(
12919        self_: *mut GtkCenterBox,
12920        position: GtkBaselinePosition,
12921    );
12922    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12923    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12924    #[cfg(feature = "v4_12")]
12925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12926    pub fn gtk_center_box_set_shrink_center_last(
12927        self_: *mut GtkCenterBox,
12928        shrink_center_last: gboolean,
12929    );
12930    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12931
12932    //=========================================================================
12933    // GtkCenterLayout
12934    //=========================================================================
12935    pub fn gtk_center_layout_get_type() -> GType;
12936    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
12937    pub fn gtk_center_layout_get_baseline_position(
12938        self_: *mut GtkCenterLayout,
12939    ) -> GtkBaselinePosition;
12940    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12941    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12942    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
12943    #[cfg(feature = "v4_12")]
12944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12945    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
12946    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
12947    pub fn gtk_center_layout_set_baseline_position(
12948        self_: *mut GtkCenterLayout,
12949        baseline_position: GtkBaselinePosition,
12950    );
12951    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12952    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12953    pub fn gtk_center_layout_set_orientation(
12954        self_: *mut GtkCenterLayout,
12955        orientation: GtkOrientation,
12956    );
12957    #[cfg(feature = "v4_12")]
12958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12959    pub fn gtk_center_layout_set_shrink_center_last(
12960        self_: *mut GtkCenterLayout,
12961        shrink_center_last: gboolean,
12962    );
12963    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
12964
12965    //=========================================================================
12966    // GtkCheckButton
12967    //=========================================================================
12968    pub fn gtk_check_button_get_type() -> GType;
12969    pub fn gtk_check_button_new() -> *mut GtkWidget;
12970    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12971    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12972    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
12973    #[cfg(feature = "v4_8")]
12974    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
12975    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
12976    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
12977    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
12978    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
12979    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
12980    #[cfg(feature = "v4_8")]
12981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
12982    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
12983    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
12984    pub fn gtk_check_button_set_inconsistent(
12985        check_button: *mut GtkCheckButton,
12986        inconsistent: gboolean,
12987    );
12988    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
12989    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
12990
12991    //=========================================================================
12992    // GtkClosureExpression
12993    //=========================================================================
12994    pub fn gtk_closure_expression_get_type() -> GType;
12995    pub fn gtk_closure_expression_new(
12996        value_type: GType,
12997        closure: *mut gobject::GClosure,
12998        n_params: c_uint,
12999        params: *mut *mut GtkExpression,
13000    ) -> *mut GtkClosureExpression;
13001
13002    //=========================================================================
13003    // GtkColorButton
13004    //=========================================================================
13005    pub fn gtk_color_button_get_type() -> GType;
13006    pub fn gtk_color_button_new() -> *mut GtkWidget;
13007    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13008    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13009    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13010    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13011    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13012
13013    //=========================================================================
13014    // GtkColorChooserDialog
13015    //=========================================================================
13016    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13017    pub fn gtk_color_chooser_dialog_new(
13018        title: *const c_char,
13019        parent: *mut GtkWindow,
13020    ) -> *mut GtkWidget;
13021
13022    //=========================================================================
13023    // GtkColorChooserWidget
13024    //=========================================================================
13025    pub fn gtk_color_chooser_widget_get_type() -> GType;
13026    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13027
13028    //=========================================================================
13029    // GtkColorDialog
13030    //=========================================================================
13031    #[cfg(feature = "v4_10")]
13032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13033    pub fn gtk_color_dialog_get_type() -> GType;
13034    #[cfg(feature = "v4_10")]
13035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13036    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13037    #[cfg(feature = "v4_10")]
13038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13039    pub fn gtk_color_dialog_choose_rgba(
13040        self_: *mut GtkColorDialog,
13041        parent: *mut GtkWindow,
13042        initial_color: *const gdk::GdkRGBA,
13043        cancellable: *mut gio::GCancellable,
13044        callback: gio::GAsyncReadyCallback,
13045        user_data: gpointer,
13046    );
13047    #[cfg(feature = "v4_10")]
13048    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13049    pub fn gtk_color_dialog_choose_rgba_finish(
13050        self_: *mut GtkColorDialog,
13051        result: *mut gio::GAsyncResult,
13052        error: *mut *mut glib::GError,
13053    ) -> *mut gdk::GdkRGBA;
13054    #[cfg(feature = "v4_10")]
13055    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13056    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13057    #[cfg(feature = "v4_10")]
13058    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13059    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13060    #[cfg(feature = "v4_10")]
13061    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13062    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13063    #[cfg(feature = "v4_10")]
13064    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13065    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13066    #[cfg(feature = "v4_10")]
13067    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13068    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13069    #[cfg(feature = "v4_10")]
13070    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13071    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13072
13073    //=========================================================================
13074    // GtkColorDialogButton
13075    //=========================================================================
13076    #[cfg(feature = "v4_10")]
13077    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13078    pub fn gtk_color_dialog_button_get_type() -> GType;
13079    #[cfg(feature = "v4_10")]
13080    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13081    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13082    #[cfg(feature = "v4_10")]
13083    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13084    pub fn gtk_color_dialog_button_get_dialog(
13085        self_: *mut GtkColorDialogButton,
13086    ) -> *mut GtkColorDialog;
13087    #[cfg(feature = "v4_10")]
13088    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13089    pub fn gtk_color_dialog_button_get_rgba(
13090        self_: *mut GtkColorDialogButton,
13091    ) -> *const gdk::GdkRGBA;
13092    #[cfg(feature = "v4_10")]
13093    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13094    pub fn gtk_color_dialog_button_set_dialog(
13095        self_: *mut GtkColorDialogButton,
13096        dialog: *mut GtkColorDialog,
13097    );
13098    #[cfg(feature = "v4_10")]
13099    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13100    pub fn gtk_color_dialog_button_set_rgba(
13101        self_: *mut GtkColorDialogButton,
13102        color: *const gdk::GdkRGBA,
13103    );
13104
13105    //=========================================================================
13106    // GtkColumnView
13107    //=========================================================================
13108    pub fn gtk_column_view_get_type() -> GType;
13109    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13110    pub fn gtk_column_view_append_column(
13111        self_: *mut GtkColumnView,
13112        column: *mut GtkColumnViewColumn,
13113    );
13114    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13115    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13116    #[cfg(feature = "v4_12")]
13117    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13118    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13119    -> *mut GtkListItemFactory;
13120    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13121    pub fn gtk_column_view_get_reorderable(self_: *mut GtkColumnView) -> gboolean;
13122    #[cfg(feature = "v4_12")]
13123    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13124    pub fn gtk_column_view_get_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13125    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13126    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13127    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13128    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13129    #[cfg(feature = "v4_12")]
13130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13131    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13132    pub fn gtk_column_view_insert_column(
13133        self_: *mut GtkColumnView,
13134        position: c_uint,
13135        column: *mut GtkColumnViewColumn,
13136    );
13137    pub fn gtk_column_view_remove_column(
13138        self_: *mut GtkColumnView,
13139        column: *mut GtkColumnViewColumn,
13140    );
13141    #[cfg(feature = "v4_12")]
13142    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13143    pub fn gtk_column_view_scroll_to(
13144        self_: *mut GtkColumnView,
13145        pos: c_uint,
13146        column: *mut GtkColumnViewColumn,
13147        flags: GtkListScrollFlags,
13148        scroll: *mut GtkScrollInfo,
13149    );
13150    pub fn gtk_column_view_set_enable_rubberband(
13151        self_: *mut GtkColumnView,
13152        enable_rubberband: gboolean,
13153    );
13154    #[cfg(feature = "v4_12")]
13155    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13156    pub fn gtk_column_view_set_header_factory(
13157        self_: *mut GtkColumnView,
13158        factory: *mut GtkListItemFactory,
13159    );
13160    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13161    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13162    #[cfg(feature = "v4_12")]
13163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13164    pub fn gtk_column_view_set_row_factory(
13165        self_: *mut GtkColumnView,
13166        factory: *mut GtkListItemFactory,
13167    );
13168    pub fn gtk_column_view_set_show_column_separators(
13169        self_: *mut GtkColumnView,
13170        show_column_separators: gboolean,
13171    );
13172    pub fn gtk_column_view_set_show_row_separators(
13173        self_: *mut GtkColumnView,
13174        show_row_separators: gboolean,
13175    );
13176    pub fn gtk_column_view_set_single_click_activate(
13177        self_: *mut GtkColumnView,
13178        single_click_activate: gboolean,
13179    );
13180    #[cfg(feature = "v4_12")]
13181    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13182    pub fn gtk_column_view_set_tab_behavior(
13183        self_: *mut GtkColumnView,
13184        tab_behavior: GtkListTabBehavior,
13185    );
13186    pub fn gtk_column_view_sort_by_column(
13187        self_: *mut GtkColumnView,
13188        column: *mut GtkColumnViewColumn,
13189        direction: GtkSortType,
13190    );
13191
13192    //=========================================================================
13193    // GtkColumnViewCell
13194    //=========================================================================
13195    #[cfg(feature = "v4_12")]
13196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13197    pub fn gtk_column_view_cell_get_type() -> GType;
13198    #[cfg(feature = "v4_12")]
13199    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13200    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13201    #[cfg(feature = "v4_12")]
13202    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13203    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13204    #[cfg(feature = "v4_12")]
13205    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13206    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13207    #[cfg(feature = "v4_12")]
13208    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13209    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13210    #[cfg(feature = "v4_12")]
13211    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13212    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13213    #[cfg(feature = "v4_12")]
13214    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13215    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13216    #[cfg(feature = "v4_12")]
13217    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13218    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13219
13220    //=========================================================================
13221    // GtkColumnViewColumn
13222    //=========================================================================
13223    pub fn gtk_column_view_column_get_type() -> GType;
13224    pub fn gtk_column_view_column_new(
13225        title: *const c_char,
13226        factory: *mut GtkListItemFactory,
13227    ) -> *mut GtkColumnViewColumn;
13228    pub fn gtk_column_view_column_get_column_view(
13229        self_: *mut GtkColumnViewColumn,
13230    ) -> *mut GtkColumnView;
13231    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13232    pub fn gtk_column_view_column_get_factory(
13233        self_: *mut GtkColumnViewColumn,
13234    ) -> *mut GtkListItemFactory;
13235    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13236    pub fn gtk_column_view_column_get_header_menu(
13237        self_: *mut GtkColumnViewColumn,
13238    ) -> *mut gio::GMenuModel;
13239    #[cfg(feature = "v4_10")]
13240    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13241    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13242    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13243    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13244    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13245    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13246    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13247    pub fn gtk_column_view_column_set_factory(
13248        self_: *mut GtkColumnViewColumn,
13249        factory: *mut GtkListItemFactory,
13250    );
13251    pub fn gtk_column_view_column_set_fixed_width(
13252        self_: *mut GtkColumnViewColumn,
13253        fixed_width: c_int,
13254    );
13255    pub fn gtk_column_view_column_set_header_menu(
13256        self_: *mut GtkColumnViewColumn,
13257        menu: *mut gio::GMenuModel,
13258    );
13259    #[cfg(feature = "v4_10")]
13260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13261    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13262    pub fn gtk_column_view_column_set_resizable(
13263        self_: *mut GtkColumnViewColumn,
13264        resizable: gboolean,
13265    );
13266    pub fn gtk_column_view_column_set_sorter(
13267        self_: *mut GtkColumnViewColumn,
13268        sorter: *mut GtkSorter,
13269    );
13270    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13271    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13272
13273    //=========================================================================
13274    // GtkColumnViewRow
13275    //=========================================================================
13276    #[cfg(feature = "v4_12")]
13277    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13278    pub fn gtk_column_view_row_get_type() -> GType;
13279    #[cfg(feature = "v4_12")]
13280    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13281    pub fn gtk_column_view_row_get_accessible_description(
13282        self_: *mut GtkColumnViewRow,
13283    ) -> *const c_char;
13284    #[cfg(feature = "v4_12")]
13285    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13286    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13287    #[cfg(feature = "v4_12")]
13288    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13289    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13290    #[cfg(feature = "v4_12")]
13291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13292    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13293    #[cfg(feature = "v4_12")]
13294    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13295    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13296    #[cfg(feature = "v4_12")]
13297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13298    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13299    #[cfg(feature = "v4_12")]
13300    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13301    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13302    #[cfg(feature = "v4_12")]
13303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13304    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13305    #[cfg(feature = "v4_12")]
13306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13307    pub fn gtk_column_view_row_set_accessible_description(
13308        self_: *mut GtkColumnViewRow,
13309        description: *const c_char,
13310    );
13311    #[cfg(feature = "v4_12")]
13312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13313    pub fn gtk_column_view_row_set_accessible_label(
13314        self_: *mut GtkColumnViewRow,
13315        label: *const c_char,
13316    );
13317    #[cfg(feature = "v4_12")]
13318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13319    pub fn gtk_column_view_row_set_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13320    #[cfg(feature = "v4_12")]
13321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13322    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13323    #[cfg(feature = "v4_12")]
13324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13325    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13326
13327    //=========================================================================
13328    // GtkColumnViewSorter
13329    //=========================================================================
13330    #[cfg(feature = "v4_10")]
13331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13332    pub fn gtk_column_view_sorter_get_type() -> GType;
13333    #[cfg(feature = "v4_10")]
13334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13335    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13336    #[cfg(feature = "v4_10")]
13337    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13338    pub fn gtk_column_view_sorter_get_nth_sort_column(
13339        self_: *mut GtkColumnViewSorter,
13340        position: c_uint,
13341        sort_order: *mut GtkSortType,
13342    ) -> *mut GtkColumnViewColumn;
13343    #[cfg(feature = "v4_10")]
13344    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13345    pub fn gtk_column_view_sorter_get_primary_sort_column(
13346        self_: *mut GtkColumnViewSorter,
13347    ) -> *mut GtkColumnViewColumn;
13348    #[cfg(feature = "v4_10")]
13349    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13350    pub fn gtk_column_view_sorter_get_primary_sort_order(
13351        self_: *mut GtkColumnViewSorter,
13352    ) -> GtkSortType;
13353
13354    //=========================================================================
13355    // GtkComboBox
13356    //=========================================================================
13357    pub fn gtk_combo_box_get_type() -> GType;
13358    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13359    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13360    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13361    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13362    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13363    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13364    pub fn gtk_combo_box_get_active_iter(
13365        combo_box: *mut GtkComboBox,
13366        iter: *mut GtkTreeIter,
13367    ) -> gboolean;
13368    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13369    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13370    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13371    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13372    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13373    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13374    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13375    pub fn gtk_combo_box_get_row_separator_func(
13376        combo_box: *mut GtkComboBox,
13377    ) -> GtkTreeViewRowSeparatorFunc;
13378    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13379    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13380    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13381    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13382    pub fn gtk_combo_box_set_active_id(
13383        combo_box: *mut GtkComboBox,
13384        active_id: *const c_char,
13385    ) -> gboolean;
13386    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13387    pub fn gtk_combo_box_set_button_sensitivity(
13388        combo_box: *mut GtkComboBox,
13389        sensitivity: GtkSensitivityType,
13390    );
13391    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13392    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13393    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13394    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13395    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13396    pub fn gtk_combo_box_set_row_separator_func(
13397        combo_box: *mut GtkComboBox,
13398        func: GtkTreeViewRowSeparatorFunc,
13399        data: gpointer,
13400        destroy: glib::GDestroyNotify,
13401    );
13402
13403    //=========================================================================
13404    // GtkComboBoxText
13405    //=========================================================================
13406    pub fn gtk_combo_box_text_get_type() -> GType;
13407    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13408    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13409    pub fn gtk_combo_box_text_append(
13410        combo_box: *mut GtkComboBoxText,
13411        id: *const c_char,
13412        text: *const c_char,
13413    );
13414    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13415    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13416    pub fn gtk_combo_box_text_insert(
13417        combo_box: *mut GtkComboBoxText,
13418        position: c_int,
13419        id: *const c_char,
13420        text: *const c_char,
13421    );
13422    pub fn gtk_combo_box_text_insert_text(
13423        combo_box: *mut GtkComboBoxText,
13424        position: c_int,
13425        text: *const c_char,
13426    );
13427    pub fn gtk_combo_box_text_prepend(
13428        combo_box: *mut GtkComboBoxText,
13429        id: *const c_char,
13430        text: *const c_char,
13431    );
13432    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13433    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13434    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13435
13436    //=========================================================================
13437    // GtkConstantExpression
13438    //=========================================================================
13439    pub fn gtk_constant_expression_get_type() -> GType;
13440    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13441    pub fn gtk_constant_expression_new_for_value(
13442        value: *const gobject::GValue,
13443    ) -> *mut GtkConstantExpression;
13444    pub fn gtk_constant_expression_get_value(
13445        expression: *mut GtkConstantExpression,
13446    ) -> *const gobject::GValue;
13447
13448    //=========================================================================
13449    // GtkConstraint
13450    //=========================================================================
13451    pub fn gtk_constraint_get_type() -> GType;
13452    pub fn gtk_constraint_new(
13453        target: *mut GtkConstraintTarget,
13454        target_attribute: GtkConstraintAttribute,
13455        relation: GtkConstraintRelation,
13456        source: *mut GtkConstraintTarget,
13457        source_attribute: GtkConstraintAttribute,
13458        multiplier: c_double,
13459        constant: c_double,
13460        strength: c_int,
13461    ) -> *mut GtkConstraint;
13462    pub fn gtk_constraint_new_constant(
13463        target: *mut GtkConstraintTarget,
13464        target_attribute: GtkConstraintAttribute,
13465        relation: GtkConstraintRelation,
13466        constant: c_double,
13467        strength: c_int,
13468    ) -> *mut GtkConstraint;
13469    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13470    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13471    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13472    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13473    pub fn gtk_constraint_get_source_attribute(
13474        constraint: *mut GtkConstraint,
13475    ) -> GtkConstraintAttribute;
13476    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13477    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13478    pub fn gtk_constraint_get_target_attribute(
13479        constraint: *mut GtkConstraint,
13480    ) -> GtkConstraintAttribute;
13481    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13482    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13483    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13484
13485    //=========================================================================
13486    // GtkConstraintGuide
13487    //=========================================================================
13488    pub fn gtk_constraint_guide_get_type() -> GType;
13489    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13490    pub fn gtk_constraint_guide_get_max_size(
13491        guide: *mut GtkConstraintGuide,
13492        width: *mut c_int,
13493        height: *mut c_int,
13494    );
13495    pub fn gtk_constraint_guide_get_min_size(
13496        guide: *mut GtkConstraintGuide,
13497        width: *mut c_int,
13498        height: *mut c_int,
13499    );
13500    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13501    pub fn gtk_constraint_guide_get_nat_size(
13502        guide: *mut GtkConstraintGuide,
13503        width: *mut c_int,
13504        height: *mut c_int,
13505    );
13506    pub fn gtk_constraint_guide_get_strength(
13507        guide: *mut GtkConstraintGuide,
13508    ) -> GtkConstraintStrength;
13509    pub fn gtk_constraint_guide_set_max_size(
13510        guide: *mut GtkConstraintGuide,
13511        width: c_int,
13512        height: c_int,
13513    );
13514    pub fn gtk_constraint_guide_set_min_size(
13515        guide: *mut GtkConstraintGuide,
13516        width: c_int,
13517        height: c_int,
13518    );
13519    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13520    pub fn gtk_constraint_guide_set_nat_size(
13521        guide: *mut GtkConstraintGuide,
13522        width: c_int,
13523        height: c_int,
13524    );
13525    pub fn gtk_constraint_guide_set_strength(
13526        guide: *mut GtkConstraintGuide,
13527        strength: GtkConstraintStrength,
13528    );
13529
13530    //=========================================================================
13531    // GtkConstraintLayout
13532    //=========================================================================
13533    pub fn gtk_constraint_layout_get_type() -> GType;
13534    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13535    pub fn gtk_constraint_layout_add_constraint(
13536        layout: *mut GtkConstraintLayout,
13537        constraint: *mut GtkConstraint,
13538    );
13539    pub fn gtk_constraint_layout_add_constraints_from_description(
13540        layout: *mut GtkConstraintLayout,
13541        lines: *const *const c_char,
13542        n_lines: size_t,
13543        hspacing: c_int,
13544        vspacing: c_int,
13545        error: *mut *mut glib::GError,
13546        first_view: *const c_char,
13547        ...
13548    ) -> *mut glib::GList;
13549    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13550        layout: *mut GtkConstraintLayout,
13551        lines: *const *const c_char,
13552        n_lines: size_t,
13553        hspacing: c_int,
13554        vspacing: c_int,
13555        views: *mut glib::GHashTable,
13556        error: *mut *mut glib::GError,
13557    ) -> *mut glib::GList;
13558    pub fn gtk_constraint_layout_add_guide(
13559        layout: *mut GtkConstraintLayout,
13560        guide: *mut GtkConstraintGuide,
13561    );
13562    pub fn gtk_constraint_layout_observe_constraints(
13563        layout: *mut GtkConstraintLayout,
13564    ) -> *mut gio::GListModel;
13565    pub fn gtk_constraint_layout_observe_guides(
13566        layout: *mut GtkConstraintLayout,
13567    ) -> *mut gio::GListModel;
13568    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13569    pub fn gtk_constraint_layout_remove_constraint(
13570        layout: *mut GtkConstraintLayout,
13571        constraint: *mut GtkConstraint,
13572    );
13573    pub fn gtk_constraint_layout_remove_guide(
13574        layout: *mut GtkConstraintLayout,
13575        guide: *mut GtkConstraintGuide,
13576    );
13577
13578    //=========================================================================
13579    // GtkConstraintLayoutChild
13580    //=========================================================================
13581    pub fn gtk_constraint_layout_child_get_type() -> GType;
13582
13583    //=========================================================================
13584    // GtkCssProvider
13585    //=========================================================================
13586    pub fn gtk_css_provider_get_type() -> GType;
13587    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13588    #[cfg(feature = "v4_12")]
13589    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13590    pub fn gtk_css_provider_load_from_bytes(
13591        css_provider: *mut GtkCssProvider,
13592        data: *mut glib::GBytes,
13593    );
13594    pub fn gtk_css_provider_load_from_data(
13595        css_provider: *mut GtkCssProvider,
13596        data: *const c_char,
13597        length: ssize_t,
13598    );
13599    pub fn gtk_css_provider_load_from_file(
13600        css_provider: *mut GtkCssProvider,
13601        file: *mut gio::GFile,
13602    );
13603    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13604    pub fn gtk_css_provider_load_from_resource(
13605        css_provider: *mut GtkCssProvider,
13606        resource_path: *const c_char,
13607    );
13608    #[cfg(feature = "v4_12")]
13609    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13610    pub fn gtk_css_provider_load_from_string(
13611        css_provider: *mut GtkCssProvider,
13612        string: *const c_char,
13613    );
13614    pub fn gtk_css_provider_load_named(
13615        provider: *mut GtkCssProvider,
13616        name: *const c_char,
13617        variant: *const c_char,
13618    );
13619    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13620
13621    //=========================================================================
13622    // GtkCustomFilter
13623    //=========================================================================
13624    pub fn gtk_custom_filter_get_type() -> GType;
13625    pub fn gtk_custom_filter_new(
13626        match_func: GtkCustomFilterFunc,
13627        user_data: gpointer,
13628        user_destroy: glib::GDestroyNotify,
13629    ) -> *mut GtkCustomFilter;
13630    pub fn gtk_custom_filter_set_filter_func(
13631        self_: *mut GtkCustomFilter,
13632        match_func: GtkCustomFilterFunc,
13633        user_data: gpointer,
13634        user_destroy: glib::GDestroyNotify,
13635    );
13636
13637    //=========================================================================
13638    // GtkCustomLayout
13639    //=========================================================================
13640    pub fn gtk_custom_layout_get_type() -> GType;
13641    pub fn gtk_custom_layout_new(
13642        request_mode: GtkCustomRequestModeFunc,
13643        measure: GtkCustomMeasureFunc,
13644        allocate: GtkCustomAllocateFunc,
13645    ) -> *mut GtkLayoutManager;
13646
13647    //=========================================================================
13648    // GtkCustomSorter
13649    //=========================================================================
13650    pub fn gtk_custom_sorter_get_type() -> GType;
13651    pub fn gtk_custom_sorter_new(
13652        sort_func: glib::GCompareDataFunc,
13653        user_data: gpointer,
13654        user_destroy: glib::GDestroyNotify,
13655    ) -> *mut GtkCustomSorter;
13656    pub fn gtk_custom_sorter_set_sort_func(
13657        self_: *mut GtkCustomSorter,
13658        sort_func: glib::GCompareDataFunc,
13659        user_data: gpointer,
13660        user_destroy: glib::GDestroyNotify,
13661    );
13662
13663    //=========================================================================
13664    // GtkDialog
13665    //=========================================================================
13666    pub fn gtk_dialog_get_type() -> GType;
13667    pub fn gtk_dialog_new() -> *mut GtkWidget;
13668    pub fn gtk_dialog_new_with_buttons(
13669        title: *const c_char,
13670        parent: *mut GtkWindow,
13671        flags: GtkDialogFlags,
13672        first_button_text: *const c_char,
13673        ...
13674    ) -> *mut GtkWidget;
13675    pub fn gtk_dialog_add_action_widget(
13676        dialog: *mut GtkDialog,
13677        child: *mut GtkWidget,
13678        response_id: GtkResponseType,
13679    );
13680    pub fn gtk_dialog_add_button(
13681        dialog: *mut GtkDialog,
13682        button_text: *const c_char,
13683        response_id: GtkResponseType,
13684    ) -> *mut GtkWidget;
13685    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13686    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13687    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13688    pub fn gtk_dialog_get_response_for_widget(
13689        dialog: *mut GtkDialog,
13690        widget: *mut GtkWidget,
13691    ) -> c_int;
13692    pub fn gtk_dialog_get_widget_for_response(
13693        dialog: *mut GtkDialog,
13694        response_id: GtkResponseType,
13695    ) -> *mut GtkWidget;
13696    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13697    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13698    pub fn gtk_dialog_set_response_sensitive(
13699        dialog: *mut GtkDialog,
13700        response_id: GtkResponseType,
13701        setting: gboolean,
13702    );
13703
13704    //=========================================================================
13705    // GtkDirectoryList
13706    //=========================================================================
13707    pub fn gtk_directory_list_get_type() -> GType;
13708    pub fn gtk_directory_list_new(
13709        attributes: *const c_char,
13710        file: *mut gio::GFile,
13711    ) -> *mut GtkDirectoryList;
13712    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13713    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13714    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13715    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13716    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13717    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13718    pub fn gtk_directory_list_set_attributes(
13719        self_: *mut GtkDirectoryList,
13720        attributes: *const c_char,
13721    );
13722    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13723    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13724    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13725
13726    //=========================================================================
13727    // GtkDragIcon
13728    //=========================================================================
13729    pub fn gtk_drag_icon_get_type() -> GType;
13730    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13731    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13732    pub fn gtk_drag_icon_set_from_paintable(
13733        drag: *mut gdk::GdkDrag,
13734        paintable: *mut gdk::GdkPaintable,
13735        hot_x: c_int,
13736        hot_y: c_int,
13737    );
13738    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13739    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13740
13741    //=========================================================================
13742    // GtkDragSource
13743    //=========================================================================
13744    pub fn gtk_drag_source_get_type() -> GType;
13745    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13746    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13747    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13748    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13749    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13750    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13751    pub fn gtk_drag_source_set_content(
13752        source: *mut GtkDragSource,
13753        content: *mut gdk::GdkContentProvider,
13754    );
13755    pub fn gtk_drag_source_set_icon(
13756        source: *mut GtkDragSource,
13757        paintable: *mut gdk::GdkPaintable,
13758        hot_x: c_int,
13759        hot_y: c_int,
13760    );
13761
13762    //=========================================================================
13763    // GtkDrawingArea
13764    //=========================================================================
13765    pub fn gtk_drawing_area_get_type() -> GType;
13766    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13767    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13768    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13769    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13770    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13771    pub fn gtk_drawing_area_set_draw_func(
13772        self_: *mut GtkDrawingArea,
13773        draw_func: GtkDrawingAreaDrawFunc,
13774        user_data: gpointer,
13775        destroy: glib::GDestroyNotify,
13776    );
13777
13778    //=========================================================================
13779    // GtkDropControllerMotion
13780    //=========================================================================
13781    pub fn gtk_drop_controller_motion_get_type() -> GType;
13782    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13783    pub fn gtk_drop_controller_motion_contains_pointer(
13784        self_: *mut GtkDropControllerMotion,
13785    ) -> gboolean;
13786    pub fn gtk_drop_controller_motion_get_drop(
13787        self_: *mut GtkDropControllerMotion,
13788    ) -> *mut gdk::GdkDrop;
13789    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13790
13791    //=========================================================================
13792    // GtkDropDown
13793    //=========================================================================
13794    pub fn gtk_drop_down_get_type() -> GType;
13795    pub fn gtk_drop_down_new(
13796        model: *mut gio::GListModel,
13797        expression: *mut GtkExpression,
13798    ) -> *mut GtkWidget;
13799    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13800    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13801    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13802    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13803    #[cfg(feature = "v4_12")]
13804    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13805    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13806    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13807    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13808    #[cfg(feature = "v4_12")]
13809    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13810    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13811    -> GtkStringFilterMatchMode;
13812    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13813    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13814    #[cfg(feature = "v4_6")]
13815    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13816    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13817    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13818    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13819    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13820    #[cfg(feature = "v4_12")]
13821    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13822    pub fn gtk_drop_down_set_header_factory(
13823        self_: *mut GtkDropDown,
13824        factory: *mut GtkListItemFactory,
13825    );
13826    pub fn gtk_drop_down_set_list_factory(
13827        self_: *mut GtkDropDown,
13828        factory: *mut GtkListItemFactory,
13829    );
13830    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13831    #[cfg(feature = "v4_12")]
13832    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13833    pub fn gtk_drop_down_set_search_match_mode(
13834        self_: *mut GtkDropDown,
13835        search_match_mode: GtkStringFilterMatchMode,
13836    );
13837    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13838    #[cfg(feature = "v4_6")]
13839    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13840    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13841
13842    //=========================================================================
13843    // GtkDropTarget
13844    //=========================================================================
13845    pub fn gtk_drop_target_get_type() -> GType;
13846    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13847    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13848    #[cfg(feature = "v4_4")]
13849    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13850    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13851    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13852    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13853    pub fn gtk_drop_target_get_gtypes(
13854        self_: *mut GtkDropTarget,
13855        n_types: *mut size_t,
13856    ) -> *const GType;
13857    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13858    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13859    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13860    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13861    pub fn gtk_drop_target_set_gtypes(
13862        self_: *mut GtkDropTarget,
13863        types: *mut GType,
13864        n_types: size_t,
13865    );
13866    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13867
13868    //=========================================================================
13869    // GtkDropTargetAsync
13870    //=========================================================================
13871    pub fn gtk_drop_target_async_get_type() -> GType;
13872    pub fn gtk_drop_target_async_new(
13873        formats: *mut gdk::GdkContentFormats,
13874        actions: gdk::GdkDragAction,
13875    ) -> *mut GtkDropTargetAsync;
13876    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13877    pub fn gtk_drop_target_async_get_formats(
13878        self_: *mut GtkDropTargetAsync,
13879    ) -> *mut gdk::GdkContentFormats;
13880    pub fn gtk_drop_target_async_reject_drop(
13881        self_: *mut GtkDropTargetAsync,
13882        drop: *mut gdk::GdkDrop,
13883    );
13884    pub fn gtk_drop_target_async_set_actions(
13885        self_: *mut GtkDropTargetAsync,
13886        actions: gdk::GdkDragAction,
13887    );
13888    pub fn gtk_drop_target_async_set_formats(
13889        self_: *mut GtkDropTargetAsync,
13890        formats: *mut gdk::GdkContentFormats,
13891    );
13892
13893    //=========================================================================
13894    // GtkEditableLabel
13895    //=========================================================================
13896    pub fn gtk_editable_label_get_type() -> GType;
13897    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13898    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13899    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13900    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13901
13902    //=========================================================================
13903    // GtkEmojiChooser
13904    //=========================================================================
13905    pub fn gtk_emoji_chooser_get_type() -> GType;
13906    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
13907
13908    //=========================================================================
13909    // GtkEntry
13910    //=========================================================================
13911    pub fn gtk_entry_get_type() -> GType;
13912    pub fn gtk_entry_new() -> *mut GtkWidget;
13913    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
13914    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
13915    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
13916    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
13917    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
13918    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
13919    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
13920    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
13921    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
13922    pub fn gtk_entry_get_icon_activatable(
13923        entry: *mut GtkEntry,
13924        icon_pos: GtkEntryIconPosition,
13925    ) -> gboolean;
13926    pub fn gtk_entry_get_icon_area(
13927        entry: *mut GtkEntry,
13928        icon_pos: GtkEntryIconPosition,
13929        icon_area: *mut gdk::GdkRectangle,
13930    );
13931    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
13932    pub fn gtk_entry_get_icon_gicon(
13933        entry: *mut GtkEntry,
13934        icon_pos: GtkEntryIconPosition,
13935    ) -> *mut gio::GIcon;
13936    pub fn gtk_entry_get_icon_name(
13937        entry: *mut GtkEntry,
13938        icon_pos: GtkEntryIconPosition,
13939    ) -> *const c_char;
13940    pub fn gtk_entry_get_icon_paintable(
13941        entry: *mut GtkEntry,
13942        icon_pos: GtkEntryIconPosition,
13943    ) -> *mut gdk::GdkPaintable;
13944    pub fn gtk_entry_get_icon_sensitive(
13945        entry: *mut GtkEntry,
13946        icon_pos: GtkEntryIconPosition,
13947    ) -> gboolean;
13948    pub fn gtk_entry_get_icon_storage_type(
13949        entry: *mut GtkEntry,
13950        icon_pos: GtkEntryIconPosition,
13951    ) -> GtkImageType;
13952    pub fn gtk_entry_get_icon_tooltip_markup(
13953        entry: *mut GtkEntry,
13954        icon_pos: GtkEntryIconPosition,
13955    ) -> *mut c_char;
13956    pub fn gtk_entry_get_icon_tooltip_text(
13957        entry: *mut GtkEntry,
13958        icon_pos: GtkEntryIconPosition,
13959    ) -> *mut c_char;
13960    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
13961    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
13962    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
13963    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
13964    #[cfg(feature = "v4_20")]
13965    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
13966    pub fn gtk_entry_get_menu_entry_icon_text(
13967        entry: *mut GtkEntry,
13968        icon_pos: GtkEntryIconPosition,
13969    ) -> *const c_char;
13970    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
13971    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
13972    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
13973    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
13974    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
13975    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
13976    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
13977    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
13978    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
13979    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
13980    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
13981    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
13982    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
13983    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
13984    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
13985    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
13986    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
13987    pub fn gtk_entry_set_icon_activatable(
13988        entry: *mut GtkEntry,
13989        icon_pos: GtkEntryIconPosition,
13990        activatable: gboolean,
13991    );
13992    pub fn gtk_entry_set_icon_drag_source(
13993        entry: *mut GtkEntry,
13994        icon_pos: GtkEntryIconPosition,
13995        provider: *mut gdk::GdkContentProvider,
13996        actions: gdk::GdkDragAction,
13997    );
13998    pub fn gtk_entry_set_icon_from_gicon(
13999        entry: *mut GtkEntry,
14000        icon_pos: GtkEntryIconPosition,
14001        icon: *mut gio::GIcon,
14002    );
14003    pub fn gtk_entry_set_icon_from_icon_name(
14004        entry: *mut GtkEntry,
14005        icon_pos: GtkEntryIconPosition,
14006        icon_name: *const c_char,
14007    );
14008    pub fn gtk_entry_set_icon_from_paintable(
14009        entry: *mut GtkEntry,
14010        icon_pos: GtkEntryIconPosition,
14011        paintable: *mut gdk::GdkPaintable,
14012    );
14013    pub fn gtk_entry_set_icon_sensitive(
14014        entry: *mut GtkEntry,
14015        icon_pos: GtkEntryIconPosition,
14016        sensitive: gboolean,
14017    );
14018    pub fn gtk_entry_set_icon_tooltip_markup(
14019        entry: *mut GtkEntry,
14020        icon_pos: GtkEntryIconPosition,
14021        tooltip: *const c_char,
14022    );
14023    pub fn gtk_entry_set_icon_tooltip_text(
14024        entry: *mut GtkEntry,
14025        icon_pos: GtkEntryIconPosition,
14026        tooltip: *const c_char,
14027    );
14028    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14029    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14030    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14031    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14032    #[cfg(feature = "v4_20")]
14033    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14034    pub fn gtk_entry_set_menu_entry_icon_text(
14035        entry: *mut GtkEntry,
14036        icon_pos: GtkEntryIconPosition,
14037        text: *const c_char,
14038    );
14039    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14040    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14041    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14042    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14043    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14044    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14045    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14046
14047    //=========================================================================
14048    // GtkEntryBuffer
14049    //=========================================================================
14050    pub fn gtk_entry_buffer_get_type() -> GType;
14051    pub fn gtk_entry_buffer_new(
14052        initial_chars: *const c_char,
14053        n_initial_chars: c_int,
14054    ) -> *mut GtkEntryBuffer;
14055    pub fn gtk_entry_buffer_delete_text(
14056        buffer: *mut GtkEntryBuffer,
14057        position: c_uint,
14058        n_chars: c_int,
14059    ) -> c_uint;
14060    pub fn gtk_entry_buffer_emit_deleted_text(
14061        buffer: *mut GtkEntryBuffer,
14062        position: c_uint,
14063        n_chars: c_uint,
14064    );
14065    pub fn gtk_entry_buffer_emit_inserted_text(
14066        buffer: *mut GtkEntryBuffer,
14067        position: c_uint,
14068        chars: *const c_char,
14069        n_chars: c_uint,
14070    );
14071    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14072    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14073    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14074    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14075    pub fn gtk_entry_buffer_insert_text(
14076        buffer: *mut GtkEntryBuffer,
14077        position: c_uint,
14078        chars: *const c_char,
14079        n_chars: c_int,
14080    ) -> c_uint;
14081    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14082    pub fn gtk_entry_buffer_set_text(
14083        buffer: *mut GtkEntryBuffer,
14084        chars: *const c_char,
14085        n_chars: c_int,
14086    );
14087
14088    //=========================================================================
14089    // GtkEntryCompletion
14090    //=========================================================================
14091    pub fn gtk_entry_completion_get_type() -> GType;
14092    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14093    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14094    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14095    pub fn gtk_entry_completion_compute_prefix(
14096        completion: *mut GtkEntryCompletion,
14097        key: *const c_char,
14098    ) -> *mut c_char;
14099    pub fn gtk_entry_completion_get_completion_prefix(
14100        completion: *mut GtkEntryCompletion,
14101    ) -> *const c_char;
14102    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14103    pub fn gtk_entry_completion_get_inline_completion(
14104        completion: *mut GtkEntryCompletion,
14105    ) -> gboolean;
14106    pub fn gtk_entry_completion_get_inline_selection(
14107        completion: *mut GtkEntryCompletion,
14108    ) -> gboolean;
14109    pub fn gtk_entry_completion_get_minimum_key_length(
14110        completion: *mut GtkEntryCompletion,
14111    ) -> c_int;
14112    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14113    -> *mut GtkTreeModel;
14114    pub fn gtk_entry_completion_get_popup_completion(
14115        completion: *mut GtkEntryCompletion,
14116    ) -> gboolean;
14117    pub fn gtk_entry_completion_get_popup_set_width(
14118        completion: *mut GtkEntryCompletion,
14119    ) -> gboolean;
14120    pub fn gtk_entry_completion_get_popup_single_match(
14121        completion: *mut GtkEntryCompletion,
14122    ) -> gboolean;
14123    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14124    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14125    pub fn gtk_entry_completion_set_inline_completion(
14126        completion: *mut GtkEntryCompletion,
14127        inline_completion: gboolean,
14128    );
14129    pub fn gtk_entry_completion_set_inline_selection(
14130        completion: *mut GtkEntryCompletion,
14131        inline_selection: gboolean,
14132    );
14133    pub fn gtk_entry_completion_set_match_func(
14134        completion: *mut GtkEntryCompletion,
14135        func: GtkEntryCompletionMatchFunc,
14136        func_data: gpointer,
14137        func_notify: glib::GDestroyNotify,
14138    );
14139    pub fn gtk_entry_completion_set_minimum_key_length(
14140        completion: *mut GtkEntryCompletion,
14141        length: c_int,
14142    );
14143    pub fn gtk_entry_completion_set_model(
14144        completion: *mut GtkEntryCompletion,
14145        model: *mut GtkTreeModel,
14146    );
14147    pub fn gtk_entry_completion_set_popup_completion(
14148        completion: *mut GtkEntryCompletion,
14149        popup_completion: gboolean,
14150    );
14151    pub fn gtk_entry_completion_set_popup_set_width(
14152        completion: *mut GtkEntryCompletion,
14153        popup_set_width: gboolean,
14154    );
14155    pub fn gtk_entry_completion_set_popup_single_match(
14156        completion: *mut GtkEntryCompletion,
14157        popup_single_match: gboolean,
14158    );
14159    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14160
14161    //=========================================================================
14162    // GtkEventController
14163    //=========================================================================
14164    pub fn gtk_event_controller_get_type() -> GType;
14165    pub fn gtk_event_controller_get_current_event(
14166        controller: *mut GtkEventController,
14167    ) -> *mut gdk::GdkEvent;
14168    pub fn gtk_event_controller_get_current_event_device(
14169        controller: *mut GtkEventController,
14170    ) -> *mut gdk::GdkDevice;
14171    pub fn gtk_event_controller_get_current_event_state(
14172        controller: *mut GtkEventController,
14173    ) -> gdk::GdkModifierType;
14174    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14175    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14176    pub fn gtk_event_controller_get_propagation_limit(
14177        controller: *mut GtkEventController,
14178    ) -> GtkPropagationLimit;
14179    pub fn gtk_event_controller_get_propagation_phase(
14180        controller: *mut GtkEventController,
14181    ) -> GtkPropagationPhase;
14182    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14183    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14184    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14185    pub fn gtk_event_controller_set_propagation_limit(
14186        controller: *mut GtkEventController,
14187        limit: GtkPropagationLimit,
14188    );
14189    pub fn gtk_event_controller_set_propagation_phase(
14190        controller: *mut GtkEventController,
14191        phase: GtkPropagationPhase,
14192    );
14193    #[cfg(feature = "v4_8")]
14194    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14195    pub fn gtk_event_controller_set_static_name(
14196        controller: *mut GtkEventController,
14197        name: *const c_char,
14198    );
14199
14200    //=========================================================================
14201    // GtkEventControllerFocus
14202    //=========================================================================
14203    pub fn gtk_event_controller_focus_get_type() -> GType;
14204    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14205    pub fn gtk_event_controller_focus_contains_focus(
14206        self_: *mut GtkEventControllerFocus,
14207    ) -> gboolean;
14208    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14209
14210    //=========================================================================
14211    // GtkEventControllerKey
14212    //=========================================================================
14213    pub fn gtk_event_controller_key_get_type() -> GType;
14214    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14215    pub fn gtk_event_controller_key_forward(
14216        controller: *mut GtkEventControllerKey,
14217        widget: *mut GtkWidget,
14218    ) -> gboolean;
14219    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14220    pub fn gtk_event_controller_key_get_im_context(
14221        controller: *mut GtkEventControllerKey,
14222    ) -> *mut GtkIMContext;
14223    pub fn gtk_event_controller_key_set_im_context(
14224        controller: *mut GtkEventControllerKey,
14225        im_context: *mut GtkIMContext,
14226    );
14227
14228    //=========================================================================
14229    // GtkEventControllerLegacy
14230    //=========================================================================
14231    pub fn gtk_event_controller_legacy_get_type() -> GType;
14232    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14233
14234    //=========================================================================
14235    // GtkEventControllerMotion
14236    //=========================================================================
14237    pub fn gtk_event_controller_motion_get_type() -> GType;
14238    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14239    pub fn gtk_event_controller_motion_contains_pointer(
14240        self_: *mut GtkEventControllerMotion,
14241    ) -> gboolean;
14242    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14243    -> gboolean;
14244
14245    //=========================================================================
14246    // GtkEventControllerScroll
14247    //=========================================================================
14248    pub fn gtk_event_controller_scroll_get_type() -> GType;
14249    pub fn gtk_event_controller_scroll_new(
14250        flags: GtkEventControllerScrollFlags,
14251    ) -> *mut GtkEventController;
14252    pub fn gtk_event_controller_scroll_get_flags(
14253        scroll: *mut GtkEventControllerScroll,
14254    ) -> GtkEventControllerScrollFlags;
14255    #[cfg(feature = "v4_8")]
14256    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14257    pub fn gtk_event_controller_scroll_get_unit(
14258        scroll: *mut GtkEventControllerScroll,
14259    ) -> gdk::GdkScrollUnit;
14260    pub fn gtk_event_controller_scroll_set_flags(
14261        scroll: *mut GtkEventControllerScroll,
14262        flags: GtkEventControllerScrollFlags,
14263    );
14264
14265    //=========================================================================
14266    // GtkEveryFilter
14267    //=========================================================================
14268    pub fn gtk_every_filter_get_type() -> GType;
14269    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14270
14271    //=========================================================================
14272    // GtkExpander
14273    //=========================================================================
14274    pub fn gtk_expander_get_type() -> GType;
14275    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14276    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14277    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14278    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14279    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14280    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14281    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14282    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14283    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14284    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14285    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14286    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14287    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14288    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14289    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14290    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14291
14292    //=========================================================================
14293    // GtkExpression
14294    //=========================================================================
14295    pub fn gtk_expression_get_type() -> GType;
14296    pub fn gtk_expression_bind(
14297        self_: *mut GtkExpression,
14298        target: *mut gobject::GObject,
14299        property: *const c_char,
14300        this_: *mut gobject::GObject,
14301    ) -> *mut GtkExpressionWatch;
14302    pub fn gtk_expression_evaluate(
14303        self_: *mut GtkExpression,
14304        this_: *mut gobject::GObject,
14305        value: *mut gobject::GValue,
14306    ) -> gboolean;
14307    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14308    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14309    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14310    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14311    pub fn gtk_expression_watch(
14312        self_: *mut GtkExpression,
14313        this_: *mut gobject::GObject,
14314        notify: GtkExpressionNotify,
14315        user_data: gpointer,
14316        user_destroy: glib::GDestroyNotify,
14317    ) -> *mut GtkExpressionWatch;
14318
14319    //=========================================================================
14320    // GtkFileChooserDialog
14321    //=========================================================================
14322    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14323    pub fn gtk_file_chooser_dialog_new(
14324        title: *const c_char,
14325        parent: *mut GtkWindow,
14326        action: GtkFileChooserAction,
14327        first_button_text: *const c_char,
14328        ...
14329    ) -> *mut GtkWidget;
14330
14331    //=========================================================================
14332    // GtkFileChooserNative
14333    //=========================================================================
14334    pub fn gtk_file_chooser_native_get_type() -> GType;
14335    pub fn gtk_file_chooser_native_new(
14336        title: *const c_char,
14337        parent: *mut GtkWindow,
14338        action: GtkFileChooserAction,
14339        accept_label: *const c_char,
14340        cancel_label: *const c_char,
14341    ) -> *mut GtkFileChooserNative;
14342    pub fn gtk_file_chooser_native_get_accept_label(
14343        self_: *mut GtkFileChooserNative,
14344    ) -> *const c_char;
14345    pub fn gtk_file_chooser_native_get_cancel_label(
14346        self_: *mut GtkFileChooserNative,
14347    ) -> *const c_char;
14348    pub fn gtk_file_chooser_native_set_accept_label(
14349        self_: *mut GtkFileChooserNative,
14350        accept_label: *const c_char,
14351    );
14352    pub fn gtk_file_chooser_native_set_cancel_label(
14353        self_: *mut GtkFileChooserNative,
14354        cancel_label: *const c_char,
14355    );
14356
14357    //=========================================================================
14358    // GtkFileChooserWidget
14359    //=========================================================================
14360    pub fn gtk_file_chooser_widget_get_type() -> GType;
14361    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14362
14363    //=========================================================================
14364    // GtkFileDialog
14365    //=========================================================================
14366    #[cfg(feature = "v4_10")]
14367    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14368    pub fn gtk_file_dialog_get_type() -> GType;
14369    #[cfg(feature = "v4_10")]
14370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14371    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14372    #[cfg(feature = "v4_10")]
14373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14374    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14375    #[cfg(feature = "v4_10")]
14376    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14377    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14378    #[cfg(feature = "v4_10")]
14379    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14380    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14381    #[cfg(feature = "v4_10")]
14382    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14383    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14384    #[cfg(feature = "v4_10")]
14385    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14386    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14387    #[cfg(feature = "v4_10")]
14388    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14389    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14390    #[cfg(feature = "v4_10")]
14391    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14392    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14393    #[cfg(feature = "v4_10")]
14394    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14395    pub fn gtk_file_dialog_get_title(self_: *mut GtkFileDialog) -> *const c_char;
14396    #[cfg(feature = "v4_10")]
14397    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14398    pub fn gtk_file_dialog_open(
14399        self_: *mut GtkFileDialog,
14400        parent: *mut GtkWindow,
14401        cancellable: *mut gio::GCancellable,
14402        callback: gio::GAsyncReadyCallback,
14403        user_data: gpointer,
14404    );
14405    #[cfg(feature = "v4_10")]
14406    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14407    pub fn gtk_file_dialog_open_finish(
14408        self_: *mut GtkFileDialog,
14409        result: *mut gio::GAsyncResult,
14410        error: *mut *mut glib::GError,
14411    ) -> *mut gio::GFile;
14412    #[cfg(feature = "v4_10")]
14413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14414    pub fn gtk_file_dialog_open_multiple(
14415        self_: *mut GtkFileDialog,
14416        parent: *mut GtkWindow,
14417        cancellable: *mut gio::GCancellable,
14418        callback: gio::GAsyncReadyCallback,
14419        user_data: gpointer,
14420    );
14421    #[cfg(feature = "v4_10")]
14422    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14423    pub fn gtk_file_dialog_open_multiple_finish(
14424        self_: *mut GtkFileDialog,
14425        result: *mut gio::GAsyncResult,
14426        error: *mut *mut glib::GError,
14427    ) -> *mut gio::GListModel;
14428    #[cfg(feature = "v4_18")]
14429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14430    pub fn gtk_file_dialog_open_multiple_text_files(
14431        self_: *mut GtkFileDialog,
14432        parent: *mut GtkWindow,
14433        cancellable: *mut gio::GCancellable,
14434        callback: gio::GAsyncReadyCallback,
14435        user_data: gpointer,
14436    );
14437    #[cfg(feature = "v4_18")]
14438    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14439    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14440        self_: *mut GtkFileDialog,
14441        result: *mut gio::GAsyncResult,
14442        encoding: *mut *const c_char,
14443        error: *mut *mut glib::GError,
14444    ) -> *mut gio::GListModel;
14445    #[cfg(feature = "v4_18")]
14446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14447    pub fn gtk_file_dialog_open_text_file(
14448        self_: *mut GtkFileDialog,
14449        parent: *mut GtkWindow,
14450        cancellable: *mut gio::GCancellable,
14451        callback: gio::GAsyncReadyCallback,
14452        user_data: gpointer,
14453    );
14454    #[cfg(feature = "v4_18")]
14455    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14456    pub fn gtk_file_dialog_open_text_file_finish(
14457        self_: *mut GtkFileDialog,
14458        result: *mut gio::GAsyncResult,
14459        encoding: *mut *const c_char,
14460        error: *mut *mut glib::GError,
14461    ) -> *mut gio::GFile;
14462    #[cfg(feature = "v4_10")]
14463    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14464    pub fn gtk_file_dialog_save(
14465        self_: *mut GtkFileDialog,
14466        parent: *mut GtkWindow,
14467        cancellable: *mut gio::GCancellable,
14468        callback: gio::GAsyncReadyCallback,
14469        user_data: gpointer,
14470    );
14471    #[cfg(feature = "v4_10")]
14472    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14473    pub fn gtk_file_dialog_save_finish(
14474        self_: *mut GtkFileDialog,
14475        result: *mut gio::GAsyncResult,
14476        error: *mut *mut glib::GError,
14477    ) -> *mut gio::GFile;
14478    #[cfg(feature = "v4_18")]
14479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14480    pub fn gtk_file_dialog_save_text_file(
14481        self_: *mut GtkFileDialog,
14482        parent: *mut GtkWindow,
14483        cancellable: *mut gio::GCancellable,
14484        callback: gio::GAsyncReadyCallback,
14485        user_data: gpointer,
14486    );
14487    #[cfg(feature = "v4_18")]
14488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14489    pub fn gtk_file_dialog_save_text_file_finish(
14490        self_: *mut GtkFileDialog,
14491        result: *mut gio::GAsyncResult,
14492        encoding: *mut *const c_char,
14493        line_ending: *mut *const c_char,
14494        error: *mut *mut glib::GError,
14495    ) -> *mut gio::GFile;
14496    #[cfg(feature = "v4_10")]
14497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14498    pub fn gtk_file_dialog_select_folder(
14499        self_: *mut GtkFileDialog,
14500        parent: *mut GtkWindow,
14501        cancellable: *mut gio::GCancellable,
14502        callback: gio::GAsyncReadyCallback,
14503        user_data: gpointer,
14504    );
14505    #[cfg(feature = "v4_10")]
14506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14507    pub fn gtk_file_dialog_select_folder_finish(
14508        self_: *mut GtkFileDialog,
14509        result: *mut gio::GAsyncResult,
14510        error: *mut *mut glib::GError,
14511    ) -> *mut gio::GFile;
14512    #[cfg(feature = "v4_10")]
14513    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14514    pub fn gtk_file_dialog_select_multiple_folders(
14515        self_: *mut GtkFileDialog,
14516        parent: *mut GtkWindow,
14517        cancellable: *mut gio::GCancellable,
14518        callback: gio::GAsyncReadyCallback,
14519        user_data: gpointer,
14520    );
14521    #[cfg(feature = "v4_10")]
14522    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14523    pub fn gtk_file_dialog_select_multiple_folders_finish(
14524        self_: *mut GtkFileDialog,
14525        result: *mut gio::GAsyncResult,
14526        error: *mut *mut glib::GError,
14527    ) -> *mut gio::GListModel;
14528    #[cfg(feature = "v4_10")]
14529    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14530    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14531    #[cfg(feature = "v4_10")]
14532    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14533    pub fn gtk_file_dialog_set_default_filter(
14534        self_: *mut GtkFileDialog,
14535        filter: *mut GtkFileFilter,
14536    );
14537    #[cfg(feature = "v4_10")]
14538    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14539    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14540    #[cfg(feature = "v4_10")]
14541    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14542    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14543    #[cfg(feature = "v4_10")]
14544    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14545    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14546    #[cfg(feature = "v4_10")]
14547    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14548    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14549    #[cfg(feature = "v4_10")]
14550    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14551    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14552    #[cfg(feature = "v4_10")]
14553    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14554    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14555
14556    //=========================================================================
14557    // GtkFileFilter
14558    //=========================================================================
14559    pub fn gtk_file_filter_get_type() -> GType;
14560    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14561    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14562    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14563    #[cfg(feature = "v4_22")]
14564    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14565    pub fn gtk_file_filter_add_mime_types(
14566        filter: *mut GtkFileFilter,
14567        mime_types: *mut *const c_char,
14568    );
14569    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14570    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14571    #[cfg(feature = "v4_4")]
14572    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14573    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14574    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14575    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14576    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14577    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14578
14579    //=========================================================================
14580    // GtkFileLauncher
14581    //=========================================================================
14582    #[cfg(feature = "v4_10")]
14583    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14584    pub fn gtk_file_launcher_get_type() -> GType;
14585    #[cfg(feature = "v4_10")]
14586    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14587    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14588    #[cfg(feature = "v4_12")]
14589    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14590    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14591    #[cfg(feature = "v4_10")]
14592    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14593    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14594    #[cfg(feature = "v4_14")]
14595    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14596    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14597    #[cfg(feature = "v4_10")]
14598    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14599    pub fn gtk_file_launcher_launch(
14600        self_: *mut GtkFileLauncher,
14601        parent: *mut GtkWindow,
14602        cancellable: *mut gio::GCancellable,
14603        callback: gio::GAsyncReadyCallback,
14604        user_data: gpointer,
14605    );
14606    #[cfg(feature = "v4_10")]
14607    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14608    pub fn gtk_file_launcher_launch_finish(
14609        self_: *mut GtkFileLauncher,
14610        result: *mut gio::GAsyncResult,
14611        error: *mut *mut glib::GError,
14612    ) -> gboolean;
14613    #[cfg(feature = "v4_10")]
14614    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14615    pub fn gtk_file_launcher_open_containing_folder(
14616        self_: *mut GtkFileLauncher,
14617        parent: *mut GtkWindow,
14618        cancellable: *mut gio::GCancellable,
14619        callback: gio::GAsyncReadyCallback,
14620        user_data: gpointer,
14621    );
14622    #[cfg(feature = "v4_10")]
14623    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14624    pub fn gtk_file_launcher_open_containing_folder_finish(
14625        self_: *mut GtkFileLauncher,
14626        result: *mut gio::GAsyncResult,
14627        error: *mut *mut glib::GError,
14628    ) -> gboolean;
14629    #[cfg(feature = "v4_12")]
14630    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14631    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14632    #[cfg(feature = "v4_10")]
14633    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14634    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14635    #[cfg(feature = "v4_14")]
14636    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14637    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14638
14639    //=========================================================================
14640    // GtkFilter
14641    //=========================================================================
14642    pub fn gtk_filter_get_type() -> GType;
14643    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14644    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14645    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14646
14647    //=========================================================================
14648    // GtkFilterListModel
14649    //=========================================================================
14650    pub fn gtk_filter_list_model_get_type() -> GType;
14651    pub fn gtk_filter_list_model_new(
14652        model: *mut gio::GListModel,
14653        filter: *mut GtkFilter,
14654    ) -> *mut GtkFilterListModel;
14655    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14656    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14657    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14658    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14659    #[cfg(feature = "v4_20")]
14660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14661    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14662    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14663    pub fn gtk_filter_list_model_set_incremental(
14664        self_: *mut GtkFilterListModel,
14665        incremental: gboolean,
14666    );
14667    pub fn gtk_filter_list_model_set_model(
14668        self_: *mut GtkFilterListModel,
14669        model: *mut gio::GListModel,
14670    );
14671    #[cfg(feature = "v4_20")]
14672    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14673    pub fn gtk_filter_list_model_set_watch_items(
14674        self_: *mut GtkFilterListModel,
14675        watch_items: gboolean,
14676    );
14677
14678    //=========================================================================
14679    // GtkFixed
14680    //=========================================================================
14681    pub fn gtk_fixed_get_type() -> GType;
14682    pub fn gtk_fixed_new() -> *mut GtkWidget;
14683    pub fn gtk_fixed_get_child_position(
14684        fixed: *mut GtkFixed,
14685        widget: *mut GtkWidget,
14686        x: *mut c_double,
14687        y: *mut c_double,
14688    );
14689    pub fn gtk_fixed_get_child_transform(
14690        fixed: *mut GtkFixed,
14691        widget: *mut GtkWidget,
14692    ) -> *mut gsk::GskTransform;
14693    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14694    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14695    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14696    pub fn gtk_fixed_set_child_transform(
14697        fixed: *mut GtkFixed,
14698        widget: *mut GtkWidget,
14699        transform: *mut gsk::GskTransform,
14700    );
14701
14702    //=========================================================================
14703    // GtkFixedLayout
14704    //=========================================================================
14705    pub fn gtk_fixed_layout_get_type() -> GType;
14706    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14707
14708    //=========================================================================
14709    // GtkFixedLayoutChild
14710    //=========================================================================
14711    pub fn gtk_fixed_layout_child_get_type() -> GType;
14712    pub fn gtk_fixed_layout_child_get_transform(
14713        child: *mut GtkFixedLayoutChild,
14714    ) -> *mut gsk::GskTransform;
14715    pub fn gtk_fixed_layout_child_set_transform(
14716        child: *mut GtkFixedLayoutChild,
14717        transform: *mut gsk::GskTransform,
14718    );
14719
14720    //=========================================================================
14721    // GtkFlattenListModel
14722    //=========================================================================
14723    pub fn gtk_flatten_list_model_get_type() -> GType;
14724    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14725    pub fn gtk_flatten_list_model_get_model(
14726        self_: *mut GtkFlattenListModel,
14727    ) -> *mut gio::GListModel;
14728    pub fn gtk_flatten_list_model_get_model_for_item(
14729        self_: *mut GtkFlattenListModel,
14730        position: c_uint,
14731    ) -> *mut gio::GListModel;
14732    pub fn gtk_flatten_list_model_set_model(
14733        self_: *mut GtkFlattenListModel,
14734        model: *mut gio::GListModel,
14735    );
14736
14737    //=========================================================================
14738    // GtkFlowBox
14739    //=========================================================================
14740    pub fn gtk_flow_box_get_type() -> GType;
14741    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14742    #[cfg(feature = "v4_6")]
14743    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14744    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14745    pub fn gtk_flow_box_bind_model(
14746        box_: *mut GtkFlowBox,
14747        model: *mut gio::GListModel,
14748        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14749        user_data: gpointer,
14750        user_data_free_func: glib::GDestroyNotify,
14751    );
14752    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14753    pub fn gtk_flow_box_get_child_at_index(
14754        box_: *mut GtkFlowBox,
14755        idx: c_int,
14756    ) -> *mut GtkFlowBoxChild;
14757    pub fn gtk_flow_box_get_child_at_pos(
14758        box_: *mut GtkFlowBox,
14759        x: c_int,
14760        y: c_int,
14761    ) -> *mut GtkFlowBoxChild;
14762    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14763    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14764    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14765    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14766    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14767    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14768    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14769    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14770    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14771    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14772    #[cfg(feature = "v4_6")]
14773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14774    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14775    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14776    #[cfg(feature = "v4_12")]
14777    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14778    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14779    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14780    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14781    pub fn gtk_flow_box_selected_foreach(
14782        box_: *mut GtkFlowBox,
14783        func: GtkFlowBoxForeachFunc,
14784        data: gpointer,
14785    );
14786    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14787    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14788    pub fn gtk_flow_box_set_filter_func(
14789        box_: *mut GtkFlowBox,
14790        filter_func: GtkFlowBoxFilterFunc,
14791        user_data: gpointer,
14792        destroy: glib::GDestroyNotify,
14793    );
14794    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14795    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14796    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14797    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14798    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14799    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14800    pub fn gtk_flow_box_set_sort_func(
14801        box_: *mut GtkFlowBox,
14802        sort_func: GtkFlowBoxSortFunc,
14803        user_data: gpointer,
14804        destroy: glib::GDestroyNotify,
14805    );
14806    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14807    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14808    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14809
14810    //=========================================================================
14811    // GtkFlowBoxChild
14812    //=========================================================================
14813    pub fn gtk_flow_box_child_get_type() -> GType;
14814    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14815    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14816    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14817    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14818    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14819    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14820
14821    //=========================================================================
14822    // GtkFontButton
14823    //=========================================================================
14824    pub fn gtk_font_button_get_type() -> GType;
14825    pub fn gtk_font_button_new() -> *mut GtkWidget;
14826    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14827    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14828    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14829    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14830    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14831    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14832    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14833    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14834    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14835
14836    //=========================================================================
14837    // GtkFontChooserDialog
14838    //=========================================================================
14839    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14840    pub fn gtk_font_chooser_dialog_new(
14841        title: *const c_char,
14842        parent: *mut GtkWindow,
14843    ) -> *mut GtkWidget;
14844
14845    //=========================================================================
14846    // GtkFontChooserWidget
14847    //=========================================================================
14848    pub fn gtk_font_chooser_widget_get_type() -> GType;
14849    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14850
14851    //=========================================================================
14852    // GtkFontDialog
14853    //=========================================================================
14854    #[cfg(feature = "v4_10")]
14855    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14856    pub fn gtk_font_dialog_get_type() -> GType;
14857    #[cfg(feature = "v4_10")]
14858    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14859    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14860    #[cfg(feature = "v4_10")]
14861    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14862    pub fn gtk_font_dialog_choose_face(
14863        self_: *mut GtkFontDialog,
14864        parent: *mut GtkWindow,
14865        initial_value: *mut pango::PangoFontFace,
14866        cancellable: *mut gio::GCancellable,
14867        callback: gio::GAsyncReadyCallback,
14868        user_data: gpointer,
14869    );
14870    #[cfg(feature = "v4_10")]
14871    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14872    pub fn gtk_font_dialog_choose_face_finish(
14873        self_: *mut GtkFontDialog,
14874        result: *mut gio::GAsyncResult,
14875        error: *mut *mut glib::GError,
14876    ) -> *mut pango::PangoFontFace;
14877    #[cfg(feature = "v4_10")]
14878    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14879    pub fn gtk_font_dialog_choose_family(
14880        self_: *mut GtkFontDialog,
14881        parent: *mut GtkWindow,
14882        initial_value: *mut pango::PangoFontFamily,
14883        cancellable: *mut gio::GCancellable,
14884        callback: gio::GAsyncReadyCallback,
14885        user_data: gpointer,
14886    );
14887    #[cfg(feature = "v4_10")]
14888    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14889    pub fn gtk_font_dialog_choose_family_finish(
14890        self_: *mut GtkFontDialog,
14891        result: *mut gio::GAsyncResult,
14892        error: *mut *mut glib::GError,
14893    ) -> *mut pango::PangoFontFamily;
14894    #[cfg(feature = "v4_10")]
14895    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14896    pub fn gtk_font_dialog_choose_font(
14897        self_: *mut GtkFontDialog,
14898        parent: *mut GtkWindow,
14899        initial_value: *mut pango::PangoFontDescription,
14900        cancellable: *mut gio::GCancellable,
14901        callback: gio::GAsyncReadyCallback,
14902        user_data: gpointer,
14903    );
14904    #[cfg(feature = "v4_10")]
14905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14906    pub fn gtk_font_dialog_choose_font_and_features(
14907        self_: *mut GtkFontDialog,
14908        parent: *mut GtkWindow,
14909        initial_value: *mut pango::PangoFontDescription,
14910        cancellable: *mut gio::GCancellable,
14911        callback: gio::GAsyncReadyCallback,
14912        user_data: gpointer,
14913    );
14914    #[cfg(feature = "v4_10")]
14915    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14916    pub fn gtk_font_dialog_choose_font_and_features_finish(
14917        self_: *mut GtkFontDialog,
14918        result: *mut gio::GAsyncResult,
14919        font_desc: *mut *mut pango::PangoFontDescription,
14920        font_features: *mut *mut c_char,
14921        language: *mut *mut pango::PangoLanguage,
14922        error: *mut *mut glib::GError,
14923    ) -> gboolean;
14924    #[cfg(feature = "v4_10")]
14925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14926    pub fn gtk_font_dialog_choose_font_finish(
14927        self_: *mut GtkFontDialog,
14928        result: *mut gio::GAsyncResult,
14929        error: *mut *mut glib::GError,
14930    ) -> *mut pango::PangoFontDescription;
14931    #[cfg(feature = "v4_10")]
14932    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14933    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
14934    #[cfg(feature = "v4_10")]
14935    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14936    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
14937    #[cfg(feature = "v4_10")]
14938    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14939    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
14940    #[cfg(feature = "v4_10")]
14941    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14942    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
14943    #[cfg(feature = "v4_10")]
14944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14945    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
14946    #[cfg(feature = "v4_10")]
14947    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14948    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
14949    #[cfg(feature = "v4_10")]
14950    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14951    pub fn gtk_font_dialog_set_font_map(
14952        self_: *mut GtkFontDialog,
14953        fontmap: *mut pango::PangoFontMap,
14954    );
14955    #[cfg(feature = "v4_10")]
14956    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14957    pub fn gtk_font_dialog_set_language(
14958        self_: *mut GtkFontDialog,
14959        language: *mut pango::PangoLanguage,
14960    );
14961    #[cfg(feature = "v4_10")]
14962    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14963    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
14964    #[cfg(feature = "v4_10")]
14965    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14966    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
14967
14968    //=========================================================================
14969    // GtkFontDialogButton
14970    //=========================================================================
14971    #[cfg(feature = "v4_10")]
14972    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14973    pub fn gtk_font_dialog_button_get_type() -> GType;
14974    #[cfg(feature = "v4_10")]
14975    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14976    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
14977    #[cfg(feature = "v4_10")]
14978    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14979    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
14980    -> *mut GtkFontDialog;
14981    #[cfg(feature = "v4_10")]
14982    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14983    pub fn gtk_font_dialog_button_get_font_desc(
14984        self_: *mut GtkFontDialogButton,
14985    ) -> *mut pango::PangoFontDescription;
14986    #[cfg(feature = "v4_10")]
14987    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14988    pub fn gtk_font_dialog_button_get_font_features(
14989        self_: *mut GtkFontDialogButton,
14990    ) -> *const c_char;
14991    #[cfg(feature = "v4_10")]
14992    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14993    pub fn gtk_font_dialog_button_get_language(
14994        self_: *mut GtkFontDialogButton,
14995    ) -> *mut pango::PangoLanguage;
14996    #[cfg(feature = "v4_10")]
14997    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14998    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
14999    #[cfg(feature = "v4_10")]
15000    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15001    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15002    #[cfg(feature = "v4_10")]
15003    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15004    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15005    #[cfg(feature = "v4_10")]
15006    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15007    pub fn gtk_font_dialog_button_set_dialog(
15008        self_: *mut GtkFontDialogButton,
15009        dialog: *mut GtkFontDialog,
15010    );
15011    #[cfg(feature = "v4_10")]
15012    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15013    pub fn gtk_font_dialog_button_set_font_desc(
15014        self_: *mut GtkFontDialogButton,
15015        font_desc: *const pango::PangoFontDescription,
15016    );
15017    #[cfg(feature = "v4_10")]
15018    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15019    pub fn gtk_font_dialog_button_set_font_features(
15020        self_: *mut GtkFontDialogButton,
15021        font_features: *const c_char,
15022    );
15023    #[cfg(feature = "v4_10")]
15024    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15025    pub fn gtk_font_dialog_button_set_language(
15026        self_: *mut GtkFontDialogButton,
15027        language: *mut pango::PangoLanguage,
15028    );
15029    #[cfg(feature = "v4_10")]
15030    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15031    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15032    #[cfg(feature = "v4_10")]
15033    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15034    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15035    #[cfg(feature = "v4_10")]
15036    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15037    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15038
15039    //=========================================================================
15040    // GtkFrame
15041    //=========================================================================
15042    pub fn gtk_frame_get_type() -> GType;
15043    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15044    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15045    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15046    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15047    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15048    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15049    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15050    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15051    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15052
15053    //=========================================================================
15054    // GtkGLArea
15055    //=========================================================================
15056    pub fn gtk_gl_area_get_type() -> GType;
15057    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15058    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15059    #[cfg(feature = "v4_12")]
15060    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15061    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15062    #[cfg(feature = "v4_12")]
15063    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15064    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15065    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15066    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15067    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15068    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15069    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15070    pub fn gtk_gl_area_get_required_version(
15071        area: *mut GtkGLArea,
15072        major: *mut c_int,
15073        minor: *mut c_int,
15074    );
15075    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15076    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15077    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15078    #[cfg(feature = "v4_12")]
15079    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15080    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15081    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15082    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15083    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15084    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15085    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15086    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15087
15088    //=========================================================================
15089    // GtkGesture
15090    //=========================================================================
15091    pub fn gtk_gesture_get_type() -> GType;
15092    pub fn gtk_gesture_get_bounding_box(
15093        gesture: *mut GtkGesture,
15094        rect: *mut gdk::GdkRectangle,
15095    ) -> gboolean;
15096    pub fn gtk_gesture_get_bounding_box_center(
15097        gesture: *mut GtkGesture,
15098        x: *mut c_double,
15099        y: *mut c_double,
15100    ) -> gboolean;
15101    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15102    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15103    pub fn gtk_gesture_get_last_event(
15104        gesture: *mut GtkGesture,
15105        sequence: *mut gdk::GdkEventSequence,
15106    ) -> *mut gdk::GdkEvent;
15107    pub fn gtk_gesture_get_last_updated_sequence(
15108        gesture: *mut GtkGesture,
15109    ) -> *mut gdk::GdkEventSequence;
15110    pub fn gtk_gesture_get_point(
15111        gesture: *mut GtkGesture,
15112        sequence: *mut gdk::GdkEventSequence,
15113        x: *mut c_double,
15114        y: *mut c_double,
15115    ) -> gboolean;
15116    pub fn gtk_gesture_get_sequence_state(
15117        gesture: *mut GtkGesture,
15118        sequence: *mut gdk::GdkEventSequence,
15119    ) -> GtkEventSequenceState;
15120    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15121    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15122    pub fn gtk_gesture_handles_sequence(
15123        gesture: *mut GtkGesture,
15124        sequence: *mut gdk::GdkEventSequence,
15125    ) -> gboolean;
15126    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15127    pub fn gtk_gesture_is_grouped_with(
15128        gesture: *mut GtkGesture,
15129        other: *mut GtkGesture,
15130    ) -> gboolean;
15131    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15132    pub fn gtk_gesture_set_sequence_state(
15133        gesture: *mut GtkGesture,
15134        sequence: *mut gdk::GdkEventSequence,
15135        state: GtkEventSequenceState,
15136    ) -> gboolean;
15137    pub fn gtk_gesture_set_state(
15138        gesture: *mut GtkGesture,
15139        state: GtkEventSequenceState,
15140    ) -> gboolean;
15141    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15142
15143    //=========================================================================
15144    // GtkGestureClick
15145    //=========================================================================
15146    pub fn gtk_gesture_click_get_type() -> GType;
15147    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15148
15149    //=========================================================================
15150    // GtkGestureDrag
15151    //=========================================================================
15152    pub fn gtk_gesture_drag_get_type() -> GType;
15153    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15154    pub fn gtk_gesture_drag_get_offset(
15155        gesture: *mut GtkGestureDrag,
15156        x: *mut c_double,
15157        y: *mut c_double,
15158    ) -> gboolean;
15159    pub fn gtk_gesture_drag_get_start_point(
15160        gesture: *mut GtkGestureDrag,
15161        x: *mut c_double,
15162        y: *mut c_double,
15163    ) -> gboolean;
15164
15165    //=========================================================================
15166    // GtkGestureLongPress
15167    //=========================================================================
15168    pub fn gtk_gesture_long_press_get_type() -> GType;
15169    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15170    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15171    pub fn gtk_gesture_long_press_set_delay_factor(
15172        gesture: *mut GtkGestureLongPress,
15173        delay_factor: c_double,
15174    );
15175
15176    //=========================================================================
15177    // GtkGesturePan
15178    //=========================================================================
15179    pub fn gtk_gesture_pan_get_type() -> GType;
15180    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15181    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15182    pub fn gtk_gesture_pan_set_orientation(
15183        gesture: *mut GtkGesturePan,
15184        orientation: GtkOrientation,
15185    );
15186
15187    //=========================================================================
15188    // GtkGestureRotate
15189    //=========================================================================
15190    pub fn gtk_gesture_rotate_get_type() -> GType;
15191    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15192    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15193
15194    //=========================================================================
15195    // GtkGestureSingle
15196    //=========================================================================
15197    pub fn gtk_gesture_single_get_type() -> GType;
15198    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15199    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15200    pub fn gtk_gesture_single_get_current_sequence(
15201        gesture: *mut GtkGestureSingle,
15202    ) -> *mut gdk::GdkEventSequence;
15203    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15204    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15205    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15206    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15207    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15208
15209    //=========================================================================
15210    // GtkGestureStylus
15211    //=========================================================================
15212    pub fn gtk_gesture_stylus_get_type() -> GType;
15213    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15214    pub fn gtk_gesture_stylus_get_axes(
15215        gesture: *mut GtkGestureStylus,
15216        axes: *mut gdk::GdkAxisUse,
15217        values: *mut *mut c_double,
15218    ) -> gboolean;
15219    pub fn gtk_gesture_stylus_get_axis(
15220        gesture: *mut GtkGestureStylus,
15221        axis: gdk::GdkAxisUse,
15222        value: *mut c_double,
15223    ) -> gboolean;
15224    pub fn gtk_gesture_stylus_get_backlog(
15225        gesture: *mut GtkGestureStylus,
15226        backlog: *mut *mut gdk::GdkTimeCoord,
15227        n_elems: *mut c_uint,
15228    ) -> gboolean;
15229    pub fn gtk_gesture_stylus_get_device_tool(
15230        gesture: *mut GtkGestureStylus,
15231    ) -> *mut gdk::GdkDeviceTool;
15232    #[cfg(feature = "v4_10")]
15233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15234    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15235    #[cfg(feature = "v4_10")]
15236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15237    pub fn gtk_gesture_stylus_set_stylus_only(
15238        gesture: *mut GtkGestureStylus,
15239        stylus_only: gboolean,
15240    );
15241
15242    //=========================================================================
15243    // GtkGestureSwipe
15244    //=========================================================================
15245    pub fn gtk_gesture_swipe_get_type() -> GType;
15246    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15247    pub fn gtk_gesture_swipe_get_velocity(
15248        gesture: *mut GtkGestureSwipe,
15249        velocity_x: *mut c_double,
15250        velocity_y: *mut c_double,
15251    ) -> gboolean;
15252
15253    //=========================================================================
15254    // GtkGestureZoom
15255    //=========================================================================
15256    pub fn gtk_gesture_zoom_get_type() -> GType;
15257    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15258    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15259
15260    //=========================================================================
15261    // GtkGraphicsOffload
15262    //=========================================================================
15263    #[cfg(feature = "v4_14")]
15264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15265    pub fn gtk_graphics_offload_get_type() -> GType;
15266    #[cfg(feature = "v4_14")]
15267    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15268    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15269    #[cfg(feature = "v4_16")]
15270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15271    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15272    #[cfg(feature = "v4_14")]
15273    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15274    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15275    #[cfg(feature = "v4_14")]
15276    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15277    pub fn gtk_graphics_offload_get_enabled(
15278        self_: *mut GtkGraphicsOffload,
15279    ) -> GtkGraphicsOffloadEnabled;
15280    #[cfg(feature = "v4_16")]
15281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15282    pub fn gtk_graphics_offload_set_black_background(
15283        self_: *mut GtkGraphicsOffload,
15284        value: gboolean,
15285    );
15286    #[cfg(feature = "v4_14")]
15287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15288    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15289    #[cfg(feature = "v4_14")]
15290    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15291    pub fn gtk_graphics_offload_set_enabled(
15292        self_: *mut GtkGraphicsOffload,
15293        enabled: GtkGraphicsOffloadEnabled,
15294    );
15295
15296    //=========================================================================
15297    // GtkGrid
15298    //=========================================================================
15299    pub fn gtk_grid_get_type() -> GType;
15300    pub fn gtk_grid_new() -> *mut GtkWidget;
15301    pub fn gtk_grid_attach(
15302        grid: *mut GtkGrid,
15303        child: *mut GtkWidget,
15304        column: c_int,
15305        row: c_int,
15306        width: c_int,
15307        height: c_int,
15308    );
15309    pub fn gtk_grid_attach_next_to(
15310        grid: *mut GtkGrid,
15311        child: *mut GtkWidget,
15312        sibling: *mut GtkWidget,
15313        side: GtkPositionType,
15314        width: c_int,
15315        height: c_int,
15316    );
15317    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15318    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15319    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15320    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15321    pub fn gtk_grid_get_row_baseline_position(
15322        grid: *mut GtkGrid,
15323        row: c_int,
15324    ) -> GtkBaselinePosition;
15325    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15326    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15327    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15328    pub fn gtk_grid_insert_next_to(
15329        grid: *mut GtkGrid,
15330        sibling: *mut GtkWidget,
15331        side: GtkPositionType,
15332    );
15333    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15334    pub fn gtk_grid_query_child(
15335        grid: *mut GtkGrid,
15336        child: *mut GtkWidget,
15337        column: *mut c_int,
15338        row: *mut c_int,
15339        width: *mut c_int,
15340        height: *mut c_int,
15341    );
15342    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15343    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15344    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15345    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15346    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15347    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15348    pub fn gtk_grid_set_row_baseline_position(
15349        grid: *mut GtkGrid,
15350        row: c_int,
15351        pos: GtkBaselinePosition,
15352    );
15353    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15354    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15355
15356    //=========================================================================
15357    // GtkGridLayout
15358    //=========================================================================
15359    pub fn gtk_grid_layout_get_type() -> GType;
15360    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15361    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15362    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15363    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15364    pub fn gtk_grid_layout_get_row_baseline_position(
15365        grid: *mut GtkGridLayout,
15366        row: c_int,
15367    ) -> GtkBaselinePosition;
15368    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15369    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15370    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15371    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15372    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15373    pub fn gtk_grid_layout_set_row_baseline_position(
15374        grid: *mut GtkGridLayout,
15375        row: c_int,
15376        pos: GtkBaselinePosition,
15377    );
15378    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15379    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15380
15381    //=========================================================================
15382    // GtkGridLayoutChild
15383    //=========================================================================
15384    pub fn gtk_grid_layout_child_get_type() -> GType;
15385    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15386    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15387    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15388    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15389    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15390    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15391    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15392    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15393
15394    //=========================================================================
15395    // GtkGridView
15396    //=========================================================================
15397    pub fn gtk_grid_view_get_type() -> GType;
15398    pub fn gtk_grid_view_new(
15399        model: *mut GtkSelectionModel,
15400        factory: *mut GtkListItemFactory,
15401    ) -> *mut GtkWidget;
15402    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15403    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15404    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15405    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15406    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15407    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15408    #[cfg(feature = "v4_12")]
15409    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15410    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15411    #[cfg(feature = "v4_12")]
15412    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15413    pub fn gtk_grid_view_scroll_to(
15414        self_: *mut GtkGridView,
15415        pos: c_uint,
15416        flags: GtkListScrollFlags,
15417        scroll: *mut GtkScrollInfo,
15418    );
15419    pub fn gtk_grid_view_set_enable_rubberband(
15420        self_: *mut GtkGridView,
15421        enable_rubberband: gboolean,
15422    );
15423    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15424    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15425    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15426    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15427    pub fn gtk_grid_view_set_single_click_activate(
15428        self_: *mut GtkGridView,
15429        single_click_activate: gboolean,
15430    );
15431    #[cfg(feature = "v4_12")]
15432    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15433    pub fn gtk_grid_view_set_tab_behavior(
15434        self_: *mut GtkGridView,
15435        tab_behavior: GtkListTabBehavior,
15436    );
15437
15438    //=========================================================================
15439    // GtkHeaderBar
15440    //=========================================================================
15441    pub fn gtk_header_bar_get_type() -> GType;
15442    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15443    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15444    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15445    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15446    #[cfg(feature = "v4_18")]
15447    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15448    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15449    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15450    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15451    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15452    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15453    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15454    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15455    #[cfg(feature = "v4_18")]
15456    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15457    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15458
15459    //=========================================================================
15460    // GtkIMContext
15461    //=========================================================================
15462    pub fn gtk_im_context_get_type() -> GType;
15463    #[cfg(feature = "v4_14")]
15464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15465    pub fn gtk_im_context_activate_osk(
15466        context: *mut GtkIMContext,
15467        event: *mut gdk::GdkEvent,
15468    ) -> gboolean;
15469    pub fn gtk_im_context_delete_surrounding(
15470        context: *mut GtkIMContext,
15471        offset: c_int,
15472        n_chars: c_int,
15473    ) -> gboolean;
15474    pub fn gtk_im_context_filter_key(
15475        context: *mut GtkIMContext,
15476        press: gboolean,
15477        surface: *mut gdk::GdkSurface,
15478        device: *mut gdk::GdkDevice,
15479        time: u32,
15480        keycode: c_uint,
15481        state: gdk::GdkModifierType,
15482        group: c_int,
15483    ) -> gboolean;
15484    pub fn gtk_im_context_filter_keypress(
15485        context: *mut GtkIMContext,
15486        event: *mut gdk::GdkEvent,
15487    ) -> gboolean;
15488    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15489    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15490    pub fn gtk_im_context_get_preedit_string(
15491        context: *mut GtkIMContext,
15492        str: *mut *mut c_char,
15493        attrs: *mut *mut pango::PangoAttrList,
15494        cursor_pos: *mut c_int,
15495    );
15496    pub fn gtk_im_context_get_surrounding(
15497        context: *mut GtkIMContext,
15498        text: *mut *mut c_char,
15499        cursor_index: *mut c_int,
15500    ) -> gboolean;
15501    #[cfg(feature = "v4_2")]
15502    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15503    pub fn gtk_im_context_get_surrounding_with_selection(
15504        context: *mut GtkIMContext,
15505        text: *mut *mut c_char,
15506        cursor_index: *mut c_int,
15507        anchor_index: *mut c_int,
15508    ) -> gboolean;
15509    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15510    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15511    pub fn gtk_im_context_set_cursor_location(
15512        context: *mut GtkIMContext,
15513        area: *const gdk::GdkRectangle,
15514    );
15515    pub fn gtk_im_context_set_surrounding(
15516        context: *mut GtkIMContext,
15517        text: *const c_char,
15518        len: c_int,
15519        cursor_index: c_int,
15520    );
15521    #[cfg(feature = "v4_2")]
15522    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15523    pub fn gtk_im_context_set_surrounding_with_selection(
15524        context: *mut GtkIMContext,
15525        text: *const c_char,
15526        len: c_int,
15527        cursor_index: c_int,
15528        anchor_index: c_int,
15529    );
15530    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15531
15532    //=========================================================================
15533    // GtkIMContextSimple
15534    //=========================================================================
15535    pub fn gtk_im_context_simple_get_type() -> GType;
15536    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15537    pub fn gtk_im_context_simple_add_compose_file(
15538        context_simple: *mut GtkIMContextSimple,
15539        compose_file: *const c_char,
15540    );
15541    pub fn gtk_im_context_simple_add_table(
15542        context_simple: *mut GtkIMContextSimple,
15543        data: *mut u16,
15544        max_seq_len: c_int,
15545        n_seqs: c_int,
15546    );
15547
15548    //=========================================================================
15549    // GtkIMMulticontext
15550    //=========================================================================
15551    pub fn gtk_im_multicontext_get_type() -> GType;
15552    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15553    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15554    pub fn gtk_im_multicontext_set_context_id(
15555        context: *mut GtkIMMulticontext,
15556        context_id: *const c_char,
15557    );
15558
15559    //=========================================================================
15560    // GtkIconPaintable
15561    //=========================================================================
15562    pub fn gtk_icon_paintable_get_type() -> GType;
15563    pub fn gtk_icon_paintable_new_for_file(
15564        file: *mut gio::GFile,
15565        size: c_int,
15566        scale: c_int,
15567    ) -> *mut GtkIconPaintable;
15568    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15569    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15570    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15571
15572    //=========================================================================
15573    // GtkIconTheme
15574    //=========================================================================
15575    pub fn gtk_icon_theme_get_type() -> GType;
15576    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15577    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15578    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15579    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15580    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15581    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15582    pub fn gtk_icon_theme_get_icon_sizes(
15583        self_: *mut GtkIconTheme,
15584        icon_name: *const c_char,
15585    ) -> *mut c_int;
15586    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15587    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15588    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15589    #[cfg(feature = "v4_2")]
15590    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15591    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15592    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15593    pub fn gtk_icon_theme_lookup_by_gicon(
15594        self_: *mut GtkIconTheme,
15595        icon: *mut gio::GIcon,
15596        size: c_int,
15597        scale: c_int,
15598        direction: GtkTextDirection,
15599        flags: GtkIconLookupFlags,
15600    ) -> *mut GtkIconPaintable;
15601    pub fn gtk_icon_theme_lookup_icon(
15602        self_: *mut GtkIconTheme,
15603        icon_name: *const c_char,
15604        fallbacks: *mut *const c_char,
15605        size: c_int,
15606        scale: c_int,
15607        direction: GtkTextDirection,
15608        flags: GtkIconLookupFlags,
15609    ) -> *mut GtkIconPaintable;
15610    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15611    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15612    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15613
15614    //=========================================================================
15615    // GtkIconView
15616    //=========================================================================
15617    pub fn gtk_icon_view_get_type() -> GType;
15618    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15619    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15620    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15621    pub fn gtk_icon_view_create_drag_icon(
15622        icon_view: *mut GtkIconView,
15623        path: *mut GtkTreePath,
15624    ) -> *mut gdk::GdkPaintable;
15625    pub fn gtk_icon_view_enable_model_drag_dest(
15626        icon_view: *mut GtkIconView,
15627        formats: *mut gdk::GdkContentFormats,
15628        actions: gdk::GdkDragAction,
15629    );
15630    pub fn gtk_icon_view_enable_model_drag_source(
15631        icon_view: *mut GtkIconView,
15632        start_button_mask: gdk::GdkModifierType,
15633        formats: *mut gdk::GdkContentFormats,
15634        actions: gdk::GdkDragAction,
15635    );
15636    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15637    pub fn gtk_icon_view_get_cell_rect(
15638        icon_view: *mut GtkIconView,
15639        path: *mut GtkTreePath,
15640        cell: *mut GtkCellRenderer,
15641        rect: *mut gdk::GdkRectangle,
15642    ) -> gboolean;
15643    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15644    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15645    pub fn gtk_icon_view_get_cursor(
15646        icon_view: *mut GtkIconView,
15647        path: *mut *mut GtkTreePath,
15648        cell: *mut *mut GtkCellRenderer,
15649    ) -> gboolean;
15650    pub fn gtk_icon_view_get_dest_item_at_pos(
15651        icon_view: *mut GtkIconView,
15652        drag_x: c_int,
15653        drag_y: c_int,
15654        path: *mut *mut GtkTreePath,
15655        pos: *mut GtkIconViewDropPosition,
15656    ) -> gboolean;
15657    pub fn gtk_icon_view_get_drag_dest_item(
15658        icon_view: *mut GtkIconView,
15659        path: *mut *mut GtkTreePath,
15660        pos: *mut GtkIconViewDropPosition,
15661    );
15662    pub fn gtk_icon_view_get_item_at_pos(
15663        icon_view: *mut GtkIconView,
15664        x: c_int,
15665        y: c_int,
15666        path: *mut *mut GtkTreePath,
15667        cell: *mut *mut GtkCellRenderer,
15668    ) -> gboolean;
15669    pub fn gtk_icon_view_get_item_column(
15670        icon_view: *mut GtkIconView,
15671        path: *mut GtkTreePath,
15672    ) -> c_int;
15673    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15674    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15675    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15676    -> c_int;
15677    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15678    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15679    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15680    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15681    pub fn gtk_icon_view_get_path_at_pos(
15682        icon_view: *mut GtkIconView,
15683        x: c_int,
15684        y: c_int,
15685    ) -> *mut GtkTreePath;
15686    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15687    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15688    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15689    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15690    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15691    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15692    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15693    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15694    pub fn gtk_icon_view_get_tooltip_context(
15695        icon_view: *mut GtkIconView,
15696        x: c_int,
15697        y: c_int,
15698        keyboard_tip: gboolean,
15699        model: *mut *mut GtkTreeModel,
15700        path: *mut *mut GtkTreePath,
15701        iter: *mut GtkTreeIter,
15702    ) -> gboolean;
15703    pub fn gtk_icon_view_get_visible_range(
15704        icon_view: *mut GtkIconView,
15705        start_path: *mut *mut GtkTreePath,
15706        end_path: *mut *mut GtkTreePath,
15707    ) -> gboolean;
15708    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15709    pub fn gtk_icon_view_path_is_selected(
15710        icon_view: *mut GtkIconView,
15711        path: *mut GtkTreePath,
15712    ) -> gboolean;
15713    pub fn gtk_icon_view_scroll_to_path(
15714        icon_view: *mut GtkIconView,
15715        path: *mut GtkTreePath,
15716        use_align: gboolean,
15717        row_align: c_float,
15718        col_align: c_float,
15719    );
15720    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15721    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15722    pub fn gtk_icon_view_selected_foreach(
15723        icon_view: *mut GtkIconView,
15724        func: GtkIconViewForeachFunc,
15725        data: gpointer,
15726    );
15727    pub fn gtk_icon_view_set_activate_on_single_click(
15728        icon_view: *mut GtkIconView,
15729        single: gboolean,
15730    );
15731    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15732    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15733    pub fn gtk_icon_view_set_cursor(
15734        icon_view: *mut GtkIconView,
15735        path: *mut GtkTreePath,
15736        cell: *mut GtkCellRenderer,
15737        start_editing: gboolean,
15738    );
15739    pub fn gtk_icon_view_set_drag_dest_item(
15740        icon_view: *mut GtkIconView,
15741        path: *mut GtkTreePath,
15742        pos: GtkIconViewDropPosition,
15743    );
15744    pub fn gtk_icon_view_set_item_orientation(
15745        icon_view: *mut GtkIconView,
15746        orientation: GtkOrientation,
15747    );
15748    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15749    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15750    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15751    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15752    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15753    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15754    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15755    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15756    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15757    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15758    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15759    pub fn gtk_icon_view_set_tooltip_cell(
15760        icon_view: *mut GtkIconView,
15761        tooltip: *mut GtkTooltip,
15762        path: *mut GtkTreePath,
15763        cell: *mut GtkCellRenderer,
15764    );
15765    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15766    pub fn gtk_icon_view_set_tooltip_item(
15767        icon_view: *mut GtkIconView,
15768        tooltip: *mut GtkTooltip,
15769        path: *mut GtkTreePath,
15770    );
15771    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15772    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15773    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15774    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15775
15776    //=========================================================================
15777    // GtkImage
15778    //=========================================================================
15779    pub fn gtk_image_get_type() -> GType;
15780    pub fn gtk_image_new() -> *mut GtkWidget;
15781    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15782    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15783    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15784    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15785    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15786    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15787    pub fn gtk_image_clear(image: *mut GtkImage);
15788    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15789    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15790    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15791    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15792    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15793    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15794    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15795    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15796    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15797    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15798    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15799    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15800    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15801    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15802
15803    //=========================================================================
15804    // GtkInfoBar
15805    //=========================================================================
15806    pub fn gtk_info_bar_get_type() -> GType;
15807    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15808    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15809    pub fn gtk_info_bar_add_action_widget(
15810        info_bar: *mut GtkInfoBar,
15811        child: *mut GtkWidget,
15812        response_id: GtkResponseType,
15813    );
15814    pub fn gtk_info_bar_add_button(
15815        info_bar: *mut GtkInfoBar,
15816        button_text: *const c_char,
15817        response_id: GtkResponseType,
15818    ) -> *mut GtkButton;
15819    pub fn gtk_info_bar_add_buttons(
15820        info_bar: *mut GtkInfoBar,
15821        first_button_text: *const c_char,
15822        ...
15823    );
15824    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15825    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15826    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15827    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15828    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15829    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15830    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15831    pub fn gtk_info_bar_set_default_response(
15832        info_bar: *mut GtkInfoBar,
15833        response_id: GtkResponseType,
15834    );
15835    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15836    pub fn gtk_info_bar_set_response_sensitive(
15837        info_bar: *mut GtkInfoBar,
15838        response_id: GtkResponseType,
15839        setting: gboolean,
15840    );
15841    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15842    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15843
15844    //=========================================================================
15845    // GtkInscription
15846    //=========================================================================
15847    #[cfg(feature = "v4_8")]
15848    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15849    pub fn gtk_inscription_get_type() -> GType;
15850    #[cfg(feature = "v4_8")]
15851    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15852    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15853    #[cfg(feature = "v4_8")]
15854    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15855    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15856    #[cfg(feature = "v4_8")]
15857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15858    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15859    #[cfg(feature = "v4_8")]
15860    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15861    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15862    #[cfg(feature = "v4_8")]
15863    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15864    pub fn gtk_inscription_get_nat_chars(self_: *mut GtkInscription) -> c_uint;
15865    #[cfg(feature = "v4_8")]
15866    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15867    pub fn gtk_inscription_get_nat_lines(self_: *mut GtkInscription) -> c_uint;
15868    #[cfg(feature = "v4_8")]
15869    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15870    pub fn gtk_inscription_get_text(self_: *mut GtkInscription) -> *const c_char;
15871    #[cfg(feature = "v4_8")]
15872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15873    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
15874    #[cfg(feature = "v4_8")]
15875    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15876    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
15877    #[cfg(feature = "v4_8")]
15878    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15879    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
15880    #[cfg(feature = "v4_8")]
15881    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15882    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
15883    #[cfg(feature = "v4_8")]
15884    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15885    pub fn gtk_inscription_set_attributes(
15886        self_: *mut GtkInscription,
15887        attrs: *mut pango::PangoAttrList,
15888    );
15889    #[cfg(feature = "v4_8")]
15890    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15891    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
15892    #[cfg(feature = "v4_8")]
15893    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15894    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
15895    #[cfg(feature = "v4_8")]
15896    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15897    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
15898    #[cfg(feature = "v4_8")]
15899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15900    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
15901    #[cfg(feature = "v4_8")]
15902    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15903    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
15904    #[cfg(feature = "v4_8")]
15905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15906    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
15907    #[cfg(feature = "v4_8")]
15908    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15909    pub fn gtk_inscription_set_text_overflow(
15910        self_: *mut GtkInscription,
15911        overflow: GtkInscriptionOverflow,
15912    );
15913    #[cfg(feature = "v4_8")]
15914    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15915    pub fn gtk_inscription_set_wrap_mode(
15916        self_: *mut GtkInscription,
15917        wrap_mode: pango::PangoWrapMode,
15918    );
15919    #[cfg(feature = "v4_8")]
15920    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15921    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
15922    #[cfg(feature = "v4_8")]
15923    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15924    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
15925
15926    //=========================================================================
15927    // GtkKeyvalTrigger
15928    //=========================================================================
15929    pub fn gtk_keyval_trigger_get_type() -> GType;
15930    pub fn gtk_keyval_trigger_new(
15931        keyval: c_uint,
15932        modifiers: gdk::GdkModifierType,
15933    ) -> *mut GtkShortcutTrigger;
15934    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
15935    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
15936
15937    //=========================================================================
15938    // GtkLabel
15939    //=========================================================================
15940    pub fn gtk_label_get_type() -> GType;
15941    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
15942    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
15943    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
15944    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
15945    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
15946    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
15947    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
15948    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
15949    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
15950    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
15951    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
15952    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
15953    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
15954    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
15955    #[cfg(feature = "v4_6")]
15956    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
15957    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
15958    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
15959    pub fn gtk_label_get_selection_bounds(
15960        self_: *mut GtkLabel,
15961        start: *mut c_int,
15962        end: *mut c_int,
15963    ) -> gboolean;
15964    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
15965    #[cfg(feature = "v4_8")]
15966    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15967    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
15968    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
15969    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
15970    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
15971    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
15972    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
15973    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
15974    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
15975    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
15976    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
15977    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
15978    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
15979    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
15980    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
15981    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
15982    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
15983    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
15984    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
15985    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
15986    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
15987    #[cfg(feature = "v4_6")]
15988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
15989    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
15990    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
15991    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
15992    #[cfg(feature = "v4_8")]
15993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15994    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
15995    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
15996    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
15997    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
15998    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
15999    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16000    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16001    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16002    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16003    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16004
16005    //=========================================================================
16006    // GtkLayoutChild
16007    //=========================================================================
16008    pub fn gtk_layout_child_get_type() -> GType;
16009    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16010    pub fn gtk_layout_child_get_layout_manager(
16011        layout_child: *mut GtkLayoutChild,
16012    ) -> *mut GtkLayoutManager;
16013
16014    //=========================================================================
16015    // GtkLayoutManager
16016    //=========================================================================
16017    pub fn gtk_layout_manager_get_type() -> GType;
16018    pub fn gtk_layout_manager_allocate(
16019        manager: *mut GtkLayoutManager,
16020        widget: *mut GtkWidget,
16021        width: c_int,
16022        height: c_int,
16023        baseline: c_int,
16024    );
16025    pub fn gtk_layout_manager_get_layout_child(
16026        manager: *mut GtkLayoutManager,
16027        child: *mut GtkWidget,
16028    ) -> *mut GtkLayoutChild;
16029    pub fn gtk_layout_manager_get_request_mode(
16030        manager: *mut GtkLayoutManager,
16031    ) -> GtkSizeRequestMode;
16032    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16033    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16034    pub fn gtk_layout_manager_measure(
16035        manager: *mut GtkLayoutManager,
16036        widget: *mut GtkWidget,
16037        orientation: GtkOrientation,
16038        for_size: c_int,
16039        minimum: *mut c_int,
16040        natural: *mut c_int,
16041        minimum_baseline: *mut c_int,
16042        natural_baseline: *mut c_int,
16043    );
16044
16045    //=========================================================================
16046    // GtkLevelBar
16047    //=========================================================================
16048    pub fn gtk_level_bar_get_type() -> GType;
16049    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16050    pub fn gtk_level_bar_new_for_interval(
16051        min_value: c_double,
16052        max_value: c_double,
16053    ) -> *mut GtkWidget;
16054    pub fn gtk_level_bar_add_offset_value(
16055        self_: *mut GtkLevelBar,
16056        name: *const c_char,
16057        value: c_double,
16058    );
16059    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16060    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16061    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16062    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16063    pub fn gtk_level_bar_get_offset_value(
16064        self_: *mut GtkLevelBar,
16065        name: *const c_char,
16066        value: *mut c_double,
16067    ) -> gboolean;
16068    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16069    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16070    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16071    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16072    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16073    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16074    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16075
16076    //=========================================================================
16077    // GtkLinkButton
16078    //=========================================================================
16079    pub fn gtk_link_button_get_type() -> GType;
16080    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16081    pub fn gtk_link_button_new_with_label(
16082        uri: *const c_char,
16083        label: *const c_char,
16084    ) -> *mut GtkWidget;
16085    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16086    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16087    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16088    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16089
16090    //=========================================================================
16091    // GtkListBase
16092    //=========================================================================
16093    pub fn gtk_list_base_get_type() -> GType;
16094
16095    //=========================================================================
16096    // GtkListBox
16097    //=========================================================================
16098    pub fn gtk_list_box_get_type() -> GType;
16099    pub fn gtk_list_box_new() -> *mut GtkWidget;
16100    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16101    pub fn gtk_list_box_bind_model(
16102        box_: *mut GtkListBox,
16103        model: *mut gio::GListModel,
16104        create_widget_func: GtkListBoxCreateWidgetFunc,
16105        user_data: gpointer,
16106        user_data_free_func: glib::GDestroyNotify,
16107    );
16108    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16109    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16110    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16111    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16112    pub fn gtk_list_box_get_row_at_index(
16113        box_: *mut GtkListBox,
16114        index_: c_int,
16115    ) -> *mut GtkListBoxRow;
16116    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16117    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16118    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16119    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16120    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16121    #[cfg(feature = "v4_18")]
16122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16123    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16124    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16125    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16126    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16127    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16128    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16129    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16130    #[cfg(feature = "v4_12")]
16131    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16132    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16133    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16134    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16135    pub fn gtk_list_box_selected_foreach(
16136        box_: *mut GtkListBox,
16137        func: GtkListBoxForeachFunc,
16138        data: gpointer,
16139    );
16140    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16141    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16142    pub fn gtk_list_box_set_filter_func(
16143        box_: *mut GtkListBox,
16144        filter_func: GtkListBoxFilterFunc,
16145        user_data: gpointer,
16146        destroy: glib::GDestroyNotify,
16147    );
16148    pub fn gtk_list_box_set_header_func(
16149        box_: *mut GtkListBox,
16150        update_header: GtkListBoxUpdateHeaderFunc,
16151        user_data: gpointer,
16152        destroy: glib::GDestroyNotify,
16153    );
16154    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16155    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16156    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16157    pub fn gtk_list_box_set_sort_func(
16158        box_: *mut GtkListBox,
16159        sort_func: GtkListBoxSortFunc,
16160        user_data: gpointer,
16161        destroy: glib::GDestroyNotify,
16162    );
16163    #[cfg(feature = "v4_18")]
16164    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16165    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16166    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16167    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16168
16169    //=========================================================================
16170    // GtkListBoxRow
16171    //=========================================================================
16172    pub fn gtk_list_box_row_get_type() -> GType;
16173    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16174    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16175    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16176    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16177    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16178    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16179    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16180    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16181    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16182    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16183    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16184    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16185
16186    //=========================================================================
16187    // GtkListHeader
16188    //=========================================================================
16189    #[cfg(feature = "v4_12")]
16190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16191    pub fn gtk_list_header_get_type() -> GType;
16192    #[cfg(feature = "v4_12")]
16193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16194    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16195    #[cfg(feature = "v4_12")]
16196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16197    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16198    #[cfg(feature = "v4_12")]
16199    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16200    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16201    #[cfg(feature = "v4_12")]
16202    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16203    pub fn gtk_list_header_get_n_items(self_: *mut GtkListHeader) -> c_uint;
16204    #[cfg(feature = "v4_12")]
16205    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16206    pub fn gtk_list_header_get_start(self_: *mut GtkListHeader) -> c_uint;
16207    #[cfg(feature = "v4_12")]
16208    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16209    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16210
16211    //=========================================================================
16212    // GtkListItem
16213    //=========================================================================
16214    pub fn gtk_list_item_get_type() -> GType;
16215    #[cfg(feature = "v4_12")]
16216    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16217    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16218    #[cfg(feature = "v4_12")]
16219    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16220    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16221    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16222    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16223    #[cfg(feature = "v4_12")]
16224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16225    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16226    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16227    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16228    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16229    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16230    #[cfg(feature = "v4_12")]
16231    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16232    pub fn gtk_list_item_set_accessible_description(
16233        self_: *mut GtkListItem,
16234        description: *const c_char,
16235    );
16236    #[cfg(feature = "v4_12")]
16237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16238    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16239    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16240    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16241    #[cfg(feature = "v4_12")]
16242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16243    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16244    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16245
16246    //=========================================================================
16247    // GtkListItemFactory
16248    //=========================================================================
16249    pub fn gtk_list_item_factory_get_type() -> GType;
16250
16251    //=========================================================================
16252    // GtkListStore
16253    //=========================================================================
16254    pub fn gtk_list_store_get_type() -> GType;
16255    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16256    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16257    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16258    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16259    pub fn gtk_list_store_insert(
16260        list_store: *mut GtkListStore,
16261        iter: *mut GtkTreeIter,
16262        position: c_int,
16263    );
16264    pub fn gtk_list_store_insert_after(
16265        list_store: *mut GtkListStore,
16266        iter: *mut GtkTreeIter,
16267        sibling: *mut GtkTreeIter,
16268    );
16269    pub fn gtk_list_store_insert_before(
16270        list_store: *mut GtkListStore,
16271        iter: *mut GtkTreeIter,
16272        sibling: *mut GtkTreeIter,
16273    );
16274    pub fn gtk_list_store_insert_with_values(
16275        list_store: *mut GtkListStore,
16276        iter: *mut GtkTreeIter,
16277        position: c_int,
16278        ...
16279    );
16280    pub fn gtk_list_store_insert_with_valuesv(
16281        list_store: *mut GtkListStore,
16282        iter: *mut GtkTreeIter,
16283        position: c_int,
16284        columns: *mut c_int,
16285        values: *mut gobject::GValue,
16286        n_values: c_int,
16287    );
16288    pub fn gtk_list_store_iter_is_valid(
16289        list_store: *mut GtkListStore,
16290        iter: *mut GtkTreeIter,
16291    ) -> gboolean;
16292    pub fn gtk_list_store_move_after(
16293        store: *mut GtkListStore,
16294        iter: *mut GtkTreeIter,
16295        position: *mut GtkTreeIter,
16296    );
16297    pub fn gtk_list_store_move_before(
16298        store: *mut GtkListStore,
16299        iter: *mut GtkTreeIter,
16300        position: *mut GtkTreeIter,
16301    );
16302    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16303    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16304    -> gboolean;
16305    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16306    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16307    pub fn gtk_list_store_set_column_types(
16308        list_store: *mut GtkListStore,
16309        n_columns: c_int,
16310        types: *mut GType,
16311    );
16312    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16313    pub fn gtk_list_store_set_value(
16314        list_store: *mut GtkListStore,
16315        iter: *mut GtkTreeIter,
16316        column: c_int,
16317        value: *mut gobject::GValue,
16318    );
16319    pub fn gtk_list_store_set_valuesv(
16320        list_store: *mut GtkListStore,
16321        iter: *mut GtkTreeIter,
16322        columns: *mut c_int,
16323        values: *mut gobject::GValue,
16324        n_values: c_int,
16325    );
16326    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16327
16328    //=========================================================================
16329    // GtkListView
16330    //=========================================================================
16331    pub fn gtk_list_view_get_type() -> GType;
16332    pub fn gtk_list_view_new(
16333        model: *mut GtkSelectionModel,
16334        factory: *mut GtkListItemFactory,
16335    ) -> *mut GtkWidget;
16336    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16337    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16338    #[cfg(feature = "v4_12")]
16339    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16340    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16341    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16342    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16343    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16344    #[cfg(feature = "v4_12")]
16345    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16346    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16347    #[cfg(feature = "v4_12")]
16348    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16349    pub fn gtk_list_view_scroll_to(
16350        self_: *mut GtkListView,
16351        pos: c_uint,
16352        flags: GtkListScrollFlags,
16353        scroll: *mut GtkScrollInfo,
16354    );
16355    pub fn gtk_list_view_set_enable_rubberband(
16356        self_: *mut GtkListView,
16357        enable_rubberband: gboolean,
16358    );
16359    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16360    #[cfg(feature = "v4_12")]
16361    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16362    pub fn gtk_list_view_set_header_factory(
16363        self_: *mut GtkListView,
16364        factory: *mut GtkListItemFactory,
16365    );
16366    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16367    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16368    pub fn gtk_list_view_set_single_click_activate(
16369        self_: *mut GtkListView,
16370        single_click_activate: gboolean,
16371    );
16372    #[cfg(feature = "v4_12")]
16373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16374    pub fn gtk_list_view_set_tab_behavior(
16375        self_: *mut GtkListView,
16376        tab_behavior: GtkListTabBehavior,
16377    );
16378
16379    //=========================================================================
16380    // GtkLockButton
16381    //=========================================================================
16382    pub fn gtk_lock_button_get_type() -> GType;
16383    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16384    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16385    pub fn gtk_lock_button_set_permission(
16386        button: *mut GtkLockButton,
16387        permission: *mut gio::GPermission,
16388    );
16389
16390    //=========================================================================
16391    // GtkMapListModel
16392    //=========================================================================
16393    pub fn gtk_map_list_model_get_type() -> GType;
16394    pub fn gtk_map_list_model_new(
16395        model: *mut gio::GListModel,
16396        map_func: GtkMapListModelMapFunc,
16397        user_data: gpointer,
16398        user_destroy: glib::GDestroyNotify,
16399    ) -> *mut GtkMapListModel;
16400    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16401    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16402    pub fn gtk_map_list_model_set_map_func(
16403        self_: *mut GtkMapListModel,
16404        map_func: GtkMapListModelMapFunc,
16405        user_data: gpointer,
16406        user_destroy: glib::GDestroyNotify,
16407    );
16408    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16409
16410    //=========================================================================
16411    // GtkMediaControls
16412    //=========================================================================
16413    pub fn gtk_media_controls_get_type() -> GType;
16414    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16415    pub fn gtk_media_controls_get_media_stream(
16416        controls: *mut GtkMediaControls,
16417    ) -> *mut GtkMediaStream;
16418    pub fn gtk_media_controls_set_media_stream(
16419        controls: *mut GtkMediaControls,
16420        stream: *mut GtkMediaStream,
16421    );
16422
16423    //=========================================================================
16424    // GtkMediaFile
16425    //=========================================================================
16426    pub fn gtk_media_file_get_type() -> GType;
16427    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16428    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16429    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16430    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16431    -> *mut GtkMediaFile;
16432    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16433    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16434    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16435    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16436    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16437    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16438    pub fn gtk_media_file_set_input_stream(
16439        self_: *mut GtkMediaFile,
16440        stream: *mut gio::GInputStream,
16441    );
16442    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16443
16444    //=========================================================================
16445    // GtkMediaStream
16446    //=========================================================================
16447    pub fn gtk_media_stream_get_type() -> GType;
16448    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16449    pub fn gtk_media_stream_error(
16450        self_: *mut GtkMediaStream,
16451        domain: glib::GQuark,
16452        code: c_int,
16453        format: *const c_char,
16454        ...
16455    );
16456    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16457    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16458    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16459    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16460    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16461    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16462    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16463    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16464    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16465    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16466    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16467    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16468    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16469    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16470    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16471    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16472    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16473    pub fn gtk_media_stream_prepared(
16474        self_: *mut GtkMediaStream,
16475        has_audio: gboolean,
16476        has_video: gboolean,
16477        seekable: gboolean,
16478        duration: i64,
16479    );
16480    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16481    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16482    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16483    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16484    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16485    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16486    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16487    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16488    #[cfg(feature = "v4_4")]
16489    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16490    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16491    #[cfg(feature = "v4_4")]
16492    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16493    pub fn gtk_media_stream_stream_prepared(
16494        self_: *mut GtkMediaStream,
16495        has_audio: gboolean,
16496        has_video: gboolean,
16497        seekable: gboolean,
16498        duration: i64,
16499    );
16500    #[cfg(feature = "v4_4")]
16501    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16502    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16503    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16504    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16505    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16506
16507    //=========================================================================
16508    // GtkMenuButton
16509    //=========================================================================
16510    pub fn gtk_menu_button_get_type() -> GType;
16511    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16512    #[cfg(feature = "v4_10")]
16513    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16514    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16515    #[cfg(feature = "v4_4")]
16516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16517    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16518    #[cfg(feature = "v4_12")]
16519    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16520    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16521    #[cfg(feature = "v4_6")]
16522    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16523    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16524    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16525    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16526    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16527    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16528    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16529    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16530    #[cfg(feature = "v4_4")]
16531    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16532    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16533    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16534    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16535    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16536    #[cfg(feature = "v4_10")]
16537    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16538    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16539    #[cfg(feature = "v4_4")]
16540    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16541    pub fn gtk_menu_button_set_always_show_arrow(
16542        menu_button: *mut GtkMenuButton,
16543        always_show_arrow: gboolean,
16544    );
16545    #[cfg(feature = "v4_12")]
16546    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16547    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16548    #[cfg(feature = "v4_6")]
16549    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16550    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16551    pub fn gtk_menu_button_set_create_popup_func(
16552        menu_button: *mut GtkMenuButton,
16553        func: GtkMenuButtonCreatePopupFunc,
16554        user_data: gpointer,
16555        destroy_notify: glib::GDestroyNotify,
16556    );
16557    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16558    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16559    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16560    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16561    pub fn gtk_menu_button_set_menu_model(
16562        menu_button: *mut GtkMenuButton,
16563        menu_model: *mut gio::GMenuModel,
16564    );
16565    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16566    #[cfg(feature = "v4_4")]
16567    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16568    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16569    pub fn gtk_menu_button_set_use_underline(
16570        menu_button: *mut GtkMenuButton,
16571        use_underline: gboolean,
16572    );
16573
16574    //=========================================================================
16575    // GtkMessageDialog
16576    //=========================================================================
16577    pub fn gtk_message_dialog_get_type() -> GType;
16578    pub fn gtk_message_dialog_new(
16579        parent: *mut GtkWindow,
16580        flags: GtkDialogFlags,
16581        type_: GtkMessageType,
16582        buttons: GtkButtonsType,
16583        message_format: *const c_char,
16584        ...
16585    ) -> *mut GtkWidget;
16586    pub fn gtk_message_dialog_new_with_markup(
16587        parent: *mut GtkWindow,
16588        flags: GtkDialogFlags,
16589        type_: GtkMessageType,
16590        buttons: GtkButtonsType,
16591        message_format: *const c_char,
16592        ...
16593    ) -> *mut GtkWidget;
16594    pub fn gtk_message_dialog_format_secondary_markup(
16595        message_dialog: *mut GtkMessageDialog,
16596        message_format: *const c_char,
16597        ...
16598    );
16599    pub fn gtk_message_dialog_format_secondary_text(
16600        message_dialog: *mut GtkMessageDialog,
16601        message_format: *const c_char,
16602        ...
16603    );
16604    pub fn gtk_message_dialog_get_message_area(
16605        message_dialog: *mut GtkMessageDialog,
16606    ) -> *mut GtkWidget;
16607    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16608
16609    //=========================================================================
16610    // GtkMnemonicAction
16611    //=========================================================================
16612    pub fn gtk_mnemonic_action_get_type() -> GType;
16613    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16614
16615    //=========================================================================
16616    // GtkMnemonicTrigger
16617    //=========================================================================
16618    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16619    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16620    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16621
16622    //=========================================================================
16623    // GtkMountOperation
16624    //=========================================================================
16625    pub fn gtk_mount_operation_get_type() -> GType;
16626    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16627    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16628    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16629    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16630    pub fn gtk_mount_operation_set_display(
16631        op: *mut GtkMountOperation,
16632        display: *mut gdk::GdkDisplay,
16633    );
16634    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16635
16636    //=========================================================================
16637    // GtkMultiFilter
16638    //=========================================================================
16639    pub fn gtk_multi_filter_get_type() -> GType;
16640    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16641    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16642
16643    //=========================================================================
16644    // GtkMultiSelection
16645    //=========================================================================
16646    pub fn gtk_multi_selection_get_type() -> GType;
16647    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16648    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16649    pub fn gtk_multi_selection_set_model(
16650        self_: *mut GtkMultiSelection,
16651        model: *mut gio::GListModel,
16652    );
16653
16654    //=========================================================================
16655    // GtkMultiSorter
16656    //=========================================================================
16657    pub fn gtk_multi_sorter_get_type() -> GType;
16658    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16659    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16660    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16661
16662    //=========================================================================
16663    // GtkNamedAction
16664    //=========================================================================
16665    pub fn gtk_named_action_get_type() -> GType;
16666    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16667    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16668
16669    //=========================================================================
16670    // GtkNativeDialog
16671    //=========================================================================
16672    pub fn gtk_native_dialog_get_type() -> GType;
16673    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16674    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16675    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16676    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16677    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16678    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16679    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16680    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16681    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16682    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16683
16684    //=========================================================================
16685    // GtkNeverTrigger
16686    //=========================================================================
16687    pub fn gtk_never_trigger_get_type() -> GType;
16688    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16689
16690    //=========================================================================
16691    // GtkNoSelection
16692    //=========================================================================
16693    pub fn gtk_no_selection_get_type() -> GType;
16694    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16695    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16696    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16697
16698    //=========================================================================
16699    // GtkNotebook
16700    //=========================================================================
16701    pub fn gtk_notebook_get_type() -> GType;
16702    pub fn gtk_notebook_new() -> *mut GtkWidget;
16703    pub fn gtk_notebook_append_page(
16704        notebook: *mut GtkNotebook,
16705        child: *mut GtkWidget,
16706        tab_label: *mut GtkWidget,
16707    ) -> c_int;
16708    pub fn gtk_notebook_append_page_menu(
16709        notebook: *mut GtkNotebook,
16710        child: *mut GtkWidget,
16711        tab_label: *mut GtkWidget,
16712        menu_label: *mut GtkWidget,
16713    ) -> c_int;
16714    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16715    pub fn gtk_notebook_get_action_widget(
16716        notebook: *mut GtkNotebook,
16717        pack_type: GtkPackType,
16718    ) -> *mut GtkWidget;
16719    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16720    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16721    pub fn gtk_notebook_get_menu_label(
16722        notebook: *mut GtkNotebook,
16723        child: *mut GtkWidget,
16724    ) -> *mut GtkWidget;
16725    pub fn gtk_notebook_get_menu_label_text(
16726        notebook: *mut GtkNotebook,
16727        child: *mut GtkWidget,
16728    ) -> *const c_char;
16729    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16730    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16731    -> *mut GtkWidget;
16732    pub fn gtk_notebook_get_page(
16733        notebook: *mut GtkNotebook,
16734        child: *mut GtkWidget,
16735    ) -> *mut GtkNotebookPage;
16736    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16737    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16738    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16739    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16740    pub fn gtk_notebook_get_tab_detachable(
16741        notebook: *mut GtkNotebook,
16742        child: *mut GtkWidget,
16743    ) -> gboolean;
16744    pub fn gtk_notebook_get_tab_label(
16745        notebook: *mut GtkNotebook,
16746        child: *mut GtkWidget,
16747    ) -> *mut GtkWidget;
16748    pub fn gtk_notebook_get_tab_label_text(
16749        notebook: *mut GtkNotebook,
16750        child: *mut GtkWidget,
16751    ) -> *const c_char;
16752    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16753    pub fn gtk_notebook_get_tab_reorderable(
16754        notebook: *mut GtkNotebook,
16755        child: *mut GtkWidget,
16756    ) -> gboolean;
16757    pub fn gtk_notebook_insert_page(
16758        notebook: *mut GtkNotebook,
16759        child: *mut GtkWidget,
16760        tab_label: *mut GtkWidget,
16761        position: c_int,
16762    ) -> c_int;
16763    pub fn gtk_notebook_insert_page_menu(
16764        notebook: *mut GtkNotebook,
16765        child: *mut GtkWidget,
16766        tab_label: *mut GtkWidget,
16767        menu_label: *mut GtkWidget,
16768        position: c_int,
16769    ) -> c_int;
16770    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16771    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16772    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16773    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16774    pub fn gtk_notebook_prepend_page(
16775        notebook: *mut GtkNotebook,
16776        child: *mut GtkWidget,
16777        tab_label: *mut GtkWidget,
16778    ) -> c_int;
16779    pub fn gtk_notebook_prepend_page_menu(
16780        notebook: *mut GtkNotebook,
16781        child: *mut GtkWidget,
16782        tab_label: *mut GtkWidget,
16783        menu_label: *mut GtkWidget,
16784    ) -> c_int;
16785    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16786    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16787    pub fn gtk_notebook_reorder_child(
16788        notebook: *mut GtkNotebook,
16789        child: *mut GtkWidget,
16790        position: c_int,
16791    );
16792    pub fn gtk_notebook_set_action_widget(
16793        notebook: *mut GtkNotebook,
16794        widget: *mut GtkWidget,
16795        pack_type: GtkPackType,
16796    );
16797    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16798    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16799    pub fn gtk_notebook_set_menu_label(
16800        notebook: *mut GtkNotebook,
16801        child: *mut GtkWidget,
16802        menu_label: *mut GtkWidget,
16803    );
16804    pub fn gtk_notebook_set_menu_label_text(
16805        notebook: *mut GtkNotebook,
16806        child: *mut GtkWidget,
16807        menu_text: *const c_char,
16808    );
16809    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16810    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16811    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16812    pub fn gtk_notebook_set_tab_detachable(
16813        notebook: *mut GtkNotebook,
16814        child: *mut GtkWidget,
16815        detachable: gboolean,
16816    );
16817    pub fn gtk_notebook_set_tab_label(
16818        notebook: *mut GtkNotebook,
16819        child: *mut GtkWidget,
16820        tab_label: *mut GtkWidget,
16821    );
16822    pub fn gtk_notebook_set_tab_label_text(
16823        notebook: *mut GtkNotebook,
16824        child: *mut GtkWidget,
16825        tab_text: *const c_char,
16826    );
16827    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16828    pub fn gtk_notebook_set_tab_reorderable(
16829        notebook: *mut GtkNotebook,
16830        child: *mut GtkWidget,
16831        reorderable: gboolean,
16832    );
16833
16834    //=========================================================================
16835    // GtkNotebookPage
16836    //=========================================================================
16837    pub fn gtk_notebook_page_get_type() -> GType;
16838    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16839
16840    //=========================================================================
16841    // GtkNothingAction
16842    //=========================================================================
16843    pub fn gtk_nothing_action_get_type() -> GType;
16844    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16845
16846    //=========================================================================
16847    // GtkNumericSorter
16848    //=========================================================================
16849    pub fn gtk_numeric_sorter_get_type() -> GType;
16850    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16851    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16852    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16853    pub fn gtk_numeric_sorter_set_expression(
16854        self_: *mut GtkNumericSorter,
16855        expression: *mut GtkExpression,
16856    );
16857    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16858
16859    //=========================================================================
16860    // GtkObjectExpression
16861    //=========================================================================
16862    pub fn gtk_object_expression_get_type() -> GType;
16863    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16864    pub fn gtk_object_expression_get_object(
16865        expression: *mut GtkObjectExpression,
16866    ) -> *mut gobject::GObject;
16867
16868    //=========================================================================
16869    // GtkOverlay
16870    //=========================================================================
16871    pub fn gtk_overlay_get_type() -> GType;
16872    pub fn gtk_overlay_new() -> *mut GtkWidget;
16873    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16874    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
16875    pub fn gtk_overlay_get_clip_overlay(
16876        overlay: *mut GtkOverlay,
16877        widget: *mut GtkWidget,
16878    ) -> gboolean;
16879    pub fn gtk_overlay_get_measure_overlay(
16880        overlay: *mut GtkOverlay,
16881        widget: *mut GtkWidget,
16882    ) -> gboolean;
16883    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16884    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
16885    pub fn gtk_overlay_set_clip_overlay(
16886        overlay: *mut GtkOverlay,
16887        widget: *mut GtkWidget,
16888        clip_overlay: gboolean,
16889    );
16890    pub fn gtk_overlay_set_measure_overlay(
16891        overlay: *mut GtkOverlay,
16892        widget: *mut GtkWidget,
16893        measure: gboolean,
16894    );
16895
16896    //=========================================================================
16897    // GtkOverlayLayout
16898    //=========================================================================
16899    pub fn gtk_overlay_layout_get_type() -> GType;
16900    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
16901
16902    //=========================================================================
16903    // GtkOverlayLayoutChild
16904    //=========================================================================
16905    pub fn gtk_overlay_layout_child_get_type() -> GType;
16906    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
16907    -> gboolean;
16908    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
16909    pub fn gtk_overlay_layout_child_set_clip_overlay(
16910        child: *mut GtkOverlayLayoutChild,
16911        clip_overlay: gboolean,
16912    );
16913    pub fn gtk_overlay_layout_child_set_measure(
16914        child: *mut GtkOverlayLayoutChild,
16915        measure: gboolean,
16916    );
16917
16918    //=========================================================================
16919    // GtkPadController
16920    //=========================================================================
16921    pub fn gtk_pad_controller_get_type() -> GType;
16922    pub fn gtk_pad_controller_new(
16923        group: *mut gio::GActionGroup,
16924        pad: *mut gdk::GdkDevice,
16925    ) -> *mut GtkPadController;
16926    pub fn gtk_pad_controller_set_action(
16927        controller: *mut GtkPadController,
16928        type_: GtkPadActionType,
16929        index: c_int,
16930        mode: c_int,
16931        label: *const c_char,
16932        action_name: *const c_char,
16933    );
16934    pub fn gtk_pad_controller_set_action_entries(
16935        controller: *mut GtkPadController,
16936        entries: *const GtkPadActionEntry,
16937        n_entries: c_int,
16938    );
16939
16940    //=========================================================================
16941    // GtkPageSetup
16942    //=========================================================================
16943    pub fn gtk_page_setup_get_type() -> GType;
16944    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
16945    pub fn gtk_page_setup_new_from_file(
16946        file_name: *const c_char,
16947        error: *mut *mut glib::GError,
16948    ) -> *mut GtkPageSetup;
16949    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
16950    pub fn gtk_page_setup_new_from_key_file(
16951        key_file: *mut glib::GKeyFile,
16952        group_name: *const c_char,
16953        error: *mut *mut glib::GError,
16954    ) -> *mut GtkPageSetup;
16955    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
16956    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16957    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16958    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
16959    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16960    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16961    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16962    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
16963    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16964    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16965    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
16966    pub fn gtk_page_setup_load_file(
16967        setup: *mut GtkPageSetup,
16968        file_name: *const c_char,
16969        error: *mut *mut glib::GError,
16970    ) -> gboolean;
16971    pub fn gtk_page_setup_load_key_file(
16972        setup: *mut GtkPageSetup,
16973        key_file: *mut glib::GKeyFile,
16974        group_name: *const c_char,
16975        error: *mut *mut glib::GError,
16976    ) -> gboolean;
16977    pub fn gtk_page_setup_set_bottom_margin(
16978        setup: *mut GtkPageSetup,
16979        margin: c_double,
16980        unit: GtkUnit,
16981    );
16982    pub fn gtk_page_setup_set_left_margin(
16983        setup: *mut GtkPageSetup,
16984        margin: c_double,
16985        unit: GtkUnit,
16986    );
16987    pub fn gtk_page_setup_set_orientation(
16988        setup: *mut GtkPageSetup,
16989        orientation: GtkPageOrientation,
16990    );
16991    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
16992    pub fn gtk_page_setup_set_paper_size_and_default_margins(
16993        setup: *mut GtkPageSetup,
16994        size: *mut GtkPaperSize,
16995    );
16996    pub fn gtk_page_setup_set_right_margin(
16997        setup: *mut GtkPageSetup,
16998        margin: c_double,
16999        unit: GtkUnit,
17000    );
17001    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17002    pub fn gtk_page_setup_to_file(
17003        setup: *mut GtkPageSetup,
17004        file_name: *const c_char,
17005        error: *mut *mut glib::GError,
17006    ) -> gboolean;
17007    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17008    pub fn gtk_page_setup_to_key_file(
17009        setup: *mut GtkPageSetup,
17010        key_file: *mut glib::GKeyFile,
17011        group_name: *const c_char,
17012    );
17013
17014    //=========================================================================
17015    // GtkPageSetupUnixDialog
17016    //=========================================================================
17017    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17018    pub fn gtk_page_setup_unix_dialog_new(
17019        title: *const c_char,
17020        parent: *mut GtkWindow,
17021    ) -> *mut GtkWidget;
17022    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17023        dialog: *mut GtkPageSetupUnixDialog,
17024    ) -> *mut GtkPageSetup;
17025    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17026        dialog: *mut GtkPageSetupUnixDialog,
17027    ) -> *mut GtkPrintSettings;
17028    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17029        dialog: *mut GtkPageSetupUnixDialog,
17030        page_setup: *mut GtkPageSetup,
17031    );
17032    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17033        dialog: *mut GtkPageSetupUnixDialog,
17034        print_settings: *mut GtkPrintSettings,
17035    );
17036
17037    //=========================================================================
17038    // GtkPaned
17039    //=========================================================================
17040    pub fn gtk_paned_get_type() -> GType;
17041    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17042    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17043    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17044    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17045    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17046    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17047    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17048    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17049    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17050    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17051    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17052    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17053    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17054    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17055    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17056    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17057    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17058
17059    //=========================================================================
17060    // GtkParamSpecExpression
17061    //=========================================================================
17062    pub fn gtk_param_expression_get_type() -> GType;
17063
17064    //=========================================================================
17065    // GtkPasswordEntry
17066    //=========================================================================
17067    pub fn gtk_password_entry_get_type() -> GType;
17068    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17069    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17070    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17071    pub fn gtk_password_entry_set_extra_menu(
17072        entry: *mut GtkPasswordEntry,
17073        model: *mut gio::GMenuModel,
17074    );
17075    pub fn gtk_password_entry_set_show_peek_icon(
17076        entry: *mut GtkPasswordEntry,
17077        show_peek_icon: gboolean,
17078    );
17079
17080    //=========================================================================
17081    // GtkPasswordEntryBuffer
17082    //=========================================================================
17083    #[cfg(feature = "v4_4")]
17084    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17085    pub fn gtk_password_entry_buffer_get_type() -> GType;
17086    #[cfg(feature = "v4_4")]
17087    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17088    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17089
17090    //=========================================================================
17091    // GtkPicture
17092    //=========================================================================
17093    pub fn gtk_picture_get_type() -> GType;
17094    pub fn gtk_picture_new() -> *mut GtkWidget;
17095    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17096    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17097    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17098    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17099    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17100    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17101    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17102    #[cfg(feature = "v4_8")]
17103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17104    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17105    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17106    #[cfg(feature = "v4_22")]
17107    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17108    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17109    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17110    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17111    pub fn gtk_picture_set_alternative_text(
17112        self_: *mut GtkPicture,
17113        alternative_text: *const c_char,
17114    );
17115    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17116    #[cfg(feature = "v4_8")]
17117    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17118    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17119    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17120    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17121    #[cfg(feature = "v4_22")]
17122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17123    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17124    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17125    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17126    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17127    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17128
17129    //=========================================================================
17130    // GtkPopover
17131    //=========================================================================
17132    pub fn gtk_popover_get_type() -> GType;
17133    pub fn gtk_popover_new() -> *mut GtkWidget;
17134    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17135    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17136    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17137    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17138    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17139    pub fn gtk_popover_get_offset(
17140        popover: *mut GtkPopover,
17141        x_offset: *mut c_int,
17142        y_offset: *mut c_int,
17143    );
17144    pub fn gtk_popover_get_pointing_to(
17145        popover: *mut GtkPopover,
17146        rect: *mut gdk::GdkRectangle,
17147    ) -> gboolean;
17148    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17149    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17150    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17151    pub fn gtk_popover_present(popover: *mut GtkPopover);
17152    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17153    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17154    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17155    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17156    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17157    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17158    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17159    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17160    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17161
17162    //=========================================================================
17163    // GtkPopoverBin
17164    //=========================================================================
17165    #[cfg(feature = "v4_22")]
17166    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17167    pub fn gtk_popover_bin_get_type() -> GType;
17168    #[cfg(feature = "v4_22")]
17169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17170    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17171    #[cfg(feature = "v4_22")]
17172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17173    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17174    #[cfg(feature = "v4_22")]
17175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17176    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17177    #[cfg(feature = "v4_22")]
17178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17179    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17180    #[cfg(feature = "v4_22")]
17181    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17182    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17183    #[cfg(feature = "v4_22")]
17184    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17185    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17186    #[cfg(feature = "v4_22")]
17187    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17188    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17189    #[cfg(feature = "v4_22")]
17190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17191    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17192    #[cfg(feature = "v4_22")]
17193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17194    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17195    #[cfg(feature = "v4_22")]
17196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17197    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17198    #[cfg(feature = "v4_22")]
17199    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17200    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17201
17202    //=========================================================================
17203    // GtkPopoverMenu
17204    //=========================================================================
17205    pub fn gtk_popover_menu_get_type() -> GType;
17206    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17207    pub fn gtk_popover_menu_new_from_model_full(
17208        model: *mut gio::GMenuModel,
17209        flags: GtkPopoverMenuFlags,
17210    ) -> *mut GtkWidget;
17211    pub fn gtk_popover_menu_add_child(
17212        popover: *mut GtkPopoverMenu,
17213        child: *mut GtkWidget,
17214        id: *const c_char,
17215    ) -> gboolean;
17216    #[cfg(feature = "v4_14")]
17217    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17218    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17219    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17220    pub fn gtk_popover_menu_remove_child(
17221        popover: *mut GtkPopoverMenu,
17222        child: *mut GtkWidget,
17223    ) -> gboolean;
17224    #[cfg(feature = "v4_14")]
17225    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17226    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17227    pub fn gtk_popover_menu_set_menu_model(
17228        popover: *mut GtkPopoverMenu,
17229        model: *mut gio::GMenuModel,
17230    );
17231
17232    //=========================================================================
17233    // GtkPopoverMenuBar
17234    //=========================================================================
17235    pub fn gtk_popover_menu_bar_get_type() -> GType;
17236    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17237    pub fn gtk_popover_menu_bar_add_child(
17238        bar: *mut GtkPopoverMenuBar,
17239        child: *mut GtkWidget,
17240        id: *const c_char,
17241    ) -> gboolean;
17242    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17243    -> *mut gio::GMenuModel;
17244    pub fn gtk_popover_menu_bar_remove_child(
17245        bar: *mut GtkPopoverMenuBar,
17246        child: *mut GtkWidget,
17247    ) -> gboolean;
17248    pub fn gtk_popover_menu_bar_set_menu_model(
17249        bar: *mut GtkPopoverMenuBar,
17250        model: *mut gio::GMenuModel,
17251    );
17252
17253    //=========================================================================
17254    // GtkPrintContext
17255    //=========================================================================
17256    pub fn gtk_print_context_get_type() -> GType;
17257    pub fn gtk_print_context_create_pango_context(
17258        context: *mut GtkPrintContext,
17259    ) -> *mut pango::PangoContext;
17260    pub fn gtk_print_context_create_pango_layout(
17261        context: *mut GtkPrintContext,
17262    ) -> *mut pango::PangoLayout;
17263    pub fn gtk_print_context_get_cairo_context(
17264        context: *mut GtkPrintContext,
17265    ) -> *mut cairo::cairo_t;
17266    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17267    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17268    pub fn gtk_print_context_get_hard_margins(
17269        context: *mut GtkPrintContext,
17270        top: *mut c_double,
17271        bottom: *mut c_double,
17272        left: *mut c_double,
17273        right: *mut c_double,
17274    ) -> gboolean;
17275    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17276    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17277    pub fn gtk_print_context_get_pango_fontmap(
17278        context: *mut GtkPrintContext,
17279    ) -> *mut pango::PangoFontMap;
17280    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17281    pub fn gtk_print_context_set_cairo_context(
17282        context: *mut GtkPrintContext,
17283        cr: *mut cairo::cairo_t,
17284        dpi_x: c_double,
17285        dpi_y: c_double,
17286    );
17287
17288    //=========================================================================
17289    // GtkPrintDialog
17290    //=========================================================================
17291    #[cfg(feature = "v4_14")]
17292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17293    pub fn gtk_print_dialog_get_type() -> GType;
17294    #[cfg(feature = "v4_14")]
17295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17296    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17297    #[cfg(feature = "v4_14")]
17298    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17299    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17300    #[cfg(feature = "v4_14")]
17301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17302    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17303    #[cfg(feature = "v4_14")]
17304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17305    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17306    #[cfg(feature = "v4_14")]
17307    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17308    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17309    -> *mut GtkPrintSettings;
17310    #[cfg(feature = "v4_14")]
17311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17312    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17313    #[cfg(feature = "v4_14")]
17314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17315    pub fn gtk_print_dialog_print(
17316        self_: *mut GtkPrintDialog,
17317        parent: *mut GtkWindow,
17318        setup: *mut GtkPrintSetup,
17319        cancellable: *mut gio::GCancellable,
17320        callback: gio::GAsyncReadyCallback,
17321        user_data: gpointer,
17322    );
17323    #[cfg(feature = "v4_14")]
17324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17325    pub fn gtk_print_dialog_print_file(
17326        self_: *mut GtkPrintDialog,
17327        parent: *mut GtkWindow,
17328        setup: *mut GtkPrintSetup,
17329        file: *mut gio::GFile,
17330        cancellable: *mut gio::GCancellable,
17331        callback: gio::GAsyncReadyCallback,
17332        user_data: gpointer,
17333    );
17334    #[cfg(feature = "v4_14")]
17335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17336    pub fn gtk_print_dialog_print_file_finish(
17337        self_: *mut GtkPrintDialog,
17338        result: *mut gio::GAsyncResult,
17339        error: *mut *mut glib::GError,
17340    ) -> gboolean;
17341    #[cfg(feature = "v4_14")]
17342    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17343    pub fn gtk_print_dialog_print_finish(
17344        self_: *mut GtkPrintDialog,
17345        result: *mut gio::GAsyncResult,
17346        error: *mut *mut glib::GError,
17347    ) -> *mut gio::GOutputStream;
17348    #[cfg(feature = "v4_14")]
17349    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17350    pub fn gtk_print_dialog_set_accept_label(
17351        self_: *mut GtkPrintDialog,
17352        accept_label: *const c_char,
17353    );
17354    #[cfg(feature = "v4_14")]
17355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17356    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17357    #[cfg(feature = "v4_14")]
17358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17359    pub fn gtk_print_dialog_set_page_setup(
17360        self_: *mut GtkPrintDialog,
17361        page_setup: *mut GtkPageSetup,
17362    );
17363    #[cfg(feature = "v4_14")]
17364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17365    pub fn gtk_print_dialog_set_print_settings(
17366        self_: *mut GtkPrintDialog,
17367        print_settings: *mut GtkPrintSettings,
17368    );
17369    #[cfg(feature = "v4_14")]
17370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17371    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17372    #[cfg(feature = "v4_14")]
17373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17374    pub fn gtk_print_dialog_setup(
17375        self_: *mut GtkPrintDialog,
17376        parent: *mut GtkWindow,
17377        cancellable: *mut gio::GCancellable,
17378        callback: gio::GAsyncReadyCallback,
17379        user_data: gpointer,
17380    );
17381    #[cfg(feature = "v4_14")]
17382    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17383    pub fn gtk_print_dialog_setup_finish(
17384        self_: *mut GtkPrintDialog,
17385        result: *mut gio::GAsyncResult,
17386        error: *mut *mut glib::GError,
17387    ) -> *mut GtkPrintSetup;
17388
17389    //=========================================================================
17390    // GtkPrintJob
17391    //=========================================================================
17392    pub fn gtk_print_job_get_type() -> GType;
17393    pub fn gtk_print_job_new(
17394        title: *const c_char,
17395        printer: *mut GtkPrinter,
17396        settings: *mut GtkPrintSettings,
17397        page_setup: *mut GtkPageSetup,
17398    ) -> *mut GtkPrintJob;
17399    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17400    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17401    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17402    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17403    pub fn gtk_print_job_get_page_ranges(
17404        job: *mut GtkPrintJob,
17405        n_ranges: *mut c_int,
17406    ) -> *mut GtkPageRange;
17407    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17408    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17409    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17410    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17411    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17412    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17413    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17414    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17415    pub fn gtk_print_job_get_surface(
17416        job: *mut GtkPrintJob,
17417        error: *mut *mut glib::GError,
17418    ) -> *mut cairo::cairo_surface_t;
17419    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17420    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17421    pub fn gtk_print_job_send(
17422        job: *mut GtkPrintJob,
17423        callback: GtkPrintJobCompleteFunc,
17424        user_data: gpointer,
17425        dnotify: glib::GDestroyNotify,
17426    );
17427    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17428    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17429    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17430    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17431    pub fn gtk_print_job_set_page_ranges(
17432        job: *mut GtkPrintJob,
17433        ranges: *mut GtkPageRange,
17434        n_ranges: c_int,
17435    );
17436    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17437    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17438    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17439    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17440    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17441    pub fn gtk_print_job_set_source_fd(
17442        job: *mut GtkPrintJob,
17443        fd: c_int,
17444        error: *mut *mut glib::GError,
17445    ) -> gboolean;
17446    pub fn gtk_print_job_set_source_file(
17447        job: *mut GtkPrintJob,
17448        filename: *const c_char,
17449        error: *mut *mut glib::GError,
17450    ) -> gboolean;
17451    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17452
17453    //=========================================================================
17454    // GtkPrintOperation
17455    //=========================================================================
17456    pub fn gtk_print_operation_get_type() -> GType;
17457    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17458    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17459    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17460    pub fn gtk_print_operation_get_default_page_setup(
17461        op: *mut GtkPrintOperation,
17462    ) -> *mut GtkPageSetup;
17463    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17464    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17465    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17466    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17467    pub fn gtk_print_operation_get_print_settings(
17468        op: *mut GtkPrintOperation,
17469    ) -> *mut GtkPrintSettings;
17470    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17471    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17472    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17473    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17474    pub fn gtk_print_operation_run(
17475        op: *mut GtkPrintOperation,
17476        action: GtkPrintOperationAction,
17477        parent: *mut GtkWindow,
17478        error: *mut *mut glib::GError,
17479    ) -> GtkPrintOperationResult;
17480    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17481    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17482    pub fn gtk_print_operation_set_custom_tab_label(
17483        op: *mut GtkPrintOperation,
17484        label: *const c_char,
17485    );
17486    pub fn gtk_print_operation_set_default_page_setup(
17487        op: *mut GtkPrintOperation,
17488        default_page_setup: *mut GtkPageSetup,
17489    );
17490    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17491    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17492    pub fn gtk_print_operation_set_export_filename(
17493        op: *mut GtkPrintOperation,
17494        filename: *const c_char,
17495    );
17496    pub fn gtk_print_operation_set_has_selection(
17497        op: *mut GtkPrintOperation,
17498        has_selection: gboolean,
17499    );
17500    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17501    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17502    pub fn gtk_print_operation_set_print_settings(
17503        op: *mut GtkPrintOperation,
17504        print_settings: *mut GtkPrintSettings,
17505    );
17506    pub fn gtk_print_operation_set_show_progress(
17507        op: *mut GtkPrintOperation,
17508        show_progress: gboolean,
17509    );
17510    pub fn gtk_print_operation_set_support_selection(
17511        op: *mut GtkPrintOperation,
17512        support_selection: gboolean,
17513    );
17514    pub fn gtk_print_operation_set_track_print_status(
17515        op: *mut GtkPrintOperation,
17516        track_status: gboolean,
17517    );
17518    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17519    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17520
17521    //=========================================================================
17522    // GtkPrintSettings
17523    //=========================================================================
17524    pub fn gtk_print_settings_get_type() -> GType;
17525    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17526    pub fn gtk_print_settings_new_from_file(
17527        file_name: *const c_char,
17528        error: *mut *mut glib::GError,
17529    ) -> *mut GtkPrintSettings;
17530    pub fn gtk_print_settings_new_from_gvariant(
17531        variant: *mut glib::GVariant,
17532    ) -> *mut GtkPrintSettings;
17533    pub fn gtk_print_settings_new_from_key_file(
17534        key_file: *mut glib::GKeyFile,
17535        group_name: *const c_char,
17536        error: *mut *mut glib::GError,
17537    ) -> *mut GtkPrintSettings;
17538    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17539    pub fn gtk_print_settings_foreach(
17540        settings: *mut GtkPrintSettings,
17541        func: GtkPrintSettingsFunc,
17542        user_data: gpointer,
17543    );
17544    pub fn gtk_print_settings_get(
17545        settings: *mut GtkPrintSettings,
17546        key: *const c_char,
17547    ) -> *const c_char;
17548    pub fn gtk_print_settings_get_bool(
17549        settings: *mut GtkPrintSettings,
17550        key: *const c_char,
17551    ) -> gboolean;
17552    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17553    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17554    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17555    pub fn gtk_print_settings_get_double(
17556        settings: *mut GtkPrintSettings,
17557        key: *const c_char,
17558    ) -> c_double;
17559    pub fn gtk_print_settings_get_double_with_default(
17560        settings: *mut GtkPrintSettings,
17561        key: *const c_char,
17562        def: c_double,
17563    ) -> c_double;
17564    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17565    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17566    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17567    -> c_int;
17568    pub fn gtk_print_settings_get_int_with_default(
17569        settings: *mut GtkPrintSettings,
17570        key: *const c_char,
17571        def: c_int,
17572    ) -> c_int;
17573    pub fn gtk_print_settings_get_length(
17574        settings: *mut GtkPrintSettings,
17575        key: *const c_char,
17576        unit: GtkUnit,
17577    ) -> c_double;
17578    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17579    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17580    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17581    pub fn gtk_print_settings_get_number_up_layout(
17582        settings: *mut GtkPrintSettings,
17583    ) -> GtkNumberUpLayout;
17584    pub fn gtk_print_settings_get_orientation(
17585        settings: *mut GtkPrintSettings,
17586    ) -> GtkPageOrientation;
17587    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17588    pub fn gtk_print_settings_get_page_ranges(
17589        settings: *mut GtkPrintSettings,
17590        num_ranges: *mut c_int,
17591    ) -> *mut GtkPageRange;
17592    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17593    pub fn gtk_print_settings_get_paper_height(
17594        settings: *mut GtkPrintSettings,
17595        unit: GtkUnit,
17596    ) -> c_double;
17597    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17598    pub fn gtk_print_settings_get_paper_width(
17599        settings: *mut GtkPrintSettings,
17600        unit: GtkUnit,
17601    ) -> c_double;
17602    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17603    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17604    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17605    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17606    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17607    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17608    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17609    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17610    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17611    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17612    pub fn gtk_print_settings_has_key(
17613        settings: *mut GtkPrintSettings,
17614        key: *const c_char,
17615    ) -> gboolean;
17616    pub fn gtk_print_settings_load_file(
17617        settings: *mut GtkPrintSettings,
17618        file_name: *const c_char,
17619        error: *mut *mut glib::GError,
17620    ) -> gboolean;
17621    pub fn gtk_print_settings_load_key_file(
17622        settings: *mut GtkPrintSettings,
17623        key_file: *mut glib::GKeyFile,
17624        group_name: *const c_char,
17625        error: *mut *mut glib::GError,
17626    ) -> gboolean;
17627    pub fn gtk_print_settings_set(
17628        settings: *mut GtkPrintSettings,
17629        key: *const c_char,
17630        value: *const c_char,
17631    );
17632    pub fn gtk_print_settings_set_bool(
17633        settings: *mut GtkPrintSettings,
17634        key: *const c_char,
17635        value: gboolean,
17636    );
17637    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17638    pub fn gtk_print_settings_set_default_source(
17639        settings: *mut GtkPrintSettings,
17640        default_source: *const c_char,
17641    );
17642    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17643    pub fn gtk_print_settings_set_double(
17644        settings: *mut GtkPrintSettings,
17645        key: *const c_char,
17646        value: c_double,
17647    );
17648    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17649    pub fn gtk_print_settings_set_finishings(
17650        settings: *mut GtkPrintSettings,
17651        finishings: *const c_char,
17652    );
17653    pub fn gtk_print_settings_set_int(
17654        settings: *mut GtkPrintSettings,
17655        key: *const c_char,
17656        value: c_int,
17657    );
17658    pub fn gtk_print_settings_set_length(
17659        settings: *mut GtkPrintSettings,
17660        key: *const c_char,
17661        value: c_double,
17662        unit: GtkUnit,
17663    );
17664    pub fn gtk_print_settings_set_media_type(
17665        settings: *mut GtkPrintSettings,
17666        media_type: *const c_char,
17667    );
17668    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17669    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17670    pub fn gtk_print_settings_set_number_up_layout(
17671        settings: *mut GtkPrintSettings,
17672        number_up_layout: GtkNumberUpLayout,
17673    );
17674    pub fn gtk_print_settings_set_orientation(
17675        settings: *mut GtkPrintSettings,
17676        orientation: GtkPageOrientation,
17677    );
17678    pub fn gtk_print_settings_set_output_bin(
17679        settings: *mut GtkPrintSettings,
17680        output_bin: *const c_char,
17681    );
17682    pub fn gtk_print_settings_set_page_ranges(
17683        settings: *mut GtkPrintSettings,
17684        page_ranges: *mut GtkPageRange,
17685        num_ranges: c_int,
17686    );
17687    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17688    pub fn gtk_print_settings_set_paper_height(
17689        settings: *mut GtkPrintSettings,
17690        height: c_double,
17691        unit: GtkUnit,
17692    );
17693    pub fn gtk_print_settings_set_paper_size(
17694        settings: *mut GtkPrintSettings,
17695        paper_size: *mut GtkPaperSize,
17696    );
17697    pub fn gtk_print_settings_set_paper_width(
17698        settings: *mut GtkPrintSettings,
17699        width: c_double,
17700        unit: GtkUnit,
17701    );
17702    pub fn gtk_print_settings_set_print_pages(
17703        settings: *mut GtkPrintSettings,
17704        pages: GtkPrintPages,
17705    );
17706    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17707    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17708    pub fn gtk_print_settings_set_quality(
17709        settings: *mut GtkPrintSettings,
17710        quality: GtkPrintQuality,
17711    );
17712    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17713    pub fn gtk_print_settings_set_resolution_xy(
17714        settings: *mut GtkPrintSettings,
17715        resolution_x: c_int,
17716        resolution_y: c_int,
17717    );
17718    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17719    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17720    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17721    pub fn gtk_print_settings_to_file(
17722        settings: *mut GtkPrintSettings,
17723        file_name: *const c_char,
17724        error: *mut *mut glib::GError,
17725    ) -> gboolean;
17726    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17727    pub fn gtk_print_settings_to_key_file(
17728        settings: *mut GtkPrintSettings,
17729        key_file: *mut glib::GKeyFile,
17730        group_name: *const c_char,
17731    );
17732    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17733
17734    //=========================================================================
17735    // GtkPrintUnixDialog
17736    //=========================================================================
17737    pub fn gtk_print_unix_dialog_get_type() -> GType;
17738    pub fn gtk_print_unix_dialog_new(
17739        title: *const c_char,
17740        parent: *mut GtkWindow,
17741    ) -> *mut GtkWidget;
17742    pub fn gtk_print_unix_dialog_add_custom_tab(
17743        dialog: *mut GtkPrintUnixDialog,
17744        child: *mut GtkWidget,
17745        tab_label: *mut GtkWidget,
17746    );
17747    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17748    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17749    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17750    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17751        dialog: *mut GtkPrintUnixDialog,
17752    ) -> GtkPrintCapabilities;
17753    pub fn gtk_print_unix_dialog_get_page_setup(
17754        dialog: *mut GtkPrintUnixDialog,
17755    ) -> *mut GtkPageSetup;
17756    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17757    pub fn gtk_print_unix_dialog_get_selected_printer(
17758        dialog: *mut GtkPrintUnixDialog,
17759    ) -> *mut GtkPrinter;
17760    pub fn gtk_print_unix_dialog_get_settings(
17761        dialog: *mut GtkPrintUnixDialog,
17762    ) -> *mut GtkPrintSettings;
17763    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17764    -> gboolean;
17765    pub fn gtk_print_unix_dialog_set_current_page(
17766        dialog: *mut GtkPrintUnixDialog,
17767        current_page: c_int,
17768    );
17769    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17770        dialog: *mut GtkPrintUnixDialog,
17771        embed: gboolean,
17772    );
17773    pub fn gtk_print_unix_dialog_set_has_selection(
17774        dialog: *mut GtkPrintUnixDialog,
17775        has_selection: gboolean,
17776    );
17777    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17778        dialog: *mut GtkPrintUnixDialog,
17779        capabilities: GtkPrintCapabilities,
17780    );
17781    pub fn gtk_print_unix_dialog_set_page_setup(
17782        dialog: *mut GtkPrintUnixDialog,
17783        page_setup: *mut GtkPageSetup,
17784    );
17785    pub fn gtk_print_unix_dialog_set_settings(
17786        dialog: *mut GtkPrintUnixDialog,
17787        settings: *mut GtkPrintSettings,
17788    );
17789    pub fn gtk_print_unix_dialog_set_support_selection(
17790        dialog: *mut GtkPrintUnixDialog,
17791        support_selection: gboolean,
17792    );
17793
17794    //=========================================================================
17795    // GtkPrinter
17796    //=========================================================================
17797    pub fn gtk_printer_get_type() -> GType;
17798    pub fn gtk_printer_new(
17799        name: *const c_char,
17800        backend: *mut GtkPrintBackend,
17801        virtual_: gboolean,
17802    ) -> *mut GtkPrinter;
17803    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17804    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17805    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17806    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17807    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17808    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17809    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17810    pub fn gtk_printer_get_hard_margins(
17811        printer: *mut GtkPrinter,
17812        top: *mut c_double,
17813        bottom: *mut c_double,
17814        left: *mut c_double,
17815        right: *mut c_double,
17816    ) -> gboolean;
17817    pub fn gtk_printer_get_hard_margins_for_paper_size(
17818        printer: *mut GtkPrinter,
17819        paper_size: *mut GtkPaperSize,
17820        top: *mut c_double,
17821        bottom: *mut c_double,
17822        left: *mut c_double,
17823        right: *mut c_double,
17824    ) -> gboolean;
17825    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17826    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17827    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17828    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17829    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17830    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17831    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17832    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17833    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17834    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17835    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17836    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17837    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17838
17839    //=========================================================================
17840    // GtkProgressBar
17841    //=========================================================================
17842    pub fn gtk_progress_bar_get_type() -> GType;
17843    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17844    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17845    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17846    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17847    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17848    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17849    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17850    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17851    pub fn gtk_progress_bar_set_ellipsize(
17852        pbar: *mut GtkProgressBar,
17853        mode: pango::PangoEllipsizeMode,
17854    );
17855    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17856    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17857    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17858    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17859    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17860
17861    //=========================================================================
17862    // GtkPropertyExpression
17863    //=========================================================================
17864    pub fn gtk_property_expression_get_type() -> GType;
17865    pub fn gtk_property_expression_new(
17866        this_type: GType,
17867        expression: *mut GtkExpression,
17868        property_name: *const c_char,
17869    ) -> *mut GtkPropertyExpression;
17870    pub fn gtk_property_expression_new_for_pspec(
17871        expression: *mut GtkExpression,
17872        pspec: *mut gobject::GParamSpec,
17873    ) -> *mut GtkPropertyExpression;
17874    pub fn gtk_property_expression_get_expression(
17875        expression: *mut GtkPropertyExpression,
17876    ) -> *mut GtkExpression;
17877    pub fn gtk_property_expression_get_pspec(
17878        expression: *mut GtkPropertyExpression,
17879    ) -> *mut gobject::GParamSpec;
17880
17881    //=========================================================================
17882    // GtkRange
17883    //=========================================================================
17884    pub fn gtk_range_get_type() -> GType;
17885    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
17886    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
17887    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
17888    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
17889    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
17890    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
17891    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
17892    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
17893    pub fn gtk_range_get_slider_range(
17894        range: *mut GtkRange,
17895        slider_start: *mut c_int,
17896        slider_end: *mut c_int,
17897    );
17898    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
17899    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
17900    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
17901    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
17902    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
17903    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
17904    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
17905    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
17906    pub fn gtk_range_set_restrict_to_fill_level(
17907        range: *mut GtkRange,
17908        restrict_to_fill_level: gboolean,
17909    );
17910    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
17911    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
17912    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
17913    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
17914
17915    //=========================================================================
17916    // GtkRecentManager
17917    //=========================================================================
17918    pub fn gtk_recent_manager_get_type() -> GType;
17919    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
17920    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
17921    pub fn gtk_recent_manager_add_full(
17922        manager: *mut GtkRecentManager,
17923        uri: *const c_char,
17924        recent_data: *const GtkRecentData,
17925    ) -> gboolean;
17926    pub fn gtk_recent_manager_add_item(
17927        manager: *mut GtkRecentManager,
17928        uri: *const c_char,
17929    ) -> gboolean;
17930    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
17931    pub fn gtk_recent_manager_has_item(
17932        manager: *mut GtkRecentManager,
17933        uri: *const c_char,
17934    ) -> gboolean;
17935    pub fn gtk_recent_manager_lookup_item(
17936        manager: *mut GtkRecentManager,
17937        uri: *const c_char,
17938        error: *mut *mut glib::GError,
17939    ) -> *mut GtkRecentInfo;
17940    pub fn gtk_recent_manager_move_item(
17941        manager: *mut GtkRecentManager,
17942        uri: *const c_char,
17943        new_uri: *const c_char,
17944        error: *mut *mut glib::GError,
17945    ) -> gboolean;
17946    pub fn gtk_recent_manager_purge_items(
17947        manager: *mut GtkRecentManager,
17948        error: *mut *mut glib::GError,
17949    ) -> c_int;
17950    pub fn gtk_recent_manager_remove_item(
17951        manager: *mut GtkRecentManager,
17952        uri: *const c_char,
17953        error: *mut *mut glib::GError,
17954    ) -> gboolean;
17955
17956    //=========================================================================
17957    // GtkRevealer
17958    //=========================================================================
17959    pub fn gtk_revealer_get_type() -> GType;
17960    pub fn gtk_revealer_new() -> *mut GtkWidget;
17961    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
17962    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
17963    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
17964    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
17965    pub fn gtk_revealer_get_transition_type(
17966        revealer: *mut GtkRevealer,
17967    ) -> GtkRevealerTransitionType;
17968    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
17969    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
17970    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
17971    pub fn gtk_revealer_set_transition_type(
17972        revealer: *mut GtkRevealer,
17973        transition: GtkRevealerTransitionType,
17974    );
17975
17976    //=========================================================================
17977    // GtkScale
17978    //=========================================================================
17979    pub fn gtk_scale_get_type() -> GType;
17980    pub fn gtk_scale_new(
17981        orientation: GtkOrientation,
17982        adjustment: *mut GtkAdjustment,
17983    ) -> *mut GtkWidget;
17984    pub fn gtk_scale_new_with_range(
17985        orientation: GtkOrientation,
17986        min: c_double,
17987        max: c_double,
17988        step: c_double,
17989    ) -> *mut GtkWidget;
17990    pub fn gtk_scale_add_mark(
17991        scale: *mut GtkScale,
17992        value: c_double,
17993        position: GtkPositionType,
17994        markup: *const c_char,
17995    );
17996    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
17997    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
17998    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
17999    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18000    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18001    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18002    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18003    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18004    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18005    pub fn gtk_scale_set_format_value_func(
18006        scale: *mut GtkScale,
18007        func: GtkScaleFormatValueFunc,
18008        user_data: gpointer,
18009        destroy_notify: glib::GDestroyNotify,
18010    );
18011    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18012    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18013
18014    //=========================================================================
18015    // GtkScaleButton
18016    //=========================================================================
18017    pub fn gtk_scale_button_get_type() -> GType;
18018    pub fn gtk_scale_button_new(
18019        min: c_double,
18020        max: c_double,
18021        step: c_double,
18022        icons: *mut *const c_char,
18023    ) -> *mut GtkWidget;
18024    #[cfg(feature = "v4_10")]
18025    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18026    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18027    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18028    #[cfg(feature = "v4_14")]
18029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18030    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18031    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18032    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18033    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18034    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18035    pub fn gtk_scale_button_set_adjustment(
18036        button: *mut GtkScaleButton,
18037        adjustment: *mut GtkAdjustment,
18038    );
18039    #[cfg(feature = "v4_14")]
18040    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18041    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18042    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18043    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18044
18045    //=========================================================================
18046    // GtkScrollbar
18047    //=========================================================================
18048    pub fn gtk_scrollbar_get_type() -> GType;
18049    pub fn gtk_scrollbar_new(
18050        orientation: GtkOrientation,
18051        adjustment: *mut GtkAdjustment,
18052    ) -> *mut GtkWidget;
18053    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18054    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18055
18056    //=========================================================================
18057    // GtkScrolledWindow
18058    //=========================================================================
18059    pub fn gtk_scrolled_window_get_type() -> GType;
18060    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18061    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18062    -> *mut GtkWidget;
18063    pub fn gtk_scrolled_window_get_hadjustment(
18064        scrolled_window: *mut GtkScrolledWindow,
18065    ) -> *mut GtkAdjustment;
18066    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18067    pub fn gtk_scrolled_window_get_hscrollbar(
18068        scrolled_window: *mut GtkScrolledWindow,
18069    ) -> *mut GtkWidget;
18070    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18071        scrolled_window: *mut GtkScrolledWindow,
18072    ) -> gboolean;
18073    pub fn gtk_scrolled_window_get_max_content_height(
18074        scrolled_window: *mut GtkScrolledWindow,
18075    ) -> c_int;
18076    pub fn gtk_scrolled_window_get_max_content_width(
18077        scrolled_window: *mut GtkScrolledWindow,
18078    ) -> c_int;
18079    pub fn gtk_scrolled_window_get_min_content_height(
18080        scrolled_window: *mut GtkScrolledWindow,
18081    ) -> c_int;
18082    pub fn gtk_scrolled_window_get_min_content_width(
18083        scrolled_window: *mut GtkScrolledWindow,
18084    ) -> c_int;
18085    pub fn gtk_scrolled_window_get_overlay_scrolling(
18086        scrolled_window: *mut GtkScrolledWindow,
18087    ) -> gboolean;
18088    pub fn gtk_scrolled_window_get_placement(
18089        scrolled_window: *mut GtkScrolledWindow,
18090    ) -> GtkCornerType;
18091    pub fn gtk_scrolled_window_get_policy(
18092        scrolled_window: *mut GtkScrolledWindow,
18093        hscrollbar_policy: *mut GtkPolicyType,
18094        vscrollbar_policy: *mut GtkPolicyType,
18095    );
18096    pub fn gtk_scrolled_window_get_propagate_natural_height(
18097        scrolled_window: *mut GtkScrolledWindow,
18098    ) -> gboolean;
18099    pub fn gtk_scrolled_window_get_propagate_natural_width(
18100        scrolled_window: *mut GtkScrolledWindow,
18101    ) -> gboolean;
18102    pub fn gtk_scrolled_window_get_vadjustment(
18103        scrolled_window: *mut GtkScrolledWindow,
18104    ) -> *mut GtkAdjustment;
18105    pub fn gtk_scrolled_window_get_vscrollbar(
18106        scrolled_window: *mut GtkScrolledWindow,
18107    ) -> *mut GtkWidget;
18108    pub fn gtk_scrolled_window_set_child(
18109        scrolled_window: *mut GtkScrolledWindow,
18110        child: *mut GtkWidget,
18111    );
18112    pub fn gtk_scrolled_window_set_hadjustment(
18113        scrolled_window: *mut GtkScrolledWindow,
18114        hadjustment: *mut GtkAdjustment,
18115    );
18116    pub fn gtk_scrolled_window_set_has_frame(
18117        scrolled_window: *mut GtkScrolledWindow,
18118        has_frame: gboolean,
18119    );
18120    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18121        scrolled_window: *mut GtkScrolledWindow,
18122        kinetic_scrolling: gboolean,
18123    );
18124    pub fn gtk_scrolled_window_set_max_content_height(
18125        scrolled_window: *mut GtkScrolledWindow,
18126        height: c_int,
18127    );
18128    pub fn gtk_scrolled_window_set_max_content_width(
18129        scrolled_window: *mut GtkScrolledWindow,
18130        width: c_int,
18131    );
18132    pub fn gtk_scrolled_window_set_min_content_height(
18133        scrolled_window: *mut GtkScrolledWindow,
18134        height: c_int,
18135    );
18136    pub fn gtk_scrolled_window_set_min_content_width(
18137        scrolled_window: *mut GtkScrolledWindow,
18138        width: c_int,
18139    );
18140    pub fn gtk_scrolled_window_set_overlay_scrolling(
18141        scrolled_window: *mut GtkScrolledWindow,
18142        overlay_scrolling: gboolean,
18143    );
18144    pub fn gtk_scrolled_window_set_placement(
18145        scrolled_window: *mut GtkScrolledWindow,
18146        window_placement: GtkCornerType,
18147    );
18148    pub fn gtk_scrolled_window_set_policy(
18149        scrolled_window: *mut GtkScrolledWindow,
18150        hscrollbar_policy: GtkPolicyType,
18151        vscrollbar_policy: GtkPolicyType,
18152    );
18153    pub fn gtk_scrolled_window_set_propagate_natural_height(
18154        scrolled_window: *mut GtkScrolledWindow,
18155        propagate: gboolean,
18156    );
18157    pub fn gtk_scrolled_window_set_propagate_natural_width(
18158        scrolled_window: *mut GtkScrolledWindow,
18159        propagate: gboolean,
18160    );
18161    pub fn gtk_scrolled_window_set_vadjustment(
18162        scrolled_window: *mut GtkScrolledWindow,
18163        vadjustment: *mut GtkAdjustment,
18164    );
18165    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18166
18167    //=========================================================================
18168    // GtkSearchBar
18169    //=========================================================================
18170    pub fn gtk_search_bar_get_type() -> GType;
18171    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18172    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18173    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18174    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18175    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18176    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18177    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18178    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18179    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18180    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18181
18182    //=========================================================================
18183    // GtkSearchEntry
18184    //=========================================================================
18185    pub fn gtk_search_entry_get_type() -> GType;
18186    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18187    #[cfg(feature = "v4_14")]
18188    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18189    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18190    #[cfg(feature = "v4_14")]
18191    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18192    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18193    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18194    #[cfg(feature = "v4_10")]
18195    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18196    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18197    #[cfg(feature = "v4_8")]
18198    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18199    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18200    #[cfg(feature = "v4_14")]
18201    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18202    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18203    #[cfg(feature = "v4_14")]
18204    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18205    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18206    pub fn gtk_search_entry_set_key_capture_widget(
18207        entry: *mut GtkSearchEntry,
18208        widget: *mut GtkWidget,
18209    );
18210    #[cfg(feature = "v4_10")]
18211    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18212    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18213    #[cfg(feature = "v4_8")]
18214    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18215    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18216
18217    //=========================================================================
18218    // GtkSelectionFilterModel
18219    //=========================================================================
18220    pub fn gtk_selection_filter_model_get_type() -> GType;
18221    pub fn gtk_selection_filter_model_new(
18222        model: *mut GtkSelectionModel,
18223    ) -> *mut GtkSelectionFilterModel;
18224    pub fn gtk_selection_filter_model_get_model(
18225        self_: *mut GtkSelectionFilterModel,
18226    ) -> *mut GtkSelectionModel;
18227    pub fn gtk_selection_filter_model_set_model(
18228        self_: *mut GtkSelectionFilterModel,
18229        model: *mut GtkSelectionModel,
18230    );
18231
18232    //=========================================================================
18233    // GtkSeparator
18234    //=========================================================================
18235    pub fn gtk_separator_get_type() -> GType;
18236    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18237
18238    //=========================================================================
18239    // GtkSettings
18240    //=========================================================================
18241    pub fn gtk_settings_get_type() -> GType;
18242    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18243    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18244    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18245
18246    //=========================================================================
18247    // GtkShortcut
18248    //=========================================================================
18249    pub fn gtk_shortcut_get_type() -> GType;
18250    pub fn gtk_shortcut_new(
18251        trigger: *mut GtkShortcutTrigger,
18252        action: *mut GtkShortcutAction,
18253    ) -> *mut GtkShortcut;
18254    pub fn gtk_shortcut_new_with_arguments(
18255        trigger: *mut GtkShortcutTrigger,
18256        action: *mut GtkShortcutAction,
18257        format_string: *const c_char,
18258        ...
18259    ) -> *mut GtkShortcut;
18260    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18261    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18262    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18263    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18264    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18265    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18266
18267    //=========================================================================
18268    // GtkShortcutAction
18269    //=========================================================================
18270    pub fn gtk_shortcut_action_get_type() -> GType;
18271    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18272    pub fn gtk_shortcut_action_activate(
18273        self_: *mut GtkShortcutAction,
18274        flags: GtkShortcutActionFlags,
18275        widget: *mut GtkWidget,
18276        args: *mut glib::GVariant,
18277    ) -> gboolean;
18278    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18279    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18280
18281    //=========================================================================
18282    // GtkShortcutController
18283    //=========================================================================
18284    pub fn gtk_shortcut_controller_get_type() -> GType;
18285    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18286    pub fn gtk_shortcut_controller_new_for_model(
18287        model: *mut gio::GListModel,
18288    ) -> *mut GtkEventController;
18289    pub fn gtk_shortcut_controller_add_shortcut(
18290        self_: *mut GtkShortcutController,
18291        shortcut: *mut GtkShortcut,
18292    );
18293    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18294        self_: *mut GtkShortcutController,
18295    ) -> gdk::GdkModifierType;
18296    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18297    -> GtkShortcutScope;
18298    pub fn gtk_shortcut_controller_remove_shortcut(
18299        self_: *mut GtkShortcutController,
18300        shortcut: *mut GtkShortcut,
18301    );
18302    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18303        self_: *mut GtkShortcutController,
18304        modifiers: gdk::GdkModifierType,
18305    );
18306    pub fn gtk_shortcut_controller_set_scope(
18307        self_: *mut GtkShortcutController,
18308        scope: GtkShortcutScope,
18309    );
18310
18311    //=========================================================================
18312    // GtkShortcutLabel
18313    //=========================================================================
18314    pub fn gtk_shortcut_label_get_type() -> GType;
18315    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18316    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18317    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18318    pub fn gtk_shortcut_label_set_accelerator(
18319        self_: *mut GtkShortcutLabel,
18320        accelerator: *const c_char,
18321    );
18322    pub fn gtk_shortcut_label_set_disabled_text(
18323        self_: *mut GtkShortcutLabel,
18324        disabled_text: *const c_char,
18325    );
18326
18327    //=========================================================================
18328    // GtkShortcutTrigger
18329    //=========================================================================
18330    pub fn gtk_shortcut_trigger_get_type() -> GType;
18331    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18332    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18333    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18334    -> gboolean;
18335    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18336    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18337    pub fn gtk_shortcut_trigger_print_label(
18338        self_: *mut GtkShortcutTrigger,
18339        display: *mut gdk::GdkDisplay,
18340        string: *mut glib::GString,
18341    ) -> gboolean;
18342    pub fn gtk_shortcut_trigger_to_label(
18343        self_: *mut GtkShortcutTrigger,
18344        display: *mut gdk::GdkDisplay,
18345    ) -> *mut c_char;
18346    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18347    pub fn gtk_shortcut_trigger_trigger(
18348        self_: *mut GtkShortcutTrigger,
18349        event: *mut gdk::GdkEvent,
18350        enable_mnemonics: gboolean,
18351    ) -> gdk::GdkKeyMatch;
18352
18353    //=========================================================================
18354    // GtkShortcutsGroup
18355    //=========================================================================
18356    pub fn gtk_shortcuts_group_get_type() -> GType;
18357    #[cfg(feature = "v4_14")]
18358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18359    pub fn gtk_shortcuts_group_add_shortcut(
18360        self_: *mut GtkShortcutsGroup,
18361        shortcut: *mut GtkShortcutsShortcut,
18362    );
18363
18364    //=========================================================================
18365    // GtkShortcutsSection
18366    //=========================================================================
18367    pub fn gtk_shortcuts_section_get_type() -> GType;
18368    #[cfg(feature = "v4_14")]
18369    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18370    pub fn gtk_shortcuts_section_add_group(
18371        self_: *mut GtkShortcutsSection,
18372        group: *mut GtkShortcutsGroup,
18373    );
18374
18375    //=========================================================================
18376    // GtkShortcutsShortcut
18377    //=========================================================================
18378    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18379
18380    //=========================================================================
18381    // GtkShortcutsWindow
18382    //=========================================================================
18383    pub fn gtk_shortcuts_window_get_type() -> GType;
18384    #[cfg(feature = "v4_14")]
18385    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18386    pub fn gtk_shortcuts_window_add_section(
18387        self_: *mut GtkShortcutsWindow,
18388        section: *mut GtkShortcutsSection,
18389    );
18390
18391    //=========================================================================
18392    // GtkSignalAction
18393    //=========================================================================
18394    pub fn gtk_signal_action_get_type() -> GType;
18395    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18396    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18397
18398    //=========================================================================
18399    // GtkSignalListItemFactory
18400    //=========================================================================
18401    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18402    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18403
18404    //=========================================================================
18405    // GtkSingleSelection
18406    //=========================================================================
18407    pub fn gtk_single_selection_get_type() -> GType;
18408    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18409    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18410    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18411    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18412    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18413    pub fn gtk_single_selection_get_selected_item(
18414        self_: *mut GtkSingleSelection,
18415    ) -> *mut gobject::GObject;
18416    pub fn gtk_single_selection_set_autoselect(
18417        self_: *mut GtkSingleSelection,
18418        autoselect: gboolean,
18419    );
18420    pub fn gtk_single_selection_set_can_unselect(
18421        self_: *mut GtkSingleSelection,
18422        can_unselect: gboolean,
18423    );
18424    pub fn gtk_single_selection_set_model(
18425        self_: *mut GtkSingleSelection,
18426        model: *mut gio::GListModel,
18427    );
18428    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18429
18430    //=========================================================================
18431    // GtkSizeGroup
18432    //=========================================================================
18433    pub fn gtk_size_group_get_type() -> GType;
18434    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18435    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18436    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18437    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18438    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18439    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18440
18441    //=========================================================================
18442    // GtkSliceListModel
18443    //=========================================================================
18444    pub fn gtk_slice_list_model_get_type() -> GType;
18445    pub fn gtk_slice_list_model_new(
18446        model: *mut gio::GListModel,
18447        offset: c_uint,
18448        size: c_uint,
18449    ) -> *mut GtkSliceListModel;
18450    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18451    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18452    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18453    pub fn gtk_slice_list_model_set_model(
18454        self_: *mut GtkSliceListModel,
18455        model: *mut gio::GListModel,
18456    );
18457    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18458    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18459
18460    //=========================================================================
18461    // GtkSnapshot
18462    //=========================================================================
18463    pub fn gtk_snapshot_get_type() -> GType;
18464    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18465    pub fn gtk_snapshot_append_border(
18466        snapshot: *mut GtkSnapshot,
18467        outline: *const gsk::GskRoundedRect,
18468        border_width: *const [c_float; 4],
18469        border_color: *const [gdk::GdkRGBA; 4],
18470    );
18471    pub fn gtk_snapshot_append_cairo(
18472        snapshot: *mut GtkSnapshot,
18473        bounds: *const graphene::graphene_rect_t,
18474    ) -> *mut cairo::cairo_t;
18475    pub fn gtk_snapshot_append_color(
18476        snapshot: *mut GtkSnapshot,
18477        color: *const gdk::GdkRGBA,
18478        bounds: *const graphene::graphene_rect_t,
18479    );
18480    pub fn gtk_snapshot_append_conic_gradient(
18481        snapshot: *mut GtkSnapshot,
18482        bounds: *const graphene::graphene_rect_t,
18483        center: *const graphene::graphene_point_t,
18484        rotation: c_float,
18485        stops: *const gsk::GskColorStop,
18486        n_stops: size_t,
18487    );
18488    #[cfg(feature = "v4_14")]
18489    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18490    pub fn gtk_snapshot_append_fill(
18491        snapshot: *mut GtkSnapshot,
18492        path: *mut gsk::GskPath,
18493        fill_rule: gsk::GskFillRule,
18494        color: *const gdk::GdkRGBA,
18495    );
18496    pub fn gtk_snapshot_append_inset_shadow(
18497        snapshot: *mut GtkSnapshot,
18498        outline: *const gsk::GskRoundedRect,
18499        color: *const gdk::GdkRGBA,
18500        dx: c_float,
18501        dy: c_float,
18502        spread: c_float,
18503        blur_radius: c_float,
18504    );
18505    pub fn gtk_snapshot_append_layout(
18506        snapshot: *mut GtkSnapshot,
18507        layout: *mut pango::PangoLayout,
18508        color: *const gdk::GdkRGBA,
18509    );
18510    pub fn gtk_snapshot_append_linear_gradient(
18511        snapshot: *mut GtkSnapshot,
18512        bounds: *const graphene::graphene_rect_t,
18513        start_point: *const graphene::graphene_point_t,
18514        end_point: *const graphene::graphene_point_t,
18515        stops: *const gsk::GskColorStop,
18516        n_stops: size_t,
18517    );
18518    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18519    pub fn gtk_snapshot_append_outset_shadow(
18520        snapshot: *mut GtkSnapshot,
18521        outline: *const gsk::GskRoundedRect,
18522        color: *const gdk::GdkRGBA,
18523        dx: c_float,
18524        dy: c_float,
18525        spread: c_float,
18526        blur_radius: c_float,
18527    );
18528    #[cfg(feature = "v4_22")]
18529    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18530    pub fn gtk_snapshot_append_paste(
18531        snapshot: *mut GtkSnapshot,
18532        bounds: *const graphene::graphene_rect_t,
18533        nth: size_t,
18534    );
18535    pub fn gtk_snapshot_append_radial_gradient(
18536        snapshot: *mut GtkSnapshot,
18537        bounds: *const graphene::graphene_rect_t,
18538        center: *const graphene::graphene_point_t,
18539        hradius: c_float,
18540        vradius: c_float,
18541        start: c_float,
18542        end: c_float,
18543        stops: *const gsk::GskColorStop,
18544        n_stops: size_t,
18545    );
18546    pub fn gtk_snapshot_append_repeating_linear_gradient(
18547        snapshot: *mut GtkSnapshot,
18548        bounds: *const graphene::graphene_rect_t,
18549        start_point: *const graphene::graphene_point_t,
18550        end_point: *const graphene::graphene_point_t,
18551        stops: *const gsk::GskColorStop,
18552        n_stops: size_t,
18553    );
18554    pub fn gtk_snapshot_append_repeating_radial_gradient(
18555        snapshot: *mut GtkSnapshot,
18556        bounds: *const graphene::graphene_rect_t,
18557        center: *const graphene::graphene_point_t,
18558        hradius: c_float,
18559        vradius: c_float,
18560        start: c_float,
18561        end: c_float,
18562        stops: *const gsk::GskColorStop,
18563        n_stops: size_t,
18564    );
18565    #[cfg(feature = "v4_10")]
18566    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18567    pub fn gtk_snapshot_append_scaled_texture(
18568        snapshot: *mut GtkSnapshot,
18569        texture: *mut gdk::GdkTexture,
18570        filter: gsk::GskScalingFilter,
18571        bounds: *const graphene::graphene_rect_t,
18572    );
18573    #[cfg(feature = "v4_14")]
18574    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18575    pub fn gtk_snapshot_append_stroke(
18576        snapshot: *mut GtkSnapshot,
18577        path: *mut gsk::GskPath,
18578        stroke: *const gsk::GskStroke,
18579        color: *const gdk::GdkRGBA,
18580    );
18581    pub fn gtk_snapshot_append_texture(
18582        snapshot: *mut GtkSnapshot,
18583        texture: *mut gdk::GdkTexture,
18584        bounds: *const graphene::graphene_rect_t,
18585    );
18586    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18587    pub fn gtk_snapshot_free_to_paintable(
18588        snapshot: *mut GtkSnapshot,
18589        size: *const graphene::graphene_size_t,
18590    ) -> *mut gdk::GdkPaintable;
18591    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18592    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18593    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18594    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18595    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18596    pub fn gtk_snapshot_push_clip(
18597        snapshot: *mut GtkSnapshot,
18598        bounds: *const graphene::graphene_rect_t,
18599    );
18600    pub fn gtk_snapshot_push_color_matrix(
18601        snapshot: *mut GtkSnapshot,
18602        color_matrix: *const graphene::graphene_matrix_t,
18603        color_offset: *const graphene::graphene_vec4_t,
18604    );
18605    #[cfg(feature = "v4_20")]
18606    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18607    pub fn gtk_snapshot_push_component_transfer(
18608        snapshot: *mut GtkSnapshot,
18609        red: *const gsk::GskComponentTransfer,
18610        green: *const gsk::GskComponentTransfer,
18611        blue: *const gsk::GskComponentTransfer,
18612        alpha: *const gsk::GskComponentTransfer,
18613    );
18614    #[cfg(feature = "v4_22")]
18615    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18616    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18617    #[cfg(feature = "v4_22")]
18618    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18619    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18620    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18621    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18622    #[cfg(feature = "v4_14")]
18623    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18624    pub fn gtk_snapshot_push_fill(
18625        snapshot: *mut GtkSnapshot,
18626        path: *mut gsk::GskPath,
18627        fill_rule: gsk::GskFillRule,
18628    );
18629    pub fn gtk_snapshot_push_gl_shader(
18630        snapshot: *mut GtkSnapshot,
18631        shader: *mut gsk::GskGLShader,
18632        bounds: *const graphene::graphene_rect_t,
18633        take_args: *mut glib::GBytes,
18634    );
18635    #[cfg(feature = "v4_22")]
18636    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18637    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18638    #[cfg(feature = "v4_10")]
18639    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18640    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18641    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18642    pub fn gtk_snapshot_push_repeat(
18643        snapshot: *mut GtkSnapshot,
18644        bounds: *const graphene::graphene_rect_t,
18645        child_bounds: *const graphene::graphene_rect_t,
18646    );
18647    pub fn gtk_snapshot_push_rounded_clip(
18648        snapshot: *mut GtkSnapshot,
18649        bounds: *const gsk::GskRoundedRect,
18650    );
18651    pub fn gtk_snapshot_push_shadow(
18652        snapshot: *mut GtkSnapshot,
18653        shadow: *const gsk::GskShadow,
18654        n_shadows: size_t,
18655    );
18656    #[cfg(feature = "v4_14")]
18657    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18658    pub fn gtk_snapshot_push_stroke(
18659        snapshot: *mut GtkSnapshot,
18660        path: *mut gsk::GskPath,
18661        stroke: *const gsk::GskStroke,
18662    );
18663    pub fn gtk_snapshot_render_background(
18664        snapshot: *mut GtkSnapshot,
18665        context: *mut GtkStyleContext,
18666        x: c_double,
18667        y: c_double,
18668        width: c_double,
18669        height: c_double,
18670    );
18671    pub fn gtk_snapshot_render_focus(
18672        snapshot: *mut GtkSnapshot,
18673        context: *mut GtkStyleContext,
18674        x: c_double,
18675        y: c_double,
18676        width: c_double,
18677        height: c_double,
18678    );
18679    pub fn gtk_snapshot_render_frame(
18680        snapshot: *mut GtkSnapshot,
18681        context: *mut GtkStyleContext,
18682        x: c_double,
18683        y: c_double,
18684        width: c_double,
18685        height: c_double,
18686    );
18687    pub fn gtk_snapshot_render_insertion_cursor(
18688        snapshot: *mut GtkSnapshot,
18689        context: *mut GtkStyleContext,
18690        x: c_double,
18691        y: c_double,
18692        layout: *mut pango::PangoLayout,
18693        index: c_int,
18694        direction: pango::PangoDirection,
18695    );
18696    pub fn gtk_snapshot_render_layout(
18697        snapshot: *mut GtkSnapshot,
18698        context: *mut GtkStyleContext,
18699        x: c_double,
18700        y: c_double,
18701        layout: *mut pango::PangoLayout,
18702    );
18703    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18704    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18705    pub fn gtk_snapshot_rotate_3d(
18706        snapshot: *mut GtkSnapshot,
18707        angle: c_float,
18708        axis: *const graphene::graphene_vec3_t,
18709    );
18710    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18711    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18712    pub fn gtk_snapshot_scale_3d(
18713        snapshot: *mut GtkSnapshot,
18714        factor_x: c_float,
18715        factor_y: c_float,
18716        factor_z: c_float,
18717    );
18718    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18719    pub fn gtk_snapshot_to_paintable(
18720        snapshot: *mut GtkSnapshot,
18721        size: *const graphene::graphene_size_t,
18722    ) -> *mut gdk::GdkPaintable;
18723    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18724    pub fn gtk_snapshot_transform_matrix(
18725        snapshot: *mut GtkSnapshot,
18726        matrix: *const graphene::graphene_matrix_t,
18727    );
18728    pub fn gtk_snapshot_translate(
18729        snapshot: *mut GtkSnapshot,
18730        point: *const graphene::graphene_point_t,
18731    );
18732    pub fn gtk_snapshot_translate_3d(
18733        snapshot: *mut GtkSnapshot,
18734        point: *const graphene::graphene_point3d_t,
18735    );
18736
18737    //=========================================================================
18738    // GtkSortListModel
18739    //=========================================================================
18740    pub fn gtk_sort_list_model_get_type() -> GType;
18741    pub fn gtk_sort_list_model_new(
18742        model: *mut gio::GListModel,
18743        sorter: *mut GtkSorter,
18744    ) -> *mut GtkSortListModel;
18745    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18746    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18747    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18748    #[cfg(feature = "v4_12")]
18749    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18750    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18751    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18752    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18753    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18754    #[cfg(feature = "v4_12")]
18755    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18756    pub fn gtk_sort_list_model_set_section_sorter(
18757        self_: *mut GtkSortListModel,
18758        sorter: *mut GtkSorter,
18759    );
18760    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18761
18762    //=========================================================================
18763    // GtkSorter
18764    //=========================================================================
18765    pub fn gtk_sorter_get_type() -> GType;
18766    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18767    pub fn gtk_sorter_compare(
18768        self_: *mut GtkSorter,
18769        item1: *mut gobject::GObject,
18770        item2: *mut gobject::GObject,
18771    ) -> GtkOrdering;
18772    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18773
18774    //=========================================================================
18775    // GtkSpinButton
18776    //=========================================================================
18777    pub fn gtk_spin_button_get_type() -> GType;
18778    pub fn gtk_spin_button_new(
18779        adjustment: *mut GtkAdjustment,
18780        climb_rate: c_double,
18781        digits: c_uint,
18782    ) -> *mut GtkWidget;
18783    pub fn gtk_spin_button_new_with_range(
18784        min: c_double,
18785        max: c_double,
18786        step: c_double,
18787    ) -> *mut GtkWidget;
18788    pub fn gtk_spin_button_configure(
18789        spin_button: *mut GtkSpinButton,
18790        adjustment: *mut GtkAdjustment,
18791        climb_rate: c_double,
18792        digits: c_uint,
18793    );
18794    #[cfg(feature = "v4_14")]
18795    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18796    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18797    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18798    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18799    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18800    pub fn gtk_spin_button_get_increments(
18801        spin_button: *mut GtkSpinButton,
18802        step: *mut c_double,
18803        page: *mut c_double,
18804    );
18805    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18806    pub fn gtk_spin_button_get_range(
18807        spin_button: *mut GtkSpinButton,
18808        min: *mut c_double,
18809        max: *mut c_double,
18810    );
18811    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18812    pub fn gtk_spin_button_get_update_policy(
18813        spin_button: *mut GtkSpinButton,
18814    ) -> GtkSpinButtonUpdatePolicy;
18815    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18816    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18817    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18818    #[cfg(feature = "v4_14")]
18819    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18820    pub fn gtk_spin_button_set_activates_default(
18821        spin_button: *mut GtkSpinButton,
18822        activates_default: gboolean,
18823    );
18824    pub fn gtk_spin_button_set_adjustment(
18825        spin_button: *mut GtkSpinButton,
18826        adjustment: *mut GtkAdjustment,
18827    );
18828    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18829    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18830    pub fn gtk_spin_button_set_increments(
18831        spin_button: *mut GtkSpinButton,
18832        step: c_double,
18833        page: c_double,
18834    );
18835    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18836    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18837    pub fn gtk_spin_button_set_snap_to_ticks(
18838        spin_button: *mut GtkSpinButton,
18839        snap_to_ticks: gboolean,
18840    );
18841    pub fn gtk_spin_button_set_update_policy(
18842        spin_button: *mut GtkSpinButton,
18843        policy: GtkSpinButtonUpdatePolicy,
18844    );
18845    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18846    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18847    pub fn gtk_spin_button_spin(
18848        spin_button: *mut GtkSpinButton,
18849        direction: GtkSpinType,
18850        increment: c_double,
18851    );
18852    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18853
18854    //=========================================================================
18855    // GtkSpinner
18856    //=========================================================================
18857    pub fn gtk_spinner_get_type() -> GType;
18858    pub fn gtk_spinner_new() -> *mut GtkWidget;
18859    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18860    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18861    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18862    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18863
18864    //=========================================================================
18865    // GtkStack
18866    //=========================================================================
18867    pub fn gtk_stack_get_type() -> GType;
18868    pub fn gtk_stack_new() -> *mut GtkWidget;
18869    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18870    pub fn gtk_stack_add_named(
18871        stack: *mut GtkStack,
18872        child: *mut GtkWidget,
18873        name: *const c_char,
18874    ) -> *mut GtkStackPage;
18875    pub fn gtk_stack_add_titled(
18876        stack: *mut GtkStack,
18877        child: *mut GtkWidget,
18878        name: *const c_char,
18879        title: *const c_char,
18880    ) -> *mut GtkStackPage;
18881    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
18882    -> *mut GtkWidget;
18883    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
18884    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
18885    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18886    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
18887    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
18888    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
18889    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
18890    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
18891    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
18892    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
18893    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
18894    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
18895    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
18896    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
18897    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
18898    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
18899    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
18900    pub fn gtk_stack_set_visible_child_full(
18901        stack: *mut GtkStack,
18902        name: *const c_char,
18903        transition: GtkStackTransitionType,
18904    );
18905    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
18906
18907    //=========================================================================
18908    // GtkStackPage
18909    //=========================================================================
18910    pub fn gtk_stack_page_get_type() -> GType;
18911    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
18912    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
18913    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
18914    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
18915    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
18916    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
18917    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
18918    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
18919    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
18920    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
18921    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
18922    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
18923    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
18924
18925    //=========================================================================
18926    // GtkStackSidebar
18927    //=========================================================================
18928    pub fn gtk_stack_sidebar_get_type() -> GType;
18929    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
18930    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
18931    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
18932
18933    //=========================================================================
18934    // GtkStackSwitcher
18935    //=========================================================================
18936    pub fn gtk_stack_switcher_get_type() -> GType;
18937    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
18938    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
18939    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
18940
18941    //=========================================================================
18942    // GtkStatusbar
18943    //=========================================================================
18944    pub fn gtk_statusbar_get_type() -> GType;
18945    pub fn gtk_statusbar_new() -> *mut GtkWidget;
18946    pub fn gtk_statusbar_get_context_id(
18947        statusbar: *mut GtkStatusbar,
18948        context_description: *const c_char,
18949    ) -> c_uint;
18950    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
18951    pub fn gtk_statusbar_push(
18952        statusbar: *mut GtkStatusbar,
18953        context_id: c_uint,
18954        text: *const c_char,
18955    ) -> c_uint;
18956    pub fn gtk_statusbar_remove(
18957        statusbar: *mut GtkStatusbar,
18958        context_id: c_uint,
18959        message_id: c_uint,
18960    );
18961    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
18962
18963    //=========================================================================
18964    // GtkStringFilter
18965    //=========================================================================
18966    pub fn gtk_string_filter_get_type() -> GType;
18967    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
18968    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
18969    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
18970    pub fn gtk_string_filter_get_match_mode(
18971        self_: *mut GtkStringFilter,
18972    ) -> GtkStringFilterMatchMode;
18973    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
18974    pub fn gtk_string_filter_set_expression(
18975        self_: *mut GtkStringFilter,
18976        expression: *mut GtkExpression,
18977    );
18978    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
18979    pub fn gtk_string_filter_set_match_mode(
18980        self_: *mut GtkStringFilter,
18981        mode: GtkStringFilterMatchMode,
18982    );
18983    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
18984
18985    //=========================================================================
18986    // GtkStringList
18987    //=========================================================================
18988    pub fn gtk_string_list_get_type() -> GType;
18989    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
18990    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
18991    #[cfg(feature = "v4_18")]
18992    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
18993    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
18994    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
18995    -> *const c_char;
18996    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
18997    pub fn gtk_string_list_splice(
18998        self_: *mut GtkStringList,
18999        position: c_uint,
19000        n_removals: c_uint,
19001        additions: *const *const c_char,
19002    );
19003    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19004
19005    //=========================================================================
19006    // GtkStringObject
19007    //=========================================================================
19008    pub fn gtk_string_object_get_type() -> GType;
19009    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19010    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19011
19012    //=========================================================================
19013    // GtkStringSorter
19014    //=========================================================================
19015    pub fn gtk_string_sorter_get_type() -> GType;
19016    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19017    #[cfg(feature = "v4_10")]
19018    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19019    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19020    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19021    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19022    #[cfg(feature = "v4_10")]
19023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19024    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19025    pub fn gtk_string_sorter_set_expression(
19026        self_: *mut GtkStringSorter,
19027        expression: *mut GtkExpression,
19028    );
19029    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19030
19031    //=========================================================================
19032    // GtkStyleContext
19033    //=========================================================================
19034    pub fn gtk_style_context_get_type() -> GType;
19035    pub fn gtk_style_context_add_provider_for_display(
19036        display: *mut gdk::GdkDisplay,
19037        provider: *mut GtkStyleProvider,
19038        priority: c_uint,
19039    );
19040    pub fn gtk_style_context_remove_provider_for_display(
19041        display: *mut gdk::GdkDisplay,
19042        provider: *mut GtkStyleProvider,
19043    );
19044    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19045    pub fn gtk_style_context_add_provider(
19046        context: *mut GtkStyleContext,
19047        provider: *mut GtkStyleProvider,
19048        priority: c_uint,
19049    );
19050    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19051    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19052    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19053    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19054    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19055    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19056    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19057    pub fn gtk_style_context_has_class(
19058        context: *mut GtkStyleContext,
19059        class_name: *const c_char,
19060    ) -> gboolean;
19061    pub fn gtk_style_context_lookup_color(
19062        context: *mut GtkStyleContext,
19063        color_name: *const c_char,
19064        color: *mut gdk::GdkRGBA,
19065    ) -> gboolean;
19066    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19067    pub fn gtk_style_context_remove_provider(
19068        context: *mut GtkStyleContext,
19069        provider: *mut GtkStyleProvider,
19070    );
19071    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19072    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19073    pub fn gtk_style_context_set_display(
19074        context: *mut GtkStyleContext,
19075        display: *mut gdk::GdkDisplay,
19076    );
19077    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19078    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19079    pub fn gtk_style_context_to_string(
19080        context: *mut GtkStyleContext,
19081        flags: GtkStyleContextPrintFlags,
19082    ) -> *mut c_char;
19083
19084    //=========================================================================
19085    // GtkSvg
19086    //=========================================================================
19087    #[cfg(feature = "v4_22")]
19088    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19089    pub fn gtk_svg_get_type() -> GType;
19090    #[cfg(feature = "v4_22")]
19091    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19092    pub fn gtk_svg_new() -> *mut GtkSvg;
19093    #[cfg(feature = "v4_22")]
19094    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19095    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19096    #[cfg(feature = "v4_22")]
19097    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19098    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19099    #[cfg(feature = "v4_22")]
19100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19101    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19102    #[cfg(feature = "v4_24")]
19103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19104    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19105    #[cfg(feature = "v4_22")]
19106    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19107    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19108    #[cfg(feature = "v4_22")]
19109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19110    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19111    #[cfg(feature = "v4_22")]
19112    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19113    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19114    #[cfg(feature = "v4_22")]
19115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19116    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19117    #[cfg(feature = "v4_22")]
19118    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19119    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19120    #[cfg(feature = "v4_22")]
19121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19122    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19123    #[cfg(feature = "v4_22")]
19124    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19125    pub fn gtk_svg_play(self_: *mut GtkSvg);
19126    #[cfg(feature = "v4_22")]
19127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19128    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19129    #[cfg(feature = "v4_22")]
19130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19131    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19132    #[cfg(feature = "v4_22")]
19133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19134    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19135    #[cfg(feature = "v4_24")]
19136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19137    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19138    #[cfg(feature = "v4_22")]
19139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19140    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19141    #[cfg(feature = "v4_22")]
19142    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19143    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19144    #[cfg(feature = "v4_22")]
19145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19146    pub fn gtk_svg_write_to_file(
19147        self_: *mut GtkSvg,
19148        filename: *const c_char,
19149        error: *mut *mut glib::GError,
19150    ) -> gboolean;
19151
19152    //=========================================================================
19153    // GtkSwitch
19154    //=========================================================================
19155    pub fn gtk_switch_get_type() -> GType;
19156    pub fn gtk_switch_new() -> *mut GtkWidget;
19157    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19158    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19159    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19160    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19161
19162    //=========================================================================
19163    // GtkText
19164    //=========================================================================
19165    pub fn gtk_text_get_type() -> GType;
19166    pub fn gtk_text_new() -> *mut GtkWidget;
19167    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19168    #[cfg(feature = "v4_4")]
19169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19170    pub fn gtk_text_compute_cursor_extents(
19171        self_: *mut GtkText,
19172        position: size_t,
19173        strong: *mut graphene::graphene_rect_t,
19174        weak: *mut graphene::graphene_rect_t,
19175    );
19176    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19177    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19178    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19179    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19180    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19181    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19182    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19183    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19184    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19185    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19186    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19187    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19188    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19189    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19190    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19191    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19192    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19193    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19194    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19195    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19196    pub fn gtk_text_set_enable_emoji_completion(
19197        self_: *mut GtkText,
19198        enable_emoji_completion: gboolean,
19199    );
19200    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19201    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19202    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19203    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19204    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19205    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19206    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19207    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19208    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19209    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19210    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19211    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19212
19213    //=========================================================================
19214    // GtkTextBuffer
19215    //=========================================================================
19216    pub fn gtk_text_buffer_get_type() -> GType;
19217    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19218    #[cfg(feature = "v4_16")]
19219    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19220    pub fn gtk_text_buffer_add_commit_notify(
19221        buffer: *mut GtkTextBuffer,
19222        flags: GtkTextBufferNotifyFlags,
19223        commit_notify: GtkTextBufferCommitNotify,
19224        user_data: gpointer,
19225        destroy: glib::GDestroyNotify,
19226    ) -> c_uint;
19227    pub fn gtk_text_buffer_add_mark(
19228        buffer: *mut GtkTextBuffer,
19229        mark: *mut GtkTextMark,
19230        where_: *const GtkTextIter,
19231    );
19232    pub fn gtk_text_buffer_add_selection_clipboard(
19233        buffer: *mut GtkTextBuffer,
19234        clipboard: *mut gdk::GdkClipboard,
19235    );
19236    pub fn gtk_text_buffer_apply_tag(
19237        buffer: *mut GtkTextBuffer,
19238        tag: *mut GtkTextTag,
19239        start: *const GtkTextIter,
19240        end: *const GtkTextIter,
19241    );
19242    pub fn gtk_text_buffer_apply_tag_by_name(
19243        buffer: *mut GtkTextBuffer,
19244        name: *const c_char,
19245        start: *const GtkTextIter,
19246        end: *const GtkTextIter,
19247    );
19248    pub fn gtk_text_buffer_backspace(
19249        buffer: *mut GtkTextBuffer,
19250        iter: *mut GtkTextIter,
19251        interactive: gboolean,
19252        default_editable: gboolean,
19253    ) -> gboolean;
19254    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19255    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19256    pub fn gtk_text_buffer_copy_clipboard(
19257        buffer: *mut GtkTextBuffer,
19258        clipboard: *mut gdk::GdkClipboard,
19259    );
19260    pub fn gtk_text_buffer_create_child_anchor(
19261        buffer: *mut GtkTextBuffer,
19262        iter: *mut GtkTextIter,
19263    ) -> *mut GtkTextChildAnchor;
19264    pub fn gtk_text_buffer_create_mark(
19265        buffer: *mut GtkTextBuffer,
19266        mark_name: *const c_char,
19267        where_: *const GtkTextIter,
19268        left_gravity: gboolean,
19269    ) -> *mut GtkTextMark;
19270    pub fn gtk_text_buffer_create_tag(
19271        buffer: *mut GtkTextBuffer,
19272        tag_name: *const c_char,
19273        first_property_name: *const c_char,
19274        ...
19275    ) -> *mut GtkTextTag;
19276    pub fn gtk_text_buffer_cut_clipboard(
19277        buffer: *mut GtkTextBuffer,
19278        clipboard: *mut gdk::GdkClipboard,
19279        default_editable: gboolean,
19280    );
19281    pub fn gtk_text_buffer_delete(
19282        buffer: *mut GtkTextBuffer,
19283        start: *mut GtkTextIter,
19284        end: *mut GtkTextIter,
19285    );
19286    pub fn gtk_text_buffer_delete_interactive(
19287        buffer: *mut GtkTextBuffer,
19288        start_iter: *mut GtkTextIter,
19289        end_iter: *mut GtkTextIter,
19290        default_editable: gboolean,
19291    ) -> gboolean;
19292    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19293    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19294    pub fn gtk_text_buffer_delete_selection(
19295        buffer: *mut GtkTextBuffer,
19296        interactive: gboolean,
19297        default_editable: gboolean,
19298    ) -> gboolean;
19299    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19300    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19301    pub fn gtk_text_buffer_get_bounds(
19302        buffer: *mut GtkTextBuffer,
19303        start: *mut GtkTextIter,
19304        end: *mut GtkTextIter,
19305    );
19306    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19307    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19308    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19309    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19310    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19311    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19312    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19313    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19314        buffer: *mut GtkTextBuffer,
19315        iter: *mut GtkTextIter,
19316        anchor: *mut GtkTextChildAnchor,
19317    );
19318    pub fn gtk_text_buffer_get_iter_at_line(
19319        buffer: *mut GtkTextBuffer,
19320        iter: *mut GtkTextIter,
19321        line_number: c_int,
19322    ) -> gboolean;
19323    pub fn gtk_text_buffer_get_iter_at_line_index(
19324        buffer: *mut GtkTextBuffer,
19325        iter: *mut GtkTextIter,
19326        line_number: c_int,
19327        byte_index: c_int,
19328    ) -> gboolean;
19329    pub fn gtk_text_buffer_get_iter_at_line_offset(
19330        buffer: *mut GtkTextBuffer,
19331        iter: *mut GtkTextIter,
19332        line_number: c_int,
19333        char_offset: c_int,
19334    ) -> gboolean;
19335    pub fn gtk_text_buffer_get_iter_at_mark(
19336        buffer: *mut GtkTextBuffer,
19337        iter: *mut GtkTextIter,
19338        mark: *mut GtkTextMark,
19339    );
19340    pub fn gtk_text_buffer_get_iter_at_offset(
19341        buffer: *mut GtkTextBuffer,
19342        iter: *mut GtkTextIter,
19343        char_offset: c_int,
19344    );
19345    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19346    pub fn gtk_text_buffer_get_mark(
19347        buffer: *mut GtkTextBuffer,
19348        name: *const c_char,
19349    ) -> *mut GtkTextMark;
19350    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19351    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19352    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19353    pub fn gtk_text_buffer_get_selection_bounds(
19354        buffer: *mut GtkTextBuffer,
19355        start: *mut GtkTextIter,
19356        end: *mut GtkTextIter,
19357    ) -> gboolean;
19358    pub fn gtk_text_buffer_get_selection_content(
19359        buffer: *mut GtkTextBuffer,
19360    ) -> *mut gdk::GdkContentProvider;
19361    pub fn gtk_text_buffer_get_slice(
19362        buffer: *mut GtkTextBuffer,
19363        start: *const GtkTextIter,
19364        end: *const GtkTextIter,
19365        include_hidden_chars: gboolean,
19366    ) -> *mut c_char;
19367    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19368    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19369    pub fn gtk_text_buffer_get_text(
19370        buffer: *mut GtkTextBuffer,
19371        start: *const GtkTextIter,
19372        end: *const GtkTextIter,
19373        include_hidden_chars: gboolean,
19374    ) -> *mut c_char;
19375    pub fn gtk_text_buffer_insert(
19376        buffer: *mut GtkTextBuffer,
19377        iter: *mut GtkTextIter,
19378        text: *const c_char,
19379        len: c_int,
19380    );
19381    pub fn gtk_text_buffer_insert_at_cursor(
19382        buffer: *mut GtkTextBuffer,
19383        text: *const c_char,
19384        len: c_int,
19385    );
19386    pub fn gtk_text_buffer_insert_child_anchor(
19387        buffer: *mut GtkTextBuffer,
19388        iter: *mut GtkTextIter,
19389        anchor: *mut GtkTextChildAnchor,
19390    );
19391    pub fn gtk_text_buffer_insert_interactive(
19392        buffer: *mut GtkTextBuffer,
19393        iter: *mut GtkTextIter,
19394        text: *const c_char,
19395        len: c_int,
19396        default_editable: gboolean,
19397    ) -> gboolean;
19398    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19399        buffer: *mut GtkTextBuffer,
19400        text: *const c_char,
19401        len: c_int,
19402        default_editable: gboolean,
19403    ) -> gboolean;
19404    pub fn gtk_text_buffer_insert_markup(
19405        buffer: *mut GtkTextBuffer,
19406        iter: *mut GtkTextIter,
19407        markup: *const c_char,
19408        len: c_int,
19409    );
19410    pub fn gtk_text_buffer_insert_paintable(
19411        buffer: *mut GtkTextBuffer,
19412        iter: *mut GtkTextIter,
19413        paintable: *mut gdk::GdkPaintable,
19414    );
19415    pub fn gtk_text_buffer_insert_range(
19416        buffer: *mut GtkTextBuffer,
19417        iter: *mut GtkTextIter,
19418        start: *const GtkTextIter,
19419        end: *const GtkTextIter,
19420    );
19421    pub fn gtk_text_buffer_insert_range_interactive(
19422        buffer: *mut GtkTextBuffer,
19423        iter: *mut GtkTextIter,
19424        start: *const GtkTextIter,
19425        end: *const GtkTextIter,
19426        default_editable: gboolean,
19427    ) -> gboolean;
19428    pub fn gtk_text_buffer_insert_with_tags(
19429        buffer: *mut GtkTextBuffer,
19430        iter: *mut GtkTextIter,
19431        text: *const c_char,
19432        len: c_int,
19433        first_tag: *mut GtkTextTag,
19434        ...
19435    );
19436    pub fn gtk_text_buffer_insert_with_tags_by_name(
19437        buffer: *mut GtkTextBuffer,
19438        iter: *mut GtkTextIter,
19439        text: *const c_char,
19440        len: c_int,
19441        first_tag_name: *const c_char,
19442        ...
19443    );
19444    pub fn gtk_text_buffer_move_mark(
19445        buffer: *mut GtkTextBuffer,
19446        mark: *mut GtkTextMark,
19447        where_: *const GtkTextIter,
19448    );
19449    pub fn gtk_text_buffer_move_mark_by_name(
19450        buffer: *mut GtkTextBuffer,
19451        name: *const c_char,
19452        where_: *const GtkTextIter,
19453    );
19454    pub fn gtk_text_buffer_paste_clipboard(
19455        buffer: *mut GtkTextBuffer,
19456        clipboard: *mut gdk::GdkClipboard,
19457        override_location: *mut GtkTextIter,
19458        default_editable: gboolean,
19459    );
19460    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19461    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19462    pub fn gtk_text_buffer_remove_all_tags(
19463        buffer: *mut GtkTextBuffer,
19464        start: *const GtkTextIter,
19465        end: *const GtkTextIter,
19466    );
19467    #[cfg(feature = "v4_16")]
19468    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19469    pub fn gtk_text_buffer_remove_commit_notify(
19470        buffer: *mut GtkTextBuffer,
19471        commit_notify_handler: c_uint,
19472    );
19473    pub fn gtk_text_buffer_remove_selection_clipboard(
19474        buffer: *mut GtkTextBuffer,
19475        clipboard: *mut gdk::GdkClipboard,
19476    );
19477    pub fn gtk_text_buffer_remove_tag(
19478        buffer: *mut GtkTextBuffer,
19479        tag: *mut GtkTextTag,
19480        start: *const GtkTextIter,
19481        end: *const GtkTextIter,
19482    );
19483    pub fn gtk_text_buffer_remove_tag_by_name(
19484        buffer: *mut GtkTextBuffer,
19485        name: *const c_char,
19486        start: *const GtkTextIter,
19487        end: *const GtkTextIter,
19488    );
19489    pub fn gtk_text_buffer_select_range(
19490        buffer: *mut GtkTextBuffer,
19491        ins: *const GtkTextIter,
19492        bound: *const GtkTextIter,
19493    );
19494    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19495    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19496    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19497    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19498    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19499
19500    //=========================================================================
19501    // GtkTextChildAnchor
19502    //=========================================================================
19503    pub fn gtk_text_child_anchor_get_type() -> GType;
19504    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19505    #[cfg(feature = "v4_6")]
19506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19507    pub fn gtk_text_child_anchor_new_with_replacement(
19508        character: *const c_char,
19509    ) -> *mut GtkTextChildAnchor;
19510    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19511    pub fn gtk_text_child_anchor_get_widgets(
19512        anchor: *mut GtkTextChildAnchor,
19513        out_len: *mut c_uint,
19514    ) -> *mut *mut GtkWidget;
19515
19516    //=========================================================================
19517    // GtkTextMark
19518    //=========================================================================
19519    pub fn gtk_text_mark_get_type() -> GType;
19520    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19521    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19522    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19523    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19524    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19525    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19526    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19527
19528    //=========================================================================
19529    // GtkTextTag
19530    //=========================================================================
19531    pub fn gtk_text_tag_get_type() -> GType;
19532    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19533    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19534    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19535    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19536
19537    //=========================================================================
19538    // GtkTextTagTable
19539    //=========================================================================
19540    pub fn gtk_text_tag_table_get_type() -> GType;
19541    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19542    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19543    pub fn gtk_text_tag_table_foreach(
19544        table: *mut GtkTextTagTable,
19545        func: GtkTextTagTableForeach,
19546        data: gpointer,
19547    );
19548    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19549    pub fn gtk_text_tag_table_lookup(
19550        table: *mut GtkTextTagTable,
19551        name: *const c_char,
19552    ) -> *mut GtkTextTag;
19553    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19554
19555    //=========================================================================
19556    // GtkTextView
19557    //=========================================================================
19558    pub fn gtk_text_view_get_type() -> GType;
19559    pub fn gtk_text_view_new() -> *mut GtkWidget;
19560    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19561    pub fn gtk_text_view_add_child_at_anchor(
19562        text_view: *mut GtkTextView,
19563        child: *mut GtkWidget,
19564        anchor: *mut GtkTextChildAnchor,
19565    );
19566    pub fn gtk_text_view_add_overlay(
19567        text_view: *mut GtkTextView,
19568        child: *mut GtkWidget,
19569        xpos: c_int,
19570        ypos: c_int,
19571    );
19572    pub fn gtk_text_view_backward_display_line(
19573        text_view: *mut GtkTextView,
19574        iter: *mut GtkTextIter,
19575    ) -> gboolean;
19576    pub fn gtk_text_view_backward_display_line_start(
19577        text_view: *mut GtkTextView,
19578        iter: *mut GtkTextIter,
19579    ) -> gboolean;
19580    pub fn gtk_text_view_buffer_to_window_coords(
19581        text_view: *mut GtkTextView,
19582        win: GtkTextWindowType,
19583        buffer_x: c_int,
19584        buffer_y: c_int,
19585        window_x: *mut c_int,
19586        window_y: *mut c_int,
19587    );
19588    pub fn gtk_text_view_forward_display_line(
19589        text_view: *mut GtkTextView,
19590        iter: *mut GtkTextIter,
19591    ) -> gboolean;
19592    pub fn gtk_text_view_forward_display_line_end(
19593        text_view: *mut GtkTextView,
19594        iter: *mut GtkTextIter,
19595    ) -> gboolean;
19596    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19597    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19598    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19599    pub fn gtk_text_view_get_cursor_locations(
19600        text_view: *mut GtkTextView,
19601        iter: *const GtkTextIter,
19602        strong: *mut gdk::GdkRectangle,
19603        weak: *mut gdk::GdkRectangle,
19604    );
19605    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19606    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19607    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19608    pub fn gtk_text_view_get_gutter(
19609        text_view: *mut GtkTextView,
19610        win: GtkTextWindowType,
19611    ) -> *mut GtkWidget;
19612    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19613    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19614    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19615    pub fn gtk_text_view_get_iter_at_location(
19616        text_view: *mut GtkTextView,
19617        iter: *mut GtkTextIter,
19618        x: c_int,
19619        y: c_int,
19620    ) -> gboolean;
19621    pub fn gtk_text_view_get_iter_at_position(
19622        text_view: *mut GtkTextView,
19623        iter: *mut GtkTextIter,
19624        trailing: *mut c_int,
19625        x: c_int,
19626        y: c_int,
19627    ) -> gboolean;
19628    pub fn gtk_text_view_get_iter_location(
19629        text_view: *mut GtkTextView,
19630        iter: *const GtkTextIter,
19631        location: *mut gdk::GdkRectangle,
19632    );
19633    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19634    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19635    pub fn gtk_text_view_get_line_at_y(
19636        text_view: *mut GtkTextView,
19637        target_iter: *mut GtkTextIter,
19638        y: c_int,
19639        line_top: *mut c_int,
19640    );
19641    pub fn gtk_text_view_get_line_yrange(
19642        text_view: *mut GtkTextView,
19643        iter: *const GtkTextIter,
19644        y: *mut c_int,
19645        height: *mut c_int,
19646    );
19647    #[cfg(feature = "v4_4")]
19648    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19649    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19650    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19651    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19652    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19653    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19654    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19655    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19656    #[cfg(feature = "v4_4")]
19657    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19658    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19659    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19660    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19661    #[cfg(feature = "v4_18")]
19662    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19663    pub fn gtk_text_view_get_visible_offset(
19664        text_view: *mut GtkTextView,
19665        x_offset: *mut c_double,
19666        y_offset: *mut c_double,
19667    );
19668    pub fn gtk_text_view_get_visible_rect(
19669        text_view: *mut GtkTextView,
19670        visible_rect: *mut gdk::GdkRectangle,
19671    );
19672    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19673    pub fn gtk_text_view_im_context_filter_keypress(
19674        text_view: *mut GtkTextView,
19675        event: *mut gdk::GdkEvent,
19676    ) -> gboolean;
19677    pub fn gtk_text_view_move_mark_onscreen(
19678        text_view: *mut GtkTextView,
19679        mark: *mut GtkTextMark,
19680    ) -> gboolean;
19681    pub fn gtk_text_view_move_overlay(
19682        text_view: *mut GtkTextView,
19683        child: *mut GtkWidget,
19684        xpos: c_int,
19685        ypos: c_int,
19686    );
19687    pub fn gtk_text_view_move_visually(
19688        text_view: *mut GtkTextView,
19689        iter: *mut GtkTextIter,
19690        count: c_int,
19691    ) -> gboolean;
19692    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19693    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19694    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19695    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19696    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19697    pub fn gtk_text_view_scroll_to_iter(
19698        text_view: *mut GtkTextView,
19699        iter: *mut GtkTextIter,
19700        within_margin: c_double,
19701        use_align: gboolean,
19702        xalign: c_double,
19703        yalign: c_double,
19704    ) -> gboolean;
19705    pub fn gtk_text_view_scroll_to_mark(
19706        text_view: *mut GtkTextView,
19707        mark: *mut GtkTextMark,
19708        within_margin: c_double,
19709        use_align: gboolean,
19710        xalign: c_double,
19711        yalign: c_double,
19712    );
19713    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19714    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19715    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19716    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19717    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19718    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19719    pub fn gtk_text_view_set_gutter(
19720        text_view: *mut GtkTextView,
19721        win: GtkTextWindowType,
19722        widget: *mut GtkWidget,
19723    );
19724    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19725    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19726    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19727    pub fn gtk_text_view_set_justification(
19728        text_view: *mut GtkTextView,
19729        justification: GtkJustification,
19730    );
19731    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19732    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19733    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19734    pub fn gtk_text_view_set_pixels_above_lines(
19735        text_view: *mut GtkTextView,
19736        pixels_above_lines: c_int,
19737    );
19738    pub fn gtk_text_view_set_pixels_below_lines(
19739        text_view: *mut GtkTextView,
19740        pixels_below_lines: c_int,
19741    );
19742    pub fn gtk_text_view_set_pixels_inside_wrap(
19743        text_view: *mut GtkTextView,
19744        pixels_inside_wrap: c_int,
19745    );
19746    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19747    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19748    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19749    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19750    pub fn gtk_text_view_starts_display_line(
19751        text_view: *mut GtkTextView,
19752        iter: *const GtkTextIter,
19753    ) -> gboolean;
19754    pub fn gtk_text_view_window_to_buffer_coords(
19755        text_view: *mut GtkTextView,
19756        win: GtkTextWindowType,
19757        window_x: c_int,
19758        window_y: c_int,
19759        buffer_x: *mut c_int,
19760        buffer_y: *mut c_int,
19761    );
19762
19763    //=========================================================================
19764    // GtkToggleButton
19765    //=========================================================================
19766    pub fn gtk_toggle_button_get_type() -> GType;
19767    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19768    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19769    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19770    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19771    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19772    pub fn gtk_toggle_button_set_group(
19773        toggle_button: *mut GtkToggleButton,
19774        group: *mut GtkToggleButton,
19775    );
19776    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19777
19778    //=========================================================================
19779    // GtkTooltip
19780    //=========================================================================
19781    pub fn gtk_tooltip_get_type() -> GType;
19782    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19783    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19784    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19785    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19786    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19787    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19788    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19789
19790    //=========================================================================
19791    // GtkTreeExpander
19792    //=========================================================================
19793    pub fn gtk_tree_expander_get_type() -> GType;
19794    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19795    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19796    #[cfg(feature = "v4_10")]
19797    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19798    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19799    #[cfg(feature = "v4_10")]
19800    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19801    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19802    #[cfg(feature = "v4_6")]
19803    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19804    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19805    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19806    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19807    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19808    #[cfg(feature = "v4_10")]
19809    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19810    pub fn gtk_tree_expander_set_hide_expander(
19811        self_: *mut GtkTreeExpander,
19812        hide_expander: gboolean,
19813    );
19814    #[cfg(feature = "v4_10")]
19815    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19816    pub fn gtk_tree_expander_set_indent_for_depth(
19817        self_: *mut GtkTreeExpander,
19818        indent_for_depth: gboolean,
19819    );
19820    #[cfg(feature = "v4_6")]
19821    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19822    pub fn gtk_tree_expander_set_indent_for_icon(
19823        self_: *mut GtkTreeExpander,
19824        indent_for_icon: gboolean,
19825    );
19826    pub fn gtk_tree_expander_set_list_row(
19827        self_: *mut GtkTreeExpander,
19828        list_row: *mut GtkTreeListRow,
19829    );
19830
19831    //=========================================================================
19832    // GtkTreeListModel
19833    //=========================================================================
19834    pub fn gtk_tree_list_model_get_type() -> GType;
19835    pub fn gtk_tree_list_model_new(
19836        root: *mut gio::GListModel,
19837        passthrough: gboolean,
19838        autoexpand: gboolean,
19839        create_func: GtkTreeListModelCreateModelFunc,
19840        user_data: gpointer,
19841        user_destroy: glib::GDestroyNotify,
19842    ) -> *mut GtkTreeListModel;
19843    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
19844    pub fn gtk_tree_list_model_get_child_row(
19845        self_: *mut GtkTreeListModel,
19846        position: c_uint,
19847    ) -> *mut GtkTreeListRow;
19848    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
19849    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
19850    pub fn gtk_tree_list_model_get_row(
19851        self_: *mut GtkTreeListModel,
19852        position: c_uint,
19853    ) -> *mut GtkTreeListRow;
19854    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
19855
19856    //=========================================================================
19857    // GtkTreeListRow
19858    //=========================================================================
19859    pub fn gtk_tree_list_row_get_type() -> GType;
19860    pub fn gtk_tree_list_row_get_child_row(
19861        self_: *mut GtkTreeListRow,
19862        position: c_uint,
19863    ) -> *mut GtkTreeListRow;
19864    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
19865    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
19866    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
19867    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
19868    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
19869    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
19870    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
19871    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
19872
19873    //=========================================================================
19874    // GtkTreeListRowSorter
19875    //=========================================================================
19876    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
19877    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
19878    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
19879    pub fn gtk_tree_list_row_sorter_set_sorter(
19880        self_: *mut GtkTreeListRowSorter,
19881        sorter: *mut GtkSorter,
19882    );
19883
19884    //=========================================================================
19885    // GtkTreeModelFilter
19886    //=========================================================================
19887    pub fn gtk_tree_model_filter_get_type() -> GType;
19888    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
19889    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
19890        filter: *mut GtkTreeModelFilter,
19891        filter_iter: *mut GtkTreeIter,
19892        child_iter: *mut GtkTreeIter,
19893    ) -> gboolean;
19894    pub fn gtk_tree_model_filter_convert_child_path_to_path(
19895        filter: *mut GtkTreeModelFilter,
19896        child_path: *mut GtkTreePath,
19897    ) -> *mut GtkTreePath;
19898    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
19899        filter: *mut GtkTreeModelFilter,
19900        child_iter: *mut GtkTreeIter,
19901        filter_iter: *mut GtkTreeIter,
19902    );
19903    pub fn gtk_tree_model_filter_convert_path_to_child_path(
19904        filter: *mut GtkTreeModelFilter,
19905        filter_path: *mut GtkTreePath,
19906    ) -> *mut GtkTreePath;
19907    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
19908    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
19909    pub fn gtk_tree_model_filter_set_modify_func(
19910        filter: *mut GtkTreeModelFilter,
19911        n_columns: c_int,
19912        types: *mut GType,
19913        func: GtkTreeModelFilterModifyFunc,
19914        data: gpointer,
19915        destroy: glib::GDestroyNotify,
19916    );
19917    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
19918    pub fn gtk_tree_model_filter_set_visible_func(
19919        filter: *mut GtkTreeModelFilter,
19920        func: GtkTreeModelFilterVisibleFunc,
19921        data: gpointer,
19922        destroy: glib::GDestroyNotify,
19923    );
19924
19925    //=========================================================================
19926    // GtkTreeModelSort
19927    //=========================================================================
19928    pub fn gtk_tree_model_sort_get_type() -> GType;
19929    pub fn gtk_tree_model_sort_new_with_model(
19930        child_model: *mut GtkTreeModel,
19931    ) -> *mut GtkTreeModelSort;
19932    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
19933    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
19934        tree_model_sort: *mut GtkTreeModelSort,
19935        sort_iter: *mut GtkTreeIter,
19936        child_iter: *mut GtkTreeIter,
19937    ) -> gboolean;
19938    pub fn gtk_tree_model_sort_convert_child_path_to_path(
19939        tree_model_sort: *mut GtkTreeModelSort,
19940        child_path: *mut GtkTreePath,
19941    ) -> *mut GtkTreePath;
19942    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
19943        tree_model_sort: *mut GtkTreeModelSort,
19944        child_iter: *mut GtkTreeIter,
19945        sorted_iter: *mut GtkTreeIter,
19946    );
19947    pub fn gtk_tree_model_sort_convert_path_to_child_path(
19948        tree_model_sort: *mut GtkTreeModelSort,
19949        sorted_path: *mut GtkTreePath,
19950    ) -> *mut GtkTreePath;
19951    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
19952    pub fn gtk_tree_model_sort_iter_is_valid(
19953        tree_model_sort: *mut GtkTreeModelSort,
19954        iter: *mut GtkTreeIter,
19955    ) -> gboolean;
19956    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
19957
19958    //=========================================================================
19959    // GtkTreeSelection
19960    //=========================================================================
19961    pub fn gtk_tree_selection_get_type() -> GType;
19962    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
19963    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
19964    pub fn gtk_tree_selection_get_select_function(
19965        selection: *mut GtkTreeSelection,
19966    ) -> GtkTreeSelectionFunc;
19967    pub fn gtk_tree_selection_get_selected(
19968        selection: *mut GtkTreeSelection,
19969        model: *mut *mut GtkTreeModel,
19970        iter: *mut GtkTreeIter,
19971    ) -> gboolean;
19972    pub fn gtk_tree_selection_get_selected_rows(
19973        selection: *mut GtkTreeSelection,
19974        model: *mut *mut GtkTreeModel,
19975    ) -> *mut glib::GList;
19976    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
19977    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
19978    pub fn gtk_tree_selection_iter_is_selected(
19979        selection: *mut GtkTreeSelection,
19980        iter: *mut GtkTreeIter,
19981    ) -> gboolean;
19982    pub fn gtk_tree_selection_path_is_selected(
19983        selection: *mut GtkTreeSelection,
19984        path: *mut GtkTreePath,
19985    ) -> gboolean;
19986    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
19987    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
19988    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
19989    pub fn gtk_tree_selection_select_range(
19990        selection: *mut GtkTreeSelection,
19991        start_path: *mut GtkTreePath,
19992        end_path: *mut GtkTreePath,
19993    );
19994    pub fn gtk_tree_selection_selected_foreach(
19995        selection: *mut GtkTreeSelection,
19996        func: GtkTreeSelectionForeachFunc,
19997        data: gpointer,
19998    );
19999    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20000    pub fn gtk_tree_selection_set_select_function(
20001        selection: *mut GtkTreeSelection,
20002        func: GtkTreeSelectionFunc,
20003        data: gpointer,
20004        destroy: glib::GDestroyNotify,
20005    );
20006    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20007    pub fn gtk_tree_selection_unselect_iter(
20008        selection: *mut GtkTreeSelection,
20009        iter: *mut GtkTreeIter,
20010    );
20011    pub fn gtk_tree_selection_unselect_path(
20012        selection: *mut GtkTreeSelection,
20013        path: *mut GtkTreePath,
20014    );
20015    pub fn gtk_tree_selection_unselect_range(
20016        selection: *mut GtkTreeSelection,
20017        start_path: *mut GtkTreePath,
20018        end_path: *mut GtkTreePath,
20019    );
20020
20021    //=========================================================================
20022    // GtkTreeStore
20023    //=========================================================================
20024    pub fn gtk_tree_store_get_type() -> GType;
20025    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20026    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20027    pub fn gtk_tree_store_append(
20028        tree_store: *mut GtkTreeStore,
20029        iter: *mut GtkTreeIter,
20030        parent: *mut GtkTreeIter,
20031    );
20032    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20033    pub fn gtk_tree_store_insert(
20034        tree_store: *mut GtkTreeStore,
20035        iter: *mut GtkTreeIter,
20036        parent: *mut GtkTreeIter,
20037        position: c_int,
20038    );
20039    pub fn gtk_tree_store_insert_after(
20040        tree_store: *mut GtkTreeStore,
20041        iter: *mut GtkTreeIter,
20042        parent: *mut GtkTreeIter,
20043        sibling: *mut GtkTreeIter,
20044    );
20045    pub fn gtk_tree_store_insert_before(
20046        tree_store: *mut GtkTreeStore,
20047        iter: *mut GtkTreeIter,
20048        parent: *mut GtkTreeIter,
20049        sibling: *mut GtkTreeIter,
20050    );
20051    pub fn gtk_tree_store_insert_with_values(
20052        tree_store: *mut GtkTreeStore,
20053        iter: *mut GtkTreeIter,
20054        parent: *mut GtkTreeIter,
20055        position: c_int,
20056        ...
20057    );
20058    pub fn gtk_tree_store_insert_with_valuesv(
20059        tree_store: *mut GtkTreeStore,
20060        iter: *mut GtkTreeIter,
20061        parent: *mut GtkTreeIter,
20062        position: c_int,
20063        columns: *mut c_int,
20064        values: *mut gobject::GValue,
20065        n_values: c_int,
20066    );
20067    pub fn gtk_tree_store_is_ancestor(
20068        tree_store: *mut GtkTreeStore,
20069        iter: *mut GtkTreeIter,
20070        descendant: *mut GtkTreeIter,
20071    ) -> gboolean;
20072    pub fn gtk_tree_store_iter_depth(
20073        tree_store: *mut GtkTreeStore,
20074        iter: *mut GtkTreeIter,
20075    ) -> c_int;
20076    pub fn gtk_tree_store_iter_is_valid(
20077        tree_store: *mut GtkTreeStore,
20078        iter: *mut GtkTreeIter,
20079    ) -> gboolean;
20080    pub fn gtk_tree_store_move_after(
20081        tree_store: *mut GtkTreeStore,
20082        iter: *mut GtkTreeIter,
20083        position: *mut GtkTreeIter,
20084    );
20085    pub fn gtk_tree_store_move_before(
20086        tree_store: *mut GtkTreeStore,
20087        iter: *mut GtkTreeIter,
20088        position: *mut GtkTreeIter,
20089    );
20090    pub fn gtk_tree_store_prepend(
20091        tree_store: *mut GtkTreeStore,
20092        iter: *mut GtkTreeIter,
20093        parent: *mut GtkTreeIter,
20094    );
20095    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20096    -> gboolean;
20097    pub fn gtk_tree_store_reorder(
20098        tree_store: *mut GtkTreeStore,
20099        parent: *mut GtkTreeIter,
20100        new_order: *mut c_int,
20101    );
20102    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20103    pub fn gtk_tree_store_set_column_types(
20104        tree_store: *mut GtkTreeStore,
20105        n_columns: c_int,
20106        types: *mut GType,
20107    );
20108    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20109    pub fn gtk_tree_store_set_value(
20110        tree_store: *mut GtkTreeStore,
20111        iter: *mut GtkTreeIter,
20112        column: c_int,
20113        value: *mut gobject::GValue,
20114    );
20115    pub fn gtk_tree_store_set_valuesv(
20116        tree_store: *mut GtkTreeStore,
20117        iter: *mut GtkTreeIter,
20118        columns: *mut c_int,
20119        values: *mut gobject::GValue,
20120        n_values: c_int,
20121    );
20122    pub fn gtk_tree_store_swap(
20123        tree_store: *mut GtkTreeStore,
20124        a: *mut GtkTreeIter,
20125        b: *mut GtkTreeIter,
20126    );
20127
20128    //=========================================================================
20129    // GtkTreeView
20130    //=========================================================================
20131    pub fn gtk_tree_view_get_type() -> GType;
20132    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20133    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20134    pub fn gtk_tree_view_append_column(
20135        tree_view: *mut GtkTreeView,
20136        column: *mut GtkTreeViewColumn,
20137    ) -> c_int;
20138    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20139    pub fn gtk_tree_view_collapse_row(
20140        tree_view: *mut GtkTreeView,
20141        path: *mut GtkTreePath,
20142    ) -> gboolean;
20143    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20144    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20145        tree_view: *mut GtkTreeView,
20146        bx: c_int,
20147        by: c_int,
20148        tx: *mut c_int,
20149        ty: *mut c_int,
20150    );
20151    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20152        tree_view: *mut GtkTreeView,
20153        bx: c_int,
20154        by: c_int,
20155        wx: *mut c_int,
20156        wy: *mut c_int,
20157    );
20158    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20159        tree_view: *mut GtkTreeView,
20160        tx: c_int,
20161        ty: c_int,
20162        bx: *mut c_int,
20163        by: *mut c_int,
20164    );
20165    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20166        tree_view: *mut GtkTreeView,
20167        tx: c_int,
20168        ty: c_int,
20169        wx: *mut c_int,
20170        wy: *mut c_int,
20171    );
20172    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20173        tree_view: *mut GtkTreeView,
20174        wx: c_int,
20175        wy: c_int,
20176        bx: *mut c_int,
20177        by: *mut c_int,
20178    );
20179    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20180        tree_view: *mut GtkTreeView,
20181        wx: c_int,
20182        wy: c_int,
20183        tx: *mut c_int,
20184        ty: *mut c_int,
20185    );
20186    pub fn gtk_tree_view_create_row_drag_icon(
20187        tree_view: *mut GtkTreeView,
20188        path: *mut GtkTreePath,
20189    ) -> *mut gdk::GdkPaintable;
20190    pub fn gtk_tree_view_enable_model_drag_dest(
20191        tree_view: *mut GtkTreeView,
20192        formats: *mut gdk::GdkContentFormats,
20193        actions: gdk::GdkDragAction,
20194    );
20195    pub fn gtk_tree_view_enable_model_drag_source(
20196        tree_view: *mut GtkTreeView,
20197        start_button_mask: gdk::GdkModifierType,
20198        formats: *mut gdk::GdkContentFormats,
20199        actions: gdk::GdkDragAction,
20200    );
20201    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20202    pub fn gtk_tree_view_expand_row(
20203        tree_view: *mut GtkTreeView,
20204        path: *mut GtkTreePath,
20205        open_all: gboolean,
20206    ) -> gboolean;
20207    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20208    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20209    pub fn gtk_tree_view_get_background_area(
20210        tree_view: *mut GtkTreeView,
20211        path: *mut GtkTreePath,
20212        column: *mut GtkTreeViewColumn,
20213        rect: *mut gdk::GdkRectangle,
20214    );
20215    pub fn gtk_tree_view_get_cell_area(
20216        tree_view: *mut GtkTreeView,
20217        path: *mut GtkTreePath,
20218        column: *mut GtkTreeViewColumn,
20219        rect: *mut gdk::GdkRectangle,
20220    );
20221    pub fn gtk_tree_view_get_column(
20222        tree_view: *mut GtkTreeView,
20223        n: c_int,
20224    ) -> *mut GtkTreeViewColumn;
20225    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20226    pub fn gtk_tree_view_get_cursor(
20227        tree_view: *mut GtkTreeView,
20228        path: *mut *mut GtkTreePath,
20229        focus_column: *mut *mut GtkTreeViewColumn,
20230    );
20231    pub fn gtk_tree_view_get_dest_row_at_pos(
20232        tree_view: *mut GtkTreeView,
20233        drag_x: c_int,
20234        drag_y: c_int,
20235        path: *mut *mut GtkTreePath,
20236        pos: *mut GtkTreeViewDropPosition,
20237    ) -> gboolean;
20238    pub fn gtk_tree_view_get_drag_dest_row(
20239        tree_view: *mut GtkTreeView,
20240        path: *mut *mut GtkTreePath,
20241        pos: *mut GtkTreeViewDropPosition,
20242    );
20243    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20244    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20245    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20246    -> *mut GtkTreeViewColumn;
20247    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20248    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20249    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20250    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20251    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20252    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20253    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20254    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20255    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20256    pub fn gtk_tree_view_get_path_at_pos(
20257        tree_view: *mut GtkTreeView,
20258        x: c_int,
20259        y: c_int,
20260        path: *mut *mut GtkTreePath,
20261        column: *mut *mut GtkTreeViewColumn,
20262        cell_x: *mut c_int,
20263        cell_y: *mut c_int,
20264    ) -> gboolean;
20265    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20266    pub fn gtk_tree_view_get_row_separator_func(
20267        tree_view: *mut GtkTreeView,
20268    ) -> GtkTreeViewRowSeparatorFunc;
20269    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20270    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20271    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20272    pub fn gtk_tree_view_get_search_equal_func(
20273        tree_view: *mut GtkTreeView,
20274    ) -> GtkTreeViewSearchEqualFunc;
20275    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20276    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20277    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20278    pub fn gtk_tree_view_get_tooltip_context(
20279        tree_view: *mut GtkTreeView,
20280        x: c_int,
20281        y: c_int,
20282        keyboard_tip: gboolean,
20283        model: *mut *mut GtkTreeModel,
20284        path: *mut *mut GtkTreePath,
20285        iter: *mut GtkTreeIter,
20286    ) -> gboolean;
20287    pub fn gtk_tree_view_get_visible_range(
20288        tree_view: *mut GtkTreeView,
20289        start_path: *mut *mut GtkTreePath,
20290        end_path: *mut *mut GtkTreePath,
20291    ) -> gboolean;
20292    pub fn gtk_tree_view_get_visible_rect(
20293        tree_view: *mut GtkTreeView,
20294        visible_rect: *mut gdk::GdkRectangle,
20295    );
20296    pub fn gtk_tree_view_insert_column(
20297        tree_view: *mut GtkTreeView,
20298        column: *mut GtkTreeViewColumn,
20299        position: c_int,
20300    ) -> c_int;
20301    pub fn gtk_tree_view_insert_column_with_attributes(
20302        tree_view: *mut GtkTreeView,
20303        position: c_int,
20304        title: *const c_char,
20305        cell: *mut GtkCellRenderer,
20306        ...
20307    ) -> c_int;
20308    pub fn gtk_tree_view_insert_column_with_data_func(
20309        tree_view: *mut GtkTreeView,
20310        position: c_int,
20311        title: *const c_char,
20312        cell: *mut GtkCellRenderer,
20313        func: GtkTreeCellDataFunc,
20314        data: gpointer,
20315        dnotify: glib::GDestroyNotify,
20316    ) -> c_int;
20317    pub fn gtk_tree_view_is_blank_at_pos(
20318        tree_view: *mut GtkTreeView,
20319        x: c_int,
20320        y: c_int,
20321        path: *mut *mut GtkTreePath,
20322        column: *mut *mut GtkTreeViewColumn,
20323        cell_x: *mut c_int,
20324        cell_y: *mut c_int,
20325    ) -> gboolean;
20326    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20327    pub fn gtk_tree_view_map_expanded_rows(
20328        tree_view: *mut GtkTreeView,
20329        func: GtkTreeViewMappingFunc,
20330        data: gpointer,
20331    );
20332    pub fn gtk_tree_view_move_column_after(
20333        tree_view: *mut GtkTreeView,
20334        column: *mut GtkTreeViewColumn,
20335        base_column: *mut GtkTreeViewColumn,
20336    );
20337    pub fn gtk_tree_view_remove_column(
20338        tree_view: *mut GtkTreeView,
20339        column: *mut GtkTreeViewColumn,
20340    ) -> c_int;
20341    pub fn gtk_tree_view_row_activated(
20342        tree_view: *mut GtkTreeView,
20343        path: *mut GtkTreePath,
20344        column: *mut GtkTreeViewColumn,
20345    );
20346    pub fn gtk_tree_view_row_expanded(
20347        tree_view: *mut GtkTreeView,
20348        path: *mut GtkTreePath,
20349    ) -> gboolean;
20350    pub fn gtk_tree_view_scroll_to_cell(
20351        tree_view: *mut GtkTreeView,
20352        path: *mut GtkTreePath,
20353        column: *mut GtkTreeViewColumn,
20354        use_align: gboolean,
20355        row_align: c_float,
20356        col_align: c_float,
20357    );
20358    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20359    pub fn gtk_tree_view_set_activate_on_single_click(
20360        tree_view: *mut GtkTreeView,
20361        single: gboolean,
20362    );
20363    pub fn gtk_tree_view_set_column_drag_function(
20364        tree_view: *mut GtkTreeView,
20365        func: GtkTreeViewColumnDropFunc,
20366        user_data: gpointer,
20367        destroy: glib::GDestroyNotify,
20368    );
20369    pub fn gtk_tree_view_set_cursor(
20370        tree_view: *mut GtkTreeView,
20371        path: *mut GtkTreePath,
20372        focus_column: *mut GtkTreeViewColumn,
20373        start_editing: gboolean,
20374    );
20375    pub fn gtk_tree_view_set_cursor_on_cell(
20376        tree_view: *mut GtkTreeView,
20377        path: *mut GtkTreePath,
20378        focus_column: *mut GtkTreeViewColumn,
20379        focus_cell: *mut GtkCellRenderer,
20380        start_editing: gboolean,
20381    );
20382    pub fn gtk_tree_view_set_drag_dest_row(
20383        tree_view: *mut GtkTreeView,
20384        path: *mut GtkTreePath,
20385        pos: GtkTreeViewDropPosition,
20386    );
20387    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20388    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20389    pub fn gtk_tree_view_set_expander_column(
20390        tree_view: *mut GtkTreeView,
20391        column: *mut GtkTreeViewColumn,
20392    );
20393    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20394    pub fn gtk_tree_view_set_grid_lines(
20395        tree_view: *mut GtkTreeView,
20396        grid_lines: GtkTreeViewGridLines,
20397    );
20398    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20399    pub fn gtk_tree_view_set_headers_visible(
20400        tree_view: *mut GtkTreeView,
20401        headers_visible: gboolean,
20402    );
20403    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20404    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20405    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20406    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20407    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20408    pub fn gtk_tree_view_set_row_separator_func(
20409        tree_view: *mut GtkTreeView,
20410        func: GtkTreeViewRowSeparatorFunc,
20411        data: gpointer,
20412        destroy: glib::GDestroyNotify,
20413    );
20414    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20415    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20416    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20417    pub fn gtk_tree_view_set_search_equal_func(
20418        tree_view: *mut GtkTreeView,
20419        search_equal_func: GtkTreeViewSearchEqualFunc,
20420        search_user_data: gpointer,
20421        search_destroy: glib::GDestroyNotify,
20422    );
20423    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20424    pub fn gtk_tree_view_set_tooltip_cell(
20425        tree_view: *mut GtkTreeView,
20426        tooltip: *mut GtkTooltip,
20427        path: *mut GtkTreePath,
20428        column: *mut GtkTreeViewColumn,
20429        cell: *mut GtkCellRenderer,
20430    );
20431    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20432    pub fn gtk_tree_view_set_tooltip_row(
20433        tree_view: *mut GtkTreeView,
20434        tooltip: *mut GtkTooltip,
20435        path: *mut GtkTreePath,
20436    );
20437    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20438    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20439
20440    //=========================================================================
20441    // GtkTreeViewColumn
20442    //=========================================================================
20443    pub fn gtk_tree_view_column_get_type() -> GType;
20444    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20445    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20446    pub fn gtk_tree_view_column_new_with_attributes(
20447        title: *const c_char,
20448        cell: *mut GtkCellRenderer,
20449        ...
20450    ) -> *mut GtkTreeViewColumn;
20451    pub fn gtk_tree_view_column_add_attribute(
20452        tree_column: *mut GtkTreeViewColumn,
20453        cell_renderer: *mut GtkCellRenderer,
20454        attribute: *const c_char,
20455        column: c_int,
20456    );
20457    pub fn gtk_tree_view_column_cell_get_position(
20458        tree_column: *mut GtkTreeViewColumn,
20459        cell_renderer: *mut GtkCellRenderer,
20460        x_offset: *mut c_int,
20461        width: *mut c_int,
20462    ) -> gboolean;
20463    pub fn gtk_tree_view_column_cell_get_size(
20464        tree_column: *mut GtkTreeViewColumn,
20465        x_offset: *mut c_int,
20466        y_offset: *mut c_int,
20467        width: *mut c_int,
20468        height: *mut c_int,
20469    );
20470    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20471    pub fn gtk_tree_view_column_cell_set_cell_data(
20472        tree_column: *mut GtkTreeViewColumn,
20473        tree_model: *mut GtkTreeModel,
20474        iter: *mut GtkTreeIter,
20475        is_expander: gboolean,
20476        is_expanded: gboolean,
20477    );
20478    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20479    pub fn gtk_tree_view_column_clear_attributes(
20480        tree_column: *mut GtkTreeViewColumn,
20481        cell_renderer: *mut GtkCellRenderer,
20482    );
20483    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20484    pub fn gtk_tree_view_column_focus_cell(
20485        tree_column: *mut GtkTreeViewColumn,
20486        cell: *mut GtkCellRenderer,
20487    );
20488    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20489    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20490    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20491    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20492    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20493    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20494    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20495    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20496    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20497    pub fn gtk_tree_view_column_get_sizing(
20498        tree_column: *mut GtkTreeViewColumn,
20499    ) -> GtkTreeViewColumnSizing;
20500    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20501    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20502    -> gboolean;
20503    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20504    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20505    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20506    pub fn gtk_tree_view_column_get_tree_view(
20507        tree_column: *mut GtkTreeViewColumn,
20508    ) -> *mut GtkWidget;
20509    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20510    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20511    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20512    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20513    pub fn gtk_tree_view_column_pack_end(
20514        tree_column: *mut GtkTreeViewColumn,
20515        cell: *mut GtkCellRenderer,
20516        expand: gboolean,
20517    );
20518    pub fn gtk_tree_view_column_pack_start(
20519        tree_column: *mut GtkTreeViewColumn,
20520        cell: *mut GtkCellRenderer,
20521        expand: gboolean,
20522    );
20523    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20524    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20525    pub fn gtk_tree_view_column_set_attributes(
20526        tree_column: *mut GtkTreeViewColumn,
20527        cell_renderer: *mut GtkCellRenderer,
20528        ...
20529    );
20530    pub fn gtk_tree_view_column_set_cell_data_func(
20531        tree_column: *mut GtkTreeViewColumn,
20532        cell_renderer: *mut GtkCellRenderer,
20533        func: GtkTreeCellDataFunc,
20534        func_data: gpointer,
20535        destroy: glib::GDestroyNotify,
20536    );
20537    pub fn gtk_tree_view_column_set_clickable(
20538        tree_column: *mut GtkTreeViewColumn,
20539        clickable: gboolean,
20540    );
20541    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20542    pub fn gtk_tree_view_column_set_fixed_width(
20543        tree_column: *mut GtkTreeViewColumn,
20544        fixed_width: c_int,
20545    );
20546    pub fn gtk_tree_view_column_set_max_width(
20547        tree_column: *mut GtkTreeViewColumn,
20548        max_width: c_int,
20549    );
20550    pub fn gtk_tree_view_column_set_min_width(
20551        tree_column: *mut GtkTreeViewColumn,
20552        min_width: c_int,
20553    );
20554    pub fn gtk_tree_view_column_set_reorderable(
20555        tree_column: *mut GtkTreeViewColumn,
20556        reorderable: gboolean,
20557    );
20558    pub fn gtk_tree_view_column_set_resizable(
20559        tree_column: *mut GtkTreeViewColumn,
20560        resizable: gboolean,
20561    );
20562    pub fn gtk_tree_view_column_set_sizing(
20563        tree_column: *mut GtkTreeViewColumn,
20564        type_: GtkTreeViewColumnSizing,
20565    );
20566    pub fn gtk_tree_view_column_set_sort_column_id(
20567        tree_column: *mut GtkTreeViewColumn,
20568        sort_column_id: c_int,
20569    );
20570    pub fn gtk_tree_view_column_set_sort_indicator(
20571        tree_column: *mut GtkTreeViewColumn,
20572        setting: gboolean,
20573    );
20574    pub fn gtk_tree_view_column_set_sort_order(
20575        tree_column: *mut GtkTreeViewColumn,
20576        order: GtkSortType,
20577    );
20578    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20579    pub fn gtk_tree_view_column_set_title(
20580        tree_column: *mut GtkTreeViewColumn,
20581        title: *const c_char,
20582    );
20583    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20584    pub fn gtk_tree_view_column_set_widget(
20585        tree_column: *mut GtkTreeViewColumn,
20586        widget: *mut GtkWidget,
20587    );
20588
20589    //=========================================================================
20590    // GtkTryExpression
20591    //=========================================================================
20592    #[cfg(feature = "v4_22")]
20593    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20594    pub fn gtk_try_expression_get_type() -> GType;
20595    #[cfg(feature = "v4_22")]
20596    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20597    pub fn gtk_try_expression_new(
20598        n_expressions: c_uint,
20599        expressions: *mut *mut GtkExpression,
20600    ) -> *mut GtkTryExpression;
20601
20602    //=========================================================================
20603    // GtkUriLauncher
20604    //=========================================================================
20605    #[cfg(feature = "v4_10")]
20606    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20607    pub fn gtk_uri_launcher_get_type() -> GType;
20608    #[cfg(feature = "v4_10")]
20609    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20610    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20611    #[cfg(feature = "v4_20")]
20612    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20613    pub fn gtk_uri_launcher_can_launch(
20614        self_: *mut GtkUriLauncher,
20615        parent: *mut GtkWindow,
20616    ) -> gboolean;
20617    #[cfg(feature = "v4_10")]
20618    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20619    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20620    #[cfg(feature = "v4_10")]
20621    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20622    pub fn gtk_uri_launcher_launch(
20623        self_: *mut GtkUriLauncher,
20624        parent: *mut GtkWindow,
20625        cancellable: *mut gio::GCancellable,
20626        callback: gio::GAsyncReadyCallback,
20627        user_data: gpointer,
20628    );
20629    #[cfg(feature = "v4_10")]
20630    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20631    pub fn gtk_uri_launcher_launch_finish(
20632        self_: *mut GtkUriLauncher,
20633        result: *mut gio::GAsyncResult,
20634        error: *mut *mut glib::GError,
20635    ) -> gboolean;
20636    #[cfg(feature = "v4_10")]
20637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20638    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20639
20640    //=========================================================================
20641    // GtkVideo
20642    //=========================================================================
20643    pub fn gtk_video_get_type() -> GType;
20644    pub fn gtk_video_new() -> *mut GtkWidget;
20645    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20646    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20647    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20648    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20649    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20650    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20651    #[cfg(feature = "v4_14")]
20652    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20653    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20654    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20655    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20656    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20657    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20658    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20659    #[cfg(feature = "v4_14")]
20660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20661    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20662    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20663    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20664    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20665
20666    //=========================================================================
20667    // GtkViewport
20668    //=========================================================================
20669    pub fn gtk_viewport_get_type() -> GType;
20670    pub fn gtk_viewport_new(
20671        hadjustment: *mut GtkAdjustment,
20672        vadjustment: *mut GtkAdjustment,
20673    ) -> *mut GtkWidget;
20674    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20675    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20676    #[cfg(feature = "v4_12")]
20677    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20678    pub fn gtk_viewport_scroll_to(
20679        viewport: *mut GtkViewport,
20680        descendant: *mut GtkWidget,
20681        scroll: *mut GtkScrollInfo,
20682    );
20683    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20684    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20685
20686    //=========================================================================
20687    // GtkVolumeButton
20688    //=========================================================================
20689    pub fn gtk_volume_button_get_type() -> GType;
20690    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20691
20692    //=========================================================================
20693    // GtkWidget
20694    //=========================================================================
20695    pub fn gtk_widget_get_type() -> GType;
20696    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20697    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20698    pub fn gtk_widget_action_set_enabled(
20699        widget: *mut GtkWidget,
20700        action_name: *const c_char,
20701        enabled: gboolean,
20702    );
20703    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20704    pub fn gtk_widget_activate_action(
20705        widget: *mut GtkWidget,
20706        name: *const c_char,
20707        format_string: *const c_char,
20708        ...
20709    ) -> gboolean;
20710    pub fn gtk_widget_activate_action_variant(
20711        widget: *mut GtkWidget,
20712        name: *const c_char,
20713        args: *mut glib::GVariant,
20714    ) -> gboolean;
20715    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20716    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20717    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20718    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20719    pub fn gtk_widget_add_tick_callback(
20720        widget: *mut GtkWidget,
20721        callback: GtkTickCallback,
20722        user_data: gpointer,
20723        notify: glib::GDestroyNotify,
20724    ) -> c_uint;
20725    pub fn gtk_widget_allocate(
20726        widget: *mut GtkWidget,
20727        width: c_int,
20728        height: c_int,
20729        baseline: c_int,
20730        transform: *mut gsk::GskTransform,
20731    );
20732    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20733    pub fn gtk_widget_compute_bounds(
20734        widget: *mut GtkWidget,
20735        target: *mut GtkWidget,
20736        out_bounds: *mut graphene::graphene_rect_t,
20737    ) -> gboolean;
20738    pub fn gtk_widget_compute_expand(
20739        widget: *mut GtkWidget,
20740        orientation: GtkOrientation,
20741    ) -> gboolean;
20742    pub fn gtk_widget_compute_point(
20743        widget: *mut GtkWidget,
20744        target: *mut GtkWidget,
20745        point: *const graphene::graphene_point_t,
20746        out_point: *mut graphene::graphene_point_t,
20747    ) -> gboolean;
20748    pub fn gtk_widget_compute_transform(
20749        widget: *mut GtkWidget,
20750        target: *mut GtkWidget,
20751        out_transform: *mut graphene::graphene_matrix_t,
20752    ) -> gboolean;
20753    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20754    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20755    pub fn gtk_widget_create_pango_layout(
20756        widget: *mut GtkWidget,
20757        text: *const c_char,
20758    ) -> *mut pango::PangoLayout;
20759    #[cfg(feature = "v4_8")]
20760    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20761    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20762    pub fn gtk_drag_check_threshold(
20763        widget: *mut GtkWidget,
20764        start_x: c_int,
20765        start_y: c_int,
20766        current_x: c_int,
20767        current_y: c_int,
20768    ) -> gboolean;
20769    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20770    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20771    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20772    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20773    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20774    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20775    #[cfg(feature = "v4_12")]
20776    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20777    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20778    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20779    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20780    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20781    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20782    #[cfg(feature = "v4_10")]
20783    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20784    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20785    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20786    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20787    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20788    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20789    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20790    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20791    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20792    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20793    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20794    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20795    pub fn gtk_widget_get_font_options(
20796        widget: *mut GtkWidget,
20797    ) -> *const cairo::cairo_font_options_t;
20798    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20799    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20800    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20801    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20802    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20803    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20804    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20805    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20806    #[cfg(feature = "v4_18")]
20807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20808    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20809    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20810    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20811    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20812    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20813    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20814    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20815    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20816    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20817    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20818    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20819    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20820    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20821    pub fn gtk_widget_get_preferred_size(
20822        widget: *mut GtkWidget,
20823        minimum_size: *mut GtkRequisition,
20824        natural_size: *mut GtkRequisition,
20825    );
20826    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20827    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20828    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20829    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20830    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20831    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20832    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20833    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20834    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20835    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
20836    pub fn gtk_widget_get_size_request(
20837        widget: *mut GtkWidget,
20838        width: *mut c_int,
20839        height: *mut c_int,
20840    );
20841    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
20842    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
20843    pub fn gtk_widget_get_template_child(
20844        widget: *mut GtkWidget,
20845        widget_type: GType,
20846        name: *const c_char,
20847    ) -> *mut gobject::GObject;
20848    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
20849    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
20850    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
20851    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
20852    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
20853    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
20854    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
20855    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
20856    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
20857    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
20858    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
20859    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
20860    pub fn gtk_widget_hide(widget: *mut GtkWidget);
20861    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
20862    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
20863    pub fn gtk_widget_insert_action_group(
20864        widget: *mut GtkWidget,
20865        name: *const c_char,
20866        group: *mut gio::GActionGroup,
20867    );
20868    pub fn gtk_widget_insert_after(
20869        widget: *mut GtkWidget,
20870        parent: *mut GtkWidget,
20871        previous_sibling: *mut GtkWidget,
20872    );
20873    pub fn gtk_widget_insert_before(
20874        widget: *mut GtkWidget,
20875        parent: *mut GtkWidget,
20876        next_sibling: *mut GtkWidget,
20877    );
20878    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
20879    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
20880    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
20881    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
20882    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
20883    pub fn gtk_widget_keynav_failed(
20884        widget: *mut GtkWidget,
20885        direction: GtkDirectionType,
20886    ) -> gboolean;
20887    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
20888    pub fn gtk_widget_map(widget: *mut GtkWidget);
20889    pub fn gtk_widget_measure(
20890        widget: *mut GtkWidget,
20891        orientation: GtkOrientation,
20892        for_size: c_int,
20893        minimum: *mut c_int,
20894        natural: *mut c_int,
20895        minimum_baseline: *mut c_int,
20896        natural_baseline: *mut c_int,
20897    );
20898    pub fn gtk_widget_mnemonic_activate(
20899        widget: *mut GtkWidget,
20900        group_cycling: gboolean,
20901    ) -> gboolean;
20902    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
20903    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
20904    pub fn gtk_widget_pick(
20905        widget: *mut GtkWidget,
20906        x: c_double,
20907        y: c_double,
20908        flags: GtkPickFlags,
20909    ) -> *mut GtkWidget;
20910    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
20911    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
20912    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
20913    pub fn gtk_widget_realize(widget: *mut GtkWidget);
20914    pub fn gtk_widget_remove_controller(
20915        widget: *mut GtkWidget,
20916        controller: *mut GtkEventController,
20917    );
20918    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20919    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20920    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
20921    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
20922    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
20923    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
20924    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
20925    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
20926    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
20927    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
20928    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
20929    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
20930    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
20931    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
20932    pub fn gtk_widget_set_font_options(
20933        widget: *mut GtkWidget,
20934        options: *const cairo::cairo_font_options_t,
20935    );
20936    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
20937    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
20938    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
20939    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
20940    pub fn gtk_widget_set_layout_manager(
20941        widget: *mut GtkWidget,
20942        layout_manager: *mut GtkLayoutManager,
20943    );
20944    #[cfg(feature = "v4_18")]
20945    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20946    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
20947    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
20948    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
20949    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
20950    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
20951    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
20952    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
20953    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
20954    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
20955    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
20956    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
20957    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
20958    pub fn gtk_widget_set_state_flags(
20959        widget: *mut GtkWidget,
20960        flags: GtkStateFlags,
20961        clear: gboolean,
20962    );
20963    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
20964    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
20965    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
20966    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
20967    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
20968    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
20969    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
20970    pub fn gtk_widget_show(widget: *mut GtkWidget);
20971    pub fn gtk_widget_size_allocate(
20972        widget: *mut GtkWidget,
20973        allocation: *const GtkAllocation,
20974        baseline: c_int,
20975    );
20976    pub fn gtk_widget_snapshot_child(
20977        widget: *mut GtkWidget,
20978        child: *mut GtkWidget,
20979        snapshot: *mut GtkSnapshot,
20980    );
20981    pub fn gtk_widget_translate_coordinates(
20982        src_widget: *mut GtkWidget,
20983        dest_widget: *mut GtkWidget,
20984        src_x: c_double,
20985        src_y: c_double,
20986        dest_x: *mut c_double,
20987        dest_y: *mut c_double,
20988    ) -> gboolean;
20989    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
20990    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
20991    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
20992    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
20993    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
20994
20995    //=========================================================================
20996    // GtkWidgetPaintable
20997    //=========================================================================
20998    pub fn gtk_widget_paintable_get_type() -> GType;
20999    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21000    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21001    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21002
21003    //=========================================================================
21004    // GtkWindow
21005    //=========================================================================
21006    pub fn gtk_window_get_type() -> GType;
21007    pub fn gtk_window_new() -> *mut GtkWidget;
21008    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21009    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21010    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21011    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21012    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21013    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21014    pub fn gtk_window_close(window: *mut GtkWindow);
21015    pub fn gtk_window_destroy(window: *mut GtkWindow);
21016    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21017    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21018    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21019    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21020    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21021    pub fn gtk_window_get_default_size(
21022        window: *mut GtkWindow,
21023        width: *mut c_int,
21024        height: *mut c_int,
21025    );
21026    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21027    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21028    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21029    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21030    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21031    #[cfg(feature = "v4_20")]
21032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21033    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21034    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21035    #[cfg(feature = "v4_2")]
21036    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21037    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21038    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21039    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21040    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21041    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21042    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21043    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21044    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21045    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21046    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21047    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21048    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21049    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21050    #[cfg(feature = "v4_12")]
21051    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21052    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21053    pub fn gtk_window_maximize(window: *mut GtkWindow);
21054    pub fn gtk_window_minimize(window: *mut GtkWindow);
21055    pub fn gtk_window_present(window: *mut GtkWindow);
21056    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21057    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21058    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21059    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21060    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21061    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21062    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21063    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21064    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21065    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21066    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21067    #[cfg(feature = "v4_20")]
21068    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21069    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21070    #[cfg(feature = "v4_2")]
21071    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21072    pub fn gtk_window_set_handle_menubar_accel(
21073        window: *mut GtkWindow,
21074        handle_menubar_accel: gboolean,
21075    );
21076    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21077    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21078    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21079    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21080    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21081    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21082    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21083    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21084    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21085    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21086    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21087    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21088
21089    //=========================================================================
21090    // GtkWindowControls
21091    //=========================================================================
21092    pub fn gtk_window_controls_get_type() -> GType;
21093    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21094    pub fn gtk_window_controls_get_decoration_layout(
21095        self_: *mut GtkWindowControls,
21096    ) -> *const c_char;
21097    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21098    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21099    #[cfg(feature = "v4_18")]
21100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21101    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21102    pub fn gtk_window_controls_set_decoration_layout(
21103        self_: *mut GtkWindowControls,
21104        layout: *const c_char,
21105    );
21106    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21107    #[cfg(feature = "v4_18")]
21108    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21109    pub fn gtk_window_controls_set_use_native_controls(
21110        self_: *mut GtkWindowControls,
21111        setting: gboolean,
21112    );
21113
21114    //=========================================================================
21115    // GtkWindowGroup
21116    //=========================================================================
21117    pub fn gtk_window_group_get_type() -> GType;
21118    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21119    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21120    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21121    pub fn gtk_window_group_remove_window(
21122        window_group: *mut GtkWindowGroup,
21123        window: *mut GtkWindow,
21124    );
21125
21126    //=========================================================================
21127    // GtkWindowHandle
21128    //=========================================================================
21129    pub fn gtk_window_handle_get_type() -> GType;
21130    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21131    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21132    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21133
21134    //=========================================================================
21135    // GtkAccessible
21136    //=========================================================================
21137    pub fn gtk_accessible_get_type() -> GType;
21138    #[cfg(feature = "v4_14")]
21139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21140    pub fn gtk_accessible_announce(
21141        self_: *mut GtkAccessible,
21142        message: *const c_char,
21143        priority: GtkAccessibleAnnouncementPriority,
21144    );
21145    #[cfg(feature = "v4_22")]
21146    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21147    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21148    #[cfg(feature = "v4_10")]
21149    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21150    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21151    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21152    #[cfg(feature = "v4_10")]
21153    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21154    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21155    #[cfg(feature = "v4_10")]
21156    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21157    pub fn gtk_accessible_get_bounds(
21158        self_: *mut GtkAccessible,
21159        x: *mut c_int,
21160        y: *mut c_int,
21161        width: *mut c_int,
21162        height: *mut c_int,
21163    ) -> gboolean;
21164    #[cfg(feature = "v4_10")]
21165    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21166    pub fn gtk_accessible_get_first_accessible_child(
21167        self_: *mut GtkAccessible,
21168    ) -> *mut GtkAccessible;
21169    #[cfg(feature = "v4_10")]
21170    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21171    pub fn gtk_accessible_get_next_accessible_sibling(
21172        self_: *mut GtkAccessible,
21173    ) -> *mut GtkAccessible;
21174    #[cfg(feature = "v4_10")]
21175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21176    pub fn gtk_accessible_get_platform_state(
21177        self_: *mut GtkAccessible,
21178        state: GtkAccessiblePlatformState,
21179    ) -> gboolean;
21180    pub fn gtk_accessible_reset_property(
21181        self_: *mut GtkAccessible,
21182        property: GtkAccessibleProperty,
21183    );
21184    pub fn gtk_accessible_reset_relation(
21185        self_: *mut GtkAccessible,
21186        relation: GtkAccessibleRelation,
21187    );
21188    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21189    #[cfg(feature = "v4_10")]
21190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21191    pub fn gtk_accessible_set_accessible_parent(
21192        self_: *mut GtkAccessible,
21193        parent: *mut GtkAccessible,
21194        next_sibling: *mut GtkAccessible,
21195    );
21196    #[cfg(feature = "v4_10")]
21197    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21198    pub fn gtk_accessible_update_next_accessible_sibling(
21199        self_: *mut GtkAccessible,
21200        new_sibling: *mut GtkAccessible,
21201    );
21202    #[cfg(feature = "v4_18")]
21203    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21204    pub fn gtk_accessible_update_platform_state(
21205        self_: *mut GtkAccessible,
21206        state: GtkAccessiblePlatformState,
21207    );
21208    pub fn gtk_accessible_update_property(
21209        self_: *mut GtkAccessible,
21210        first_property: GtkAccessibleProperty,
21211        ...
21212    );
21213    pub fn gtk_accessible_update_property_value(
21214        self_: *mut GtkAccessible,
21215        n_properties: c_int,
21216        properties: *mut GtkAccessibleProperty,
21217        values: *const gobject::GValue,
21218    );
21219    pub fn gtk_accessible_update_relation(
21220        self_: *mut GtkAccessible,
21221        first_relation: GtkAccessibleRelation,
21222        ...
21223    );
21224    pub fn gtk_accessible_update_relation_value(
21225        self_: *mut GtkAccessible,
21226        n_relations: c_int,
21227        relations: *mut GtkAccessibleRelation,
21228        values: *const gobject::GValue,
21229    );
21230    pub fn gtk_accessible_update_state(
21231        self_: *mut GtkAccessible,
21232        first_state: GtkAccessibleState,
21233        ...
21234    );
21235    pub fn gtk_accessible_update_state_value(
21236        self_: *mut GtkAccessible,
21237        n_states: c_int,
21238        states: *mut GtkAccessibleState,
21239        values: *const gobject::GValue,
21240    );
21241
21242    //=========================================================================
21243    // GtkAccessibleHypertext
21244    //=========================================================================
21245    #[cfg(feature = "v4_22")]
21246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21247    pub fn gtk_accessible_hypertext_get_type() -> GType;
21248
21249    //=========================================================================
21250    // GtkAccessibleRange
21251    //=========================================================================
21252    #[cfg(feature = "v4_10")]
21253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21254    pub fn gtk_accessible_range_get_type() -> GType;
21255
21256    //=========================================================================
21257    // GtkAccessibleText
21258    //=========================================================================
21259    #[cfg(feature = "v4_14")]
21260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21261    pub fn gtk_accessible_text_get_type() -> GType;
21262    #[cfg(feature = "v4_14")]
21263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21264    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21265    #[cfg(feature = "v4_14")]
21266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21267    pub fn gtk_accessible_text_update_contents(
21268        self_: *mut GtkAccessibleText,
21269        change: GtkAccessibleTextContentChange,
21270        start: c_uint,
21271        end: c_uint,
21272    );
21273    #[cfg(feature = "v4_14")]
21274    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21275    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21276
21277    //=========================================================================
21278    // GtkActionable
21279    //=========================================================================
21280    pub fn gtk_actionable_get_type() -> GType;
21281    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21282    pub fn gtk_actionable_get_action_target_value(
21283        actionable: *mut GtkActionable,
21284    ) -> *mut glib::GVariant;
21285    pub fn gtk_actionable_set_action_name(
21286        actionable: *mut GtkActionable,
21287        action_name: *const c_char,
21288    );
21289    pub fn gtk_actionable_set_action_target(
21290        actionable: *mut GtkActionable,
21291        format_string: *const c_char,
21292        ...
21293    );
21294    pub fn gtk_actionable_set_action_target_value(
21295        actionable: *mut GtkActionable,
21296        target_value: *mut glib::GVariant,
21297    );
21298    pub fn gtk_actionable_set_detailed_action_name(
21299        actionable: *mut GtkActionable,
21300        detailed_action_name: *const c_char,
21301    );
21302
21303    //=========================================================================
21304    // GtkAppChooser
21305    //=========================================================================
21306    pub fn gtk_app_chooser_get_type() -> GType;
21307    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21308    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21309    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21310
21311    //=========================================================================
21312    // GtkBuildable
21313    //=========================================================================
21314    pub fn gtk_buildable_get_type() -> GType;
21315    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21316
21317    //=========================================================================
21318    // GtkBuilderScope
21319    //=========================================================================
21320    pub fn gtk_builder_scope_get_type() -> GType;
21321
21322    //=========================================================================
21323    // GtkCellEditable
21324    //=========================================================================
21325    pub fn gtk_cell_editable_get_type() -> GType;
21326    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21327    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21328    pub fn gtk_cell_editable_start_editing(
21329        cell_editable: *mut GtkCellEditable,
21330        event: *mut gdk::GdkEvent,
21331    );
21332
21333    //=========================================================================
21334    // GtkCellLayout
21335    //=========================================================================
21336    pub fn gtk_cell_layout_get_type() -> GType;
21337    pub fn gtk_cell_layout_add_attribute(
21338        cell_layout: *mut GtkCellLayout,
21339        cell: *mut GtkCellRenderer,
21340        attribute: *const c_char,
21341        column: c_int,
21342    );
21343    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21344    pub fn gtk_cell_layout_clear_attributes(
21345        cell_layout: *mut GtkCellLayout,
21346        cell: *mut GtkCellRenderer,
21347    );
21348    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21349    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21350    pub fn gtk_cell_layout_pack_end(
21351        cell_layout: *mut GtkCellLayout,
21352        cell: *mut GtkCellRenderer,
21353        expand: gboolean,
21354    );
21355    pub fn gtk_cell_layout_pack_start(
21356        cell_layout: *mut GtkCellLayout,
21357        cell: *mut GtkCellRenderer,
21358        expand: gboolean,
21359    );
21360    pub fn gtk_cell_layout_reorder(
21361        cell_layout: *mut GtkCellLayout,
21362        cell: *mut GtkCellRenderer,
21363        position: c_int,
21364    );
21365    pub fn gtk_cell_layout_set_attributes(
21366        cell_layout: *mut GtkCellLayout,
21367        cell: *mut GtkCellRenderer,
21368        ...
21369    );
21370    pub fn gtk_cell_layout_set_cell_data_func(
21371        cell_layout: *mut GtkCellLayout,
21372        cell: *mut GtkCellRenderer,
21373        func: GtkCellLayoutDataFunc,
21374        func_data: gpointer,
21375        destroy: glib::GDestroyNotify,
21376    );
21377
21378    //=========================================================================
21379    // GtkColorChooser
21380    //=========================================================================
21381    pub fn gtk_color_chooser_get_type() -> GType;
21382    pub fn gtk_color_chooser_add_palette(
21383        chooser: *mut GtkColorChooser,
21384        orientation: GtkOrientation,
21385        colors_per_line: c_int,
21386        n_colors: c_int,
21387        colors: *mut gdk::GdkRGBA,
21388    );
21389    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21390    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21391    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21392    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21393
21394    //=========================================================================
21395    // GtkConstraintTarget
21396    //=========================================================================
21397    pub fn gtk_constraint_target_get_type() -> GType;
21398
21399    //=========================================================================
21400    // GtkEditable
21401    //=========================================================================
21402    pub fn gtk_editable_get_type() -> GType;
21403    pub fn gtk_editable_delegate_get_property(
21404        object: *mut gobject::GObject,
21405        prop_id: c_uint,
21406        value: *mut gobject::GValue,
21407        pspec: *mut gobject::GParamSpec,
21408    ) -> gboolean;
21409    pub fn gtk_editable_delegate_set_property(
21410        object: *mut gobject::GObject,
21411        prop_id: c_uint,
21412        value: *const gobject::GValue,
21413        pspec: *mut gobject::GParamSpec,
21414    ) -> gboolean;
21415    pub fn gtk_editable_install_properties(
21416        object_class: *mut gobject::GObjectClass,
21417        first_prop: c_uint,
21418    ) -> c_uint;
21419    #[cfg(feature = "v4_10")]
21420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21421    pub fn gtk_editable_delegate_get_accessible_platform_state(
21422        editable: *mut GtkEditable,
21423        state: GtkAccessiblePlatformState,
21424    ) -> gboolean;
21425    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21426    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21427    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21428    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21429    pub fn gtk_editable_get_chars(
21430        editable: *mut GtkEditable,
21431        start_pos: c_int,
21432        end_pos: c_int,
21433    ) -> *mut c_char;
21434    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21435    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21436    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21437    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21438    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21439    pub fn gtk_editable_get_selection_bounds(
21440        editable: *mut GtkEditable,
21441        start_pos: *mut c_int,
21442        end_pos: *mut c_int,
21443    ) -> gboolean;
21444    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21445    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21446    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21447    pub fn gtk_editable_insert_text(
21448        editable: *mut GtkEditable,
21449        text: *const c_char,
21450        length: c_int,
21451        position: *mut c_int,
21452    );
21453    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21454    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21455    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21456    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21457    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21458    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21459    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21460    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21461
21462    //=========================================================================
21463    // GtkFileChooser
21464    //=========================================================================
21465    pub fn gtk_file_chooser_get_type() -> GType;
21466    pub fn gtk_file_chooser_add_choice(
21467        chooser: *mut GtkFileChooser,
21468        id: *const c_char,
21469        label: *const c_char,
21470        options: *mut *const c_char,
21471        option_labels: *mut *const c_char,
21472    );
21473    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21474    pub fn gtk_file_chooser_add_shortcut_folder(
21475        chooser: *mut GtkFileChooser,
21476        folder: *mut gio::GFile,
21477        error: *mut *mut glib::GError,
21478    ) -> gboolean;
21479    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21480    pub fn gtk_file_chooser_get_choice(
21481        chooser: *mut GtkFileChooser,
21482        id: *const c_char,
21483    ) -> *const c_char;
21484    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21485    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21486    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21487    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21488    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21489    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21490    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21491    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21492    pub fn gtk_file_chooser_get_shortcut_folders(
21493        chooser: *mut GtkFileChooser,
21494    ) -> *mut gio::GListModel;
21495    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21496    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21497    pub fn gtk_file_chooser_remove_shortcut_folder(
21498        chooser: *mut GtkFileChooser,
21499        folder: *mut gio::GFile,
21500        error: *mut *mut glib::GError,
21501    ) -> gboolean;
21502    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21503    pub fn gtk_file_chooser_set_choice(
21504        chooser: *mut GtkFileChooser,
21505        id: *const c_char,
21506        option: *const c_char,
21507    );
21508    pub fn gtk_file_chooser_set_create_folders(
21509        chooser: *mut GtkFileChooser,
21510        create_folders: gboolean,
21511    );
21512    pub fn gtk_file_chooser_set_current_folder(
21513        chooser: *mut GtkFileChooser,
21514        file: *mut gio::GFile,
21515        error: *mut *mut glib::GError,
21516    ) -> gboolean;
21517    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21518    pub fn gtk_file_chooser_set_file(
21519        chooser: *mut GtkFileChooser,
21520        file: *mut gio::GFile,
21521        error: *mut *mut glib::GError,
21522    ) -> gboolean;
21523    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21524    pub fn gtk_file_chooser_set_select_multiple(
21525        chooser: *mut GtkFileChooser,
21526        select_multiple: gboolean,
21527    );
21528
21529    //=========================================================================
21530    // GtkFontChooser
21531    //=========================================================================
21532    pub fn gtk_font_chooser_get_type() -> GType;
21533    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21534    pub fn gtk_font_chooser_get_font_desc(
21535        fontchooser: *mut GtkFontChooser,
21536    ) -> *mut pango::PangoFontDescription;
21537    pub fn gtk_font_chooser_get_font_face(
21538        fontchooser: *mut GtkFontChooser,
21539    ) -> *mut pango::PangoFontFace;
21540    pub fn gtk_font_chooser_get_font_family(
21541        fontchooser: *mut GtkFontChooser,
21542    ) -> *mut pango::PangoFontFamily;
21543    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21544    pub fn gtk_font_chooser_get_font_map(
21545        fontchooser: *mut GtkFontChooser,
21546    ) -> *mut pango::PangoFontMap;
21547    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21548    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21549    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21550    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21551    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21552    pub fn gtk_font_chooser_set_filter_func(
21553        fontchooser: *mut GtkFontChooser,
21554        filter: GtkFontFilterFunc,
21555        user_data: gpointer,
21556        destroy: glib::GDestroyNotify,
21557    );
21558    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21559    pub fn gtk_font_chooser_set_font_desc(
21560        fontchooser: *mut GtkFontChooser,
21561        font_desc: *const pango::PangoFontDescription,
21562    );
21563    pub fn gtk_font_chooser_set_font_map(
21564        fontchooser: *mut GtkFontChooser,
21565        fontmap: *mut pango::PangoFontMap,
21566    );
21567    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21568    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21569    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21570    pub fn gtk_font_chooser_set_show_preview_entry(
21571        fontchooser: *mut GtkFontChooser,
21572        show_preview_entry: gboolean,
21573    );
21574
21575    //=========================================================================
21576    // GtkNative
21577    //=========================================================================
21578    pub fn gtk_native_get_type() -> GType;
21579    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21580    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21581    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21582    pub fn gtk_native_get_surface_transform(
21583        self_: *mut GtkNative,
21584        x: *mut c_double,
21585        y: *mut c_double,
21586    );
21587    pub fn gtk_native_realize(self_: *mut GtkNative);
21588    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21589
21590    //=========================================================================
21591    // GtkOrientable
21592    //=========================================================================
21593    pub fn gtk_orientable_get_type() -> GType;
21594    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21595    pub fn gtk_orientable_set_orientation(
21596        orientable: *mut GtkOrientable,
21597        orientation: GtkOrientation,
21598    );
21599
21600    //=========================================================================
21601    // GtkPrintOperationPreview
21602    //=========================================================================
21603    pub fn gtk_print_operation_preview_get_type() -> GType;
21604    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21605    pub fn gtk_print_operation_preview_is_selected(
21606        preview: *mut GtkPrintOperationPreview,
21607        page_nr: c_int,
21608    ) -> gboolean;
21609    pub fn gtk_print_operation_preview_render_page(
21610        preview: *mut GtkPrintOperationPreview,
21611        page_nr: c_int,
21612    );
21613
21614    //=========================================================================
21615    // GtkRoot
21616    //=========================================================================
21617    pub fn gtk_root_get_type() -> GType;
21618    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21619    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21620    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21621
21622    //=========================================================================
21623    // GtkScrollable
21624    //=========================================================================
21625    pub fn gtk_scrollable_get_type() -> GType;
21626    pub fn gtk_scrollable_get_border(
21627        scrollable: *mut GtkScrollable,
21628        border: *mut GtkBorder,
21629    ) -> gboolean;
21630    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21631    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21632    -> GtkScrollablePolicy;
21633    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21634    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21635    -> GtkScrollablePolicy;
21636    pub fn gtk_scrollable_set_hadjustment(
21637        scrollable: *mut GtkScrollable,
21638        hadjustment: *mut GtkAdjustment,
21639    );
21640    pub fn gtk_scrollable_set_hscroll_policy(
21641        scrollable: *mut GtkScrollable,
21642        policy: GtkScrollablePolicy,
21643    );
21644    pub fn gtk_scrollable_set_vadjustment(
21645        scrollable: *mut GtkScrollable,
21646        vadjustment: *mut GtkAdjustment,
21647    );
21648    pub fn gtk_scrollable_set_vscroll_policy(
21649        scrollable: *mut GtkScrollable,
21650        policy: GtkScrollablePolicy,
21651    );
21652
21653    //=========================================================================
21654    // GtkSectionModel
21655    //=========================================================================
21656    #[cfg(feature = "v4_12")]
21657    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21658    pub fn gtk_section_model_get_type() -> GType;
21659    #[cfg(feature = "v4_12")]
21660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21661    pub fn gtk_section_model_get_section(
21662        self_: *mut GtkSectionModel,
21663        position: c_uint,
21664        out_start: *mut c_uint,
21665        out_end: *mut c_uint,
21666    );
21667    #[cfg(feature = "v4_12")]
21668    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21669    pub fn gtk_section_model_sections_changed(
21670        self_: *mut GtkSectionModel,
21671        position: c_uint,
21672        n_items: c_uint,
21673    );
21674
21675    //=========================================================================
21676    // GtkSelectionModel
21677    //=========================================================================
21678    pub fn gtk_selection_model_get_type() -> GType;
21679    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21680    pub fn gtk_selection_model_get_selection_in_range(
21681        model: *mut GtkSelectionModel,
21682        position: c_uint,
21683        n_items: c_uint,
21684    ) -> *mut GtkBitset;
21685    pub fn gtk_selection_model_is_selected(
21686        model: *mut GtkSelectionModel,
21687        position: c_uint,
21688    ) -> gboolean;
21689    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21690    pub fn gtk_selection_model_select_item(
21691        model: *mut GtkSelectionModel,
21692        position: c_uint,
21693        unselect_rest: gboolean,
21694    ) -> gboolean;
21695    pub fn gtk_selection_model_select_range(
21696        model: *mut GtkSelectionModel,
21697        position: c_uint,
21698        n_items: c_uint,
21699        unselect_rest: gboolean,
21700    ) -> gboolean;
21701    pub fn gtk_selection_model_selection_changed(
21702        model: *mut GtkSelectionModel,
21703        position: c_uint,
21704        n_items: c_uint,
21705    );
21706    pub fn gtk_selection_model_set_selection(
21707        model: *mut GtkSelectionModel,
21708        selected: *mut GtkBitset,
21709        mask: *mut GtkBitset,
21710    ) -> gboolean;
21711    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21712    pub fn gtk_selection_model_unselect_item(
21713        model: *mut GtkSelectionModel,
21714        position: c_uint,
21715    ) -> gboolean;
21716    pub fn gtk_selection_model_unselect_range(
21717        model: *mut GtkSelectionModel,
21718        position: c_uint,
21719        n_items: c_uint,
21720    ) -> gboolean;
21721
21722    //=========================================================================
21723    // GtkShortcutManager
21724    //=========================================================================
21725    pub fn gtk_shortcut_manager_get_type() -> GType;
21726
21727    //=========================================================================
21728    // GtkStyleProvider
21729    //=========================================================================
21730    pub fn gtk_style_provider_get_type() -> GType;
21731
21732    //=========================================================================
21733    // GtkSymbolicPaintable
21734    //=========================================================================
21735    #[cfg(feature = "v4_6")]
21736    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21737    pub fn gtk_symbolic_paintable_get_type() -> GType;
21738    #[cfg(feature = "v4_6")]
21739    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21740    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21741        paintable: *mut GtkSymbolicPaintable,
21742        snapshot: *mut gdk::GdkSnapshot,
21743        width: c_double,
21744        height: c_double,
21745        colors: *const gdk::GdkRGBA,
21746        n_colors: size_t,
21747    );
21748    #[cfg(feature = "v4_22")]
21749    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21750    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21751        paintable: *mut GtkSymbolicPaintable,
21752        snapshot: *mut gdk::GdkSnapshot,
21753        width: c_double,
21754        height: c_double,
21755        colors: *const gdk::GdkRGBA,
21756        n_colors: size_t,
21757        weight: c_double,
21758    );
21759
21760    //=========================================================================
21761    // GtkTreeDragDest
21762    //=========================================================================
21763    pub fn gtk_tree_drag_dest_get_type() -> GType;
21764    pub fn gtk_tree_drag_dest_drag_data_received(
21765        drag_dest: *mut GtkTreeDragDest,
21766        dest: *mut GtkTreePath,
21767        value: *const gobject::GValue,
21768    ) -> gboolean;
21769    pub fn gtk_tree_drag_dest_row_drop_possible(
21770        drag_dest: *mut GtkTreeDragDest,
21771        dest_path: *mut GtkTreePath,
21772        value: *const gobject::GValue,
21773    ) -> gboolean;
21774
21775    //=========================================================================
21776    // GtkTreeDragSource
21777    //=========================================================================
21778    pub fn gtk_tree_drag_source_get_type() -> GType;
21779    pub fn gtk_tree_drag_source_drag_data_delete(
21780        drag_source: *mut GtkTreeDragSource,
21781        path: *mut GtkTreePath,
21782    ) -> gboolean;
21783    pub fn gtk_tree_drag_source_drag_data_get(
21784        drag_source: *mut GtkTreeDragSource,
21785        path: *mut GtkTreePath,
21786    ) -> *mut gdk::GdkContentProvider;
21787    pub fn gtk_tree_drag_source_row_draggable(
21788        drag_source: *mut GtkTreeDragSource,
21789        path: *mut GtkTreePath,
21790    ) -> gboolean;
21791
21792    //=========================================================================
21793    // GtkTreeModel
21794    //=========================================================================
21795    pub fn gtk_tree_model_get_type() -> GType;
21796    pub fn gtk_tree_model_filter_new(
21797        child_model: *mut GtkTreeModel,
21798        root: *mut GtkTreePath,
21799    ) -> *mut GtkTreeModel;
21800    pub fn gtk_tree_model_foreach(
21801        model: *mut GtkTreeModel,
21802        func: GtkTreeModelForeachFunc,
21803        user_data: gpointer,
21804    );
21805    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
21806    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
21807    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
21808    pub fn gtk_tree_model_get_iter(
21809        tree_model: *mut GtkTreeModel,
21810        iter: *mut GtkTreeIter,
21811        path: *mut GtkTreePath,
21812    ) -> gboolean;
21813    pub fn gtk_tree_model_get_iter_first(
21814        tree_model: *mut GtkTreeModel,
21815        iter: *mut GtkTreeIter,
21816    ) -> gboolean;
21817    pub fn gtk_tree_model_get_iter_from_string(
21818        tree_model: *mut GtkTreeModel,
21819        iter: *mut GtkTreeIter,
21820        path_string: *const c_char,
21821    ) -> gboolean;
21822    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
21823    pub fn gtk_tree_model_get_path(
21824        tree_model: *mut GtkTreeModel,
21825        iter: *mut GtkTreeIter,
21826    ) -> *mut GtkTreePath;
21827    pub fn gtk_tree_model_get_string_from_iter(
21828        tree_model: *mut GtkTreeModel,
21829        iter: *mut GtkTreeIter,
21830    ) -> *mut c_char;
21831    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
21832    pub fn gtk_tree_model_get_value(
21833        tree_model: *mut GtkTreeModel,
21834        iter: *mut GtkTreeIter,
21835        column: c_int,
21836        value: *mut gobject::GValue,
21837    );
21838    pub fn gtk_tree_model_iter_children(
21839        tree_model: *mut GtkTreeModel,
21840        iter: *mut GtkTreeIter,
21841        parent: *mut GtkTreeIter,
21842    ) -> gboolean;
21843    pub fn gtk_tree_model_iter_has_child(
21844        tree_model: *mut GtkTreeModel,
21845        iter: *mut GtkTreeIter,
21846    ) -> gboolean;
21847    pub fn gtk_tree_model_iter_n_children(
21848        tree_model: *mut GtkTreeModel,
21849        iter: *mut GtkTreeIter,
21850    ) -> c_int;
21851    pub fn gtk_tree_model_iter_next(
21852        tree_model: *mut GtkTreeModel,
21853        iter: *mut GtkTreeIter,
21854    ) -> gboolean;
21855    pub fn gtk_tree_model_iter_nth_child(
21856        tree_model: *mut GtkTreeModel,
21857        iter: *mut GtkTreeIter,
21858        parent: *mut GtkTreeIter,
21859        n: c_int,
21860    ) -> gboolean;
21861    pub fn gtk_tree_model_iter_parent(
21862        tree_model: *mut GtkTreeModel,
21863        iter: *mut GtkTreeIter,
21864        child: *mut GtkTreeIter,
21865    ) -> gboolean;
21866    pub fn gtk_tree_model_iter_previous(
21867        tree_model: *mut GtkTreeModel,
21868        iter: *mut GtkTreeIter,
21869    ) -> gboolean;
21870    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
21871    pub fn gtk_tree_model_row_changed(
21872        tree_model: *mut GtkTreeModel,
21873        path: *mut GtkTreePath,
21874        iter: *mut GtkTreeIter,
21875    );
21876    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
21877    pub fn gtk_tree_model_row_has_child_toggled(
21878        tree_model: *mut GtkTreeModel,
21879        path: *mut GtkTreePath,
21880        iter: *mut GtkTreeIter,
21881    );
21882    pub fn gtk_tree_model_row_inserted(
21883        tree_model: *mut GtkTreeModel,
21884        path: *mut GtkTreePath,
21885        iter: *mut GtkTreeIter,
21886    );
21887    pub fn gtk_tree_model_rows_reordered(
21888        tree_model: *mut GtkTreeModel,
21889        path: *mut GtkTreePath,
21890        iter: *mut GtkTreeIter,
21891        new_order: *mut c_int,
21892    );
21893    pub fn gtk_tree_model_rows_reordered_with_length(
21894        tree_model: *mut GtkTreeModel,
21895        path: *mut GtkTreePath,
21896        iter: *mut GtkTreeIter,
21897        new_order: *mut c_int,
21898        length: c_int,
21899    );
21900    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
21901
21902    //=========================================================================
21903    // GtkTreeSortable
21904    //=========================================================================
21905    pub fn gtk_tree_sortable_get_type() -> GType;
21906    pub fn gtk_tree_sortable_get_sort_column_id(
21907        sortable: *mut GtkTreeSortable,
21908        sort_column_id: *mut c_int,
21909        order: *mut GtkSortType,
21910    ) -> gboolean;
21911    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
21912    pub fn gtk_tree_sortable_set_default_sort_func(
21913        sortable: *mut GtkTreeSortable,
21914        sort_func: GtkTreeIterCompareFunc,
21915        user_data: gpointer,
21916        destroy: glib::GDestroyNotify,
21917    );
21918    pub fn gtk_tree_sortable_set_sort_column_id(
21919        sortable: *mut GtkTreeSortable,
21920        sort_column_id: c_int,
21921        order: GtkSortType,
21922    );
21923    pub fn gtk_tree_sortable_set_sort_func(
21924        sortable: *mut GtkTreeSortable,
21925        sort_column_id: c_int,
21926        sort_func: GtkTreeIterCompareFunc,
21927        user_data: gpointer,
21928        destroy: glib::GDestroyNotify,
21929    );
21930    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
21931
21932    //=========================================================================
21933    // Other functions
21934    //=========================================================================
21935    #[cfg(feature = "v4_22")]
21936    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21937    pub fn gtk_accelerator_get_accessible_label(
21938        accelerator_key: c_uint,
21939        accelerator_mods: gdk::GdkModifierType,
21940    ) -> *mut c_char;
21941    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
21942    pub fn gtk_accelerator_get_label(
21943        accelerator_key: c_uint,
21944        accelerator_mods: gdk::GdkModifierType,
21945    ) -> *mut c_char;
21946    pub fn gtk_accelerator_get_label_with_keycode(
21947        display: *mut gdk::GdkDisplay,
21948        accelerator_key: c_uint,
21949        keycode: c_uint,
21950        accelerator_mods: gdk::GdkModifierType,
21951    ) -> *mut c_char;
21952    pub fn gtk_accelerator_name(
21953        accelerator_key: c_uint,
21954        accelerator_mods: gdk::GdkModifierType,
21955    ) -> *mut c_char;
21956    pub fn gtk_accelerator_name_with_keycode(
21957        display: *mut gdk::GdkDisplay,
21958        accelerator_key: c_uint,
21959        keycode: c_uint,
21960        accelerator_mods: gdk::GdkModifierType,
21961    ) -> *mut c_char;
21962    pub fn gtk_accelerator_parse(
21963        accelerator: *const c_char,
21964        accelerator_key: *mut c_uint,
21965        accelerator_mods: *mut gdk::GdkModifierType,
21966    ) -> gboolean;
21967    pub fn gtk_accelerator_parse_with_keycode(
21968        accelerator: *const c_char,
21969        display: *mut gdk::GdkDisplay,
21970        accelerator_key: *mut c_uint,
21971        accelerator_codes: *mut *mut c_uint,
21972        accelerator_mods: *mut gdk::GdkModifierType,
21973    ) -> gboolean;
21974    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
21975    pub fn gtk_check_version(
21976        required_major: c_uint,
21977        required_minor: c_uint,
21978        required_micro: c_uint,
21979    ) -> *const c_char;
21980    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
21981    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
21982    #[cfg(feature = "v4_22")]
21983    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21984    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
21985    #[cfg(feature = "v4_18")]
21986    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21987    pub fn gtk_disable_portals();
21988    pub fn gtk_disable_setlocale();
21989    pub fn gtk_distribute_natural_allocation(
21990        extra_space: c_int,
21991        n_requested_sizes: c_uint,
21992        sizes: *mut GtkRequestedSize,
21993    ) -> c_int;
21994    pub fn gtk_enumerate_printers(
21995        func: GtkPrinterFunc,
21996        data: gpointer,
21997        destroy: glib::GDestroyNotify,
21998        wait: gboolean,
21999    );
22000    pub fn gtk_get_binary_age() -> c_uint;
22001    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22002    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22003    pub fn gtk_get_interface_age() -> c_uint;
22004    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22005    pub fn gtk_get_major_version() -> c_uint;
22006    pub fn gtk_get_micro_version() -> c_uint;
22007    pub fn gtk_get_minor_version() -> c_uint;
22008    pub fn gtk_hsv_to_rgb(
22009        h: c_float,
22010        s: c_float,
22011        v: c_float,
22012        r: *mut c_float,
22013        g: *mut c_float,
22014        b: *mut c_float,
22015    );
22016    pub fn gtk_init();
22017    pub fn gtk_init_check() -> gboolean;
22018    pub fn gtk_is_initialized() -> gboolean;
22019    pub fn gtk_param_spec_expression(
22020        name: *const c_char,
22021        nick: *const c_char,
22022        blurb: *const c_char,
22023        flags: gobject::GParamFlags,
22024    ) -> *mut gobject::GParamSpec;
22025    pub fn gtk_print_run_page_setup_dialog(
22026        parent: *mut GtkWindow,
22027        page_setup: *mut GtkPageSetup,
22028        settings: *mut GtkPrintSettings,
22029    ) -> *mut GtkPageSetup;
22030    pub fn gtk_print_run_page_setup_dialog_async(
22031        parent: *mut GtkWindow,
22032        page_setup: *mut GtkPageSetup,
22033        settings: *mut GtkPrintSettings,
22034        done_cb: GtkPageSetupDoneFunc,
22035        data: gpointer,
22036    );
22037    pub fn gtk_render_activity(
22038        context: *mut GtkStyleContext,
22039        cr: *mut cairo::cairo_t,
22040        x: c_double,
22041        y: c_double,
22042        width: c_double,
22043        height: c_double,
22044    );
22045    pub fn gtk_render_arrow(
22046        context: *mut GtkStyleContext,
22047        cr: *mut cairo::cairo_t,
22048        angle: c_double,
22049        x: c_double,
22050        y: c_double,
22051        size: c_double,
22052    );
22053    pub fn gtk_render_background(
22054        context: *mut GtkStyleContext,
22055        cr: *mut cairo::cairo_t,
22056        x: c_double,
22057        y: c_double,
22058        width: c_double,
22059        height: c_double,
22060    );
22061    pub fn gtk_render_check(
22062        context: *mut GtkStyleContext,
22063        cr: *mut cairo::cairo_t,
22064        x: c_double,
22065        y: c_double,
22066        width: c_double,
22067        height: c_double,
22068    );
22069    pub fn gtk_render_expander(
22070        context: *mut GtkStyleContext,
22071        cr: *mut cairo::cairo_t,
22072        x: c_double,
22073        y: c_double,
22074        width: c_double,
22075        height: c_double,
22076    );
22077    pub fn gtk_render_focus(
22078        context: *mut GtkStyleContext,
22079        cr: *mut cairo::cairo_t,
22080        x: c_double,
22081        y: c_double,
22082        width: c_double,
22083        height: c_double,
22084    );
22085    pub fn gtk_render_frame(
22086        context: *mut GtkStyleContext,
22087        cr: *mut cairo::cairo_t,
22088        x: c_double,
22089        y: c_double,
22090        width: c_double,
22091        height: c_double,
22092    );
22093    pub fn gtk_render_handle(
22094        context: *mut GtkStyleContext,
22095        cr: *mut cairo::cairo_t,
22096        x: c_double,
22097        y: c_double,
22098        width: c_double,
22099        height: c_double,
22100    );
22101    pub fn gtk_render_icon(
22102        context: *mut GtkStyleContext,
22103        cr: *mut cairo::cairo_t,
22104        texture: *mut gdk::GdkTexture,
22105        x: c_double,
22106        y: c_double,
22107    );
22108    pub fn gtk_render_layout(
22109        context: *mut GtkStyleContext,
22110        cr: *mut cairo::cairo_t,
22111        x: c_double,
22112        y: c_double,
22113        layout: *mut pango::PangoLayout,
22114    );
22115    pub fn gtk_render_line(
22116        context: *mut GtkStyleContext,
22117        cr: *mut cairo::cairo_t,
22118        x0: c_double,
22119        y0: c_double,
22120        x1: c_double,
22121        y1: c_double,
22122    );
22123    pub fn gtk_render_option(
22124        context: *mut GtkStyleContext,
22125        cr: *mut cairo::cairo_t,
22126        x: c_double,
22127        y: c_double,
22128        width: c_double,
22129        height: c_double,
22130    );
22131    pub fn gtk_rgb_to_hsv(
22132        r: c_float,
22133        g: c_float,
22134        b: c_float,
22135        h: *mut c_float,
22136        s: *mut c_float,
22137        v: *mut c_float,
22138    );
22139    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22140    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22141    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22142    pub fn gtk_show_uri_full(
22143        parent: *mut GtkWindow,
22144        uri: *const c_char,
22145        timestamp: u32,
22146        cancellable: *mut gio::GCancellable,
22147        callback: gio::GAsyncReadyCallback,
22148        user_data: gpointer,
22149    );
22150    pub fn gtk_show_uri_full_finish(
22151        parent: *mut GtkWindow,
22152        result: *mut gio::GAsyncResult,
22153        error: *mut *mut glib::GError,
22154    ) -> gboolean;
22155    pub fn gtk_test_accessible_assertion_message_role(
22156        domain: *const c_char,
22157        file: *const c_char,
22158        line: c_int,
22159        func: *const c_char,
22160        expr: *const c_char,
22161        accessible: *mut GtkAccessible,
22162        expected_role: GtkAccessibleRole,
22163        actual_role: GtkAccessibleRole,
22164    );
22165    pub fn gtk_test_accessible_check_property(
22166        accessible: *mut GtkAccessible,
22167        property: GtkAccessibleProperty,
22168        ...
22169    ) -> *mut c_char;
22170    pub fn gtk_test_accessible_check_relation(
22171        accessible: *mut GtkAccessible,
22172        relation: GtkAccessibleRelation,
22173        ...
22174    ) -> *mut c_char;
22175    pub fn gtk_test_accessible_check_state(
22176        accessible: *mut GtkAccessible,
22177        state: GtkAccessibleState,
22178        ...
22179    ) -> *mut c_char;
22180    pub fn gtk_test_accessible_has_property(
22181        accessible: *mut GtkAccessible,
22182        property: GtkAccessibleProperty,
22183    ) -> gboolean;
22184    pub fn gtk_test_accessible_has_relation(
22185        accessible: *mut GtkAccessible,
22186        relation: GtkAccessibleRelation,
22187    ) -> gboolean;
22188    pub fn gtk_test_accessible_has_role(
22189        accessible: *mut GtkAccessible,
22190        role: GtkAccessibleRole,
22191    ) -> gboolean;
22192    pub fn gtk_test_accessible_has_state(
22193        accessible: *mut GtkAccessible,
22194        state: GtkAccessibleState,
22195    ) -> gboolean;
22196    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22197    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22198    pub fn gtk_test_register_all_types();
22199    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22200    pub fn gtk_tree_create_row_drag_content(
22201        tree_model: *mut GtkTreeModel,
22202        path: *mut GtkTreePath,
22203    ) -> *mut gdk::GdkContentProvider;
22204    pub fn gtk_tree_get_row_drag_data(
22205        value: *const gobject::GValue,
22206        tree_model: *mut *mut GtkTreeModel,
22207        path: *mut *mut GtkTreePath,
22208    ) -> gboolean;
22209    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22210    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22211    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22212    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22213
22214}