Skip to main content

gtk4_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7    clippy::approx_constant,
8    clippy::type_complexity,
9    clippy::unreadable_literal,
10    clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use cairo_sys as cairo;
15use gdk_pixbuf_sys as gdk_pixbuf;
16use gdk4_sys as gdk;
17use gio_sys as gio;
18use glib_sys as glib;
19use gobject_sys as gobject;
20use graphene_sys as graphene;
21use gsk4_sys as gsk;
22use pango_sys as pango;
23
24#[allow(unused_imports)]
25use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
26#[cfg(unix)]
27#[allow(unused_imports)]
28use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
29#[allow(unused_imports)]
30use std::ffi::{
31    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
32};
33
34#[allow(unused_imports)]
35use glib::{GType, gboolean, gconstpointer, gpointer};
36
37pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = u16::MAX;
38
39// Aliases
40pub type GtkAllocation = gdk::GdkRectangle;
41
42// Enums
43pub type GtkAccessibleAnnouncementPriority = c_int;
44pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW: GtkAccessibleAnnouncementPriority = 0;
45pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM: GtkAccessibleAnnouncementPriority = 1;
46pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH: GtkAccessibleAnnouncementPriority = 2;
47
48pub type GtkAccessibleAutocomplete = c_int;
49pub const GTK_ACCESSIBLE_AUTOCOMPLETE_NONE: GtkAccessibleAutocomplete = 0;
50pub const GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE: GtkAccessibleAutocomplete = 1;
51pub const GTK_ACCESSIBLE_AUTOCOMPLETE_LIST: GtkAccessibleAutocomplete = 2;
52pub const GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH: GtkAccessibleAutocomplete = 3;
53
54pub type GtkAccessibleInvalidState = c_int;
55pub const GTK_ACCESSIBLE_INVALID_FALSE: GtkAccessibleInvalidState = 0;
56pub const GTK_ACCESSIBLE_INVALID_TRUE: GtkAccessibleInvalidState = 1;
57pub const GTK_ACCESSIBLE_INVALID_GRAMMAR: GtkAccessibleInvalidState = 2;
58pub const GTK_ACCESSIBLE_INVALID_SPELLING: GtkAccessibleInvalidState = 3;
59
60pub type GtkAccessiblePlatformState = c_int;
61pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE: GtkAccessiblePlatformState = 0;
62pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED: GtkAccessiblePlatformState = 1;
63pub const GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE: GtkAccessiblePlatformState = 2;
64
65pub type GtkAccessibleProperty = c_int;
66pub const GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE: GtkAccessibleProperty = 0;
67pub const GTK_ACCESSIBLE_PROPERTY_DESCRIPTION: GtkAccessibleProperty = 1;
68pub const GTK_ACCESSIBLE_PROPERTY_HAS_POPUP: GtkAccessibleProperty = 2;
69pub const GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS: GtkAccessibleProperty = 3;
70pub const GTK_ACCESSIBLE_PROPERTY_LABEL: GtkAccessibleProperty = 4;
71pub const GTK_ACCESSIBLE_PROPERTY_LEVEL: GtkAccessibleProperty = 5;
72pub const GTK_ACCESSIBLE_PROPERTY_MODAL: GtkAccessibleProperty = 6;
73pub const GTK_ACCESSIBLE_PROPERTY_MULTI_LINE: GtkAccessibleProperty = 7;
74pub const GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE: GtkAccessibleProperty = 8;
75pub const GTK_ACCESSIBLE_PROPERTY_ORIENTATION: GtkAccessibleProperty = 9;
76pub const GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER: GtkAccessibleProperty = 10;
77pub const GTK_ACCESSIBLE_PROPERTY_READ_ONLY: GtkAccessibleProperty = 11;
78pub const GTK_ACCESSIBLE_PROPERTY_REQUIRED: GtkAccessibleProperty = 12;
79pub const GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION: GtkAccessibleProperty = 13;
80pub const GTK_ACCESSIBLE_PROPERTY_SORT: GtkAccessibleProperty = 14;
81pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MAX: GtkAccessibleProperty = 15;
82pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MIN: GtkAccessibleProperty = 16;
83pub const GTK_ACCESSIBLE_PROPERTY_VALUE_NOW: GtkAccessibleProperty = 17;
84pub const GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT: GtkAccessibleProperty = 18;
85#[cfg(feature = "v4_16")]
86#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
87pub const GTK_ACCESSIBLE_PROPERTY_HELP_TEXT: GtkAccessibleProperty = 19;
88
89pub type GtkAccessibleRelation = c_int;
90pub const GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT: GtkAccessibleRelation = 0;
91pub const GTK_ACCESSIBLE_RELATION_COL_COUNT: GtkAccessibleRelation = 1;
92pub const GTK_ACCESSIBLE_RELATION_COL_INDEX: GtkAccessibleRelation = 2;
93pub const GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT: GtkAccessibleRelation = 3;
94pub const GTK_ACCESSIBLE_RELATION_COL_SPAN: GtkAccessibleRelation = 4;
95pub const GTK_ACCESSIBLE_RELATION_CONTROLS: GtkAccessibleRelation = 5;
96pub const GTK_ACCESSIBLE_RELATION_DESCRIBED_BY: GtkAccessibleRelation = 6;
97pub const GTK_ACCESSIBLE_RELATION_DETAILS: GtkAccessibleRelation = 7;
98pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE: GtkAccessibleRelation = 8;
99pub const GTK_ACCESSIBLE_RELATION_FLOW_TO: GtkAccessibleRelation = 9;
100pub const GTK_ACCESSIBLE_RELATION_LABELLED_BY: GtkAccessibleRelation = 10;
101pub const GTK_ACCESSIBLE_RELATION_OWNS: GtkAccessibleRelation = 11;
102pub const GTK_ACCESSIBLE_RELATION_POS_IN_SET: GtkAccessibleRelation = 12;
103pub const GTK_ACCESSIBLE_RELATION_ROW_COUNT: GtkAccessibleRelation = 13;
104pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX: GtkAccessibleRelation = 14;
105pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT: GtkAccessibleRelation = 15;
106pub const GTK_ACCESSIBLE_RELATION_ROW_SPAN: GtkAccessibleRelation = 16;
107pub const GTK_ACCESSIBLE_RELATION_SET_SIZE: GtkAccessibleRelation = 17;
108#[cfg(feature = "v4_18")]
109#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
110pub const GTK_ACCESSIBLE_RELATION_LABEL_FOR: GtkAccessibleRelation = 18;
111#[cfg(feature = "v4_18")]
112#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
113pub const GTK_ACCESSIBLE_RELATION_DESCRIPTION_FOR: GtkAccessibleRelation = 19;
114#[cfg(feature = "v4_18")]
115#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
116pub const GTK_ACCESSIBLE_RELATION_CONTROLLED_BY: GtkAccessibleRelation = 20;
117#[cfg(feature = "v4_18")]
118#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
119pub const GTK_ACCESSIBLE_RELATION_DETAILS_FOR: GtkAccessibleRelation = 21;
120#[cfg(feature = "v4_18")]
121#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
122pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE_FOR: GtkAccessibleRelation = 22;
123#[cfg(feature = "v4_18")]
124#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
125pub const GTK_ACCESSIBLE_RELATION_FLOW_FROM: GtkAccessibleRelation = 23;
126
127pub type GtkAccessibleRole = c_int;
128pub const GTK_ACCESSIBLE_ROLE_ALERT: GtkAccessibleRole = 0;
129pub const GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: GtkAccessibleRole = 1;
130pub const GTK_ACCESSIBLE_ROLE_BANNER: GtkAccessibleRole = 2;
131pub const GTK_ACCESSIBLE_ROLE_BUTTON: GtkAccessibleRole = 3;
132pub const GTK_ACCESSIBLE_ROLE_CAPTION: GtkAccessibleRole = 4;
133pub const GTK_ACCESSIBLE_ROLE_CELL: GtkAccessibleRole = 5;
134pub const GTK_ACCESSIBLE_ROLE_CHECKBOX: GtkAccessibleRole = 6;
135pub const GTK_ACCESSIBLE_ROLE_COLUMN_HEADER: GtkAccessibleRole = 7;
136pub const GTK_ACCESSIBLE_ROLE_COMBO_BOX: GtkAccessibleRole = 8;
137pub const GTK_ACCESSIBLE_ROLE_COMMAND: GtkAccessibleRole = 9;
138pub const GTK_ACCESSIBLE_ROLE_COMPOSITE: GtkAccessibleRole = 10;
139pub const GTK_ACCESSIBLE_ROLE_DIALOG: GtkAccessibleRole = 11;
140pub const GTK_ACCESSIBLE_ROLE_DOCUMENT: GtkAccessibleRole = 12;
141pub const GTK_ACCESSIBLE_ROLE_FEED: GtkAccessibleRole = 13;
142pub const GTK_ACCESSIBLE_ROLE_FORM: GtkAccessibleRole = 14;
143pub const GTK_ACCESSIBLE_ROLE_GENERIC: GtkAccessibleRole = 15;
144pub const GTK_ACCESSIBLE_ROLE_GRID: GtkAccessibleRole = 16;
145pub const GTK_ACCESSIBLE_ROLE_GRID_CELL: GtkAccessibleRole = 17;
146pub const GTK_ACCESSIBLE_ROLE_GROUP: GtkAccessibleRole = 18;
147pub const GTK_ACCESSIBLE_ROLE_HEADING: GtkAccessibleRole = 19;
148pub const GTK_ACCESSIBLE_ROLE_IMG: GtkAccessibleRole = 20;
149pub const GTK_ACCESSIBLE_ROLE_INPUT: GtkAccessibleRole = 21;
150pub const GTK_ACCESSIBLE_ROLE_LABEL: GtkAccessibleRole = 22;
151pub const GTK_ACCESSIBLE_ROLE_LANDMARK: GtkAccessibleRole = 23;
152pub const GTK_ACCESSIBLE_ROLE_LEGEND: GtkAccessibleRole = 24;
153pub const GTK_ACCESSIBLE_ROLE_LINK: GtkAccessibleRole = 25;
154pub const GTK_ACCESSIBLE_ROLE_LIST: GtkAccessibleRole = 26;
155pub const GTK_ACCESSIBLE_ROLE_LIST_BOX: GtkAccessibleRole = 27;
156pub const GTK_ACCESSIBLE_ROLE_LIST_ITEM: GtkAccessibleRole = 28;
157pub const GTK_ACCESSIBLE_ROLE_LOG: GtkAccessibleRole = 29;
158pub const GTK_ACCESSIBLE_ROLE_MAIN: GtkAccessibleRole = 30;
159pub const GTK_ACCESSIBLE_ROLE_MARQUEE: GtkAccessibleRole = 31;
160pub const GTK_ACCESSIBLE_ROLE_MATH: GtkAccessibleRole = 32;
161pub const GTK_ACCESSIBLE_ROLE_METER: GtkAccessibleRole = 33;
162pub const GTK_ACCESSIBLE_ROLE_MENU: GtkAccessibleRole = 34;
163pub const GTK_ACCESSIBLE_ROLE_MENU_BAR: GtkAccessibleRole = 35;
164pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM: GtkAccessibleRole = 36;
165pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX: GtkAccessibleRole = 37;
166pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO: GtkAccessibleRole = 38;
167pub const GTK_ACCESSIBLE_ROLE_NAVIGATION: GtkAccessibleRole = 39;
168pub const GTK_ACCESSIBLE_ROLE_NONE: GtkAccessibleRole = 40;
169pub const GTK_ACCESSIBLE_ROLE_NOTE: GtkAccessibleRole = 41;
170pub const GTK_ACCESSIBLE_ROLE_OPTION: GtkAccessibleRole = 42;
171pub const GTK_ACCESSIBLE_ROLE_PRESENTATION: GtkAccessibleRole = 43;
172pub const GTK_ACCESSIBLE_ROLE_PROGRESS_BAR: GtkAccessibleRole = 44;
173pub const GTK_ACCESSIBLE_ROLE_RADIO: GtkAccessibleRole = 45;
174pub const GTK_ACCESSIBLE_ROLE_RADIO_GROUP: GtkAccessibleRole = 46;
175pub const GTK_ACCESSIBLE_ROLE_RANGE: GtkAccessibleRole = 47;
176pub const GTK_ACCESSIBLE_ROLE_REGION: GtkAccessibleRole = 48;
177pub const GTK_ACCESSIBLE_ROLE_ROW: GtkAccessibleRole = 49;
178pub const GTK_ACCESSIBLE_ROLE_ROW_GROUP: GtkAccessibleRole = 50;
179pub const GTK_ACCESSIBLE_ROLE_ROW_HEADER: GtkAccessibleRole = 51;
180pub const GTK_ACCESSIBLE_ROLE_SCROLLBAR: GtkAccessibleRole = 52;
181pub const GTK_ACCESSIBLE_ROLE_SEARCH: GtkAccessibleRole = 53;
182pub const GTK_ACCESSIBLE_ROLE_SEARCH_BOX: GtkAccessibleRole = 54;
183pub const GTK_ACCESSIBLE_ROLE_SECTION: GtkAccessibleRole = 55;
184pub const GTK_ACCESSIBLE_ROLE_SECTION_HEAD: GtkAccessibleRole = 56;
185pub const GTK_ACCESSIBLE_ROLE_SELECT: GtkAccessibleRole = 57;
186pub const GTK_ACCESSIBLE_ROLE_SEPARATOR: GtkAccessibleRole = 58;
187pub const GTK_ACCESSIBLE_ROLE_SLIDER: GtkAccessibleRole = 59;
188pub const GTK_ACCESSIBLE_ROLE_SPIN_BUTTON: GtkAccessibleRole = 60;
189pub const GTK_ACCESSIBLE_ROLE_STATUS: GtkAccessibleRole = 61;
190pub const GTK_ACCESSIBLE_ROLE_STRUCTURE: GtkAccessibleRole = 62;
191pub const GTK_ACCESSIBLE_ROLE_SWITCH: GtkAccessibleRole = 63;
192pub const GTK_ACCESSIBLE_ROLE_TAB: GtkAccessibleRole = 64;
193pub const GTK_ACCESSIBLE_ROLE_TABLE: GtkAccessibleRole = 65;
194pub const GTK_ACCESSIBLE_ROLE_TAB_LIST: GtkAccessibleRole = 66;
195pub const GTK_ACCESSIBLE_ROLE_TAB_PANEL: GtkAccessibleRole = 67;
196pub const GTK_ACCESSIBLE_ROLE_TEXT_BOX: GtkAccessibleRole = 68;
197pub const GTK_ACCESSIBLE_ROLE_TIME: GtkAccessibleRole = 69;
198pub const GTK_ACCESSIBLE_ROLE_TIMER: GtkAccessibleRole = 70;
199pub const GTK_ACCESSIBLE_ROLE_TOOLBAR: GtkAccessibleRole = 71;
200pub const GTK_ACCESSIBLE_ROLE_TOOLTIP: GtkAccessibleRole = 72;
201pub const GTK_ACCESSIBLE_ROLE_TREE: GtkAccessibleRole = 73;
202pub const GTK_ACCESSIBLE_ROLE_TREE_GRID: GtkAccessibleRole = 74;
203pub const GTK_ACCESSIBLE_ROLE_TREE_ITEM: GtkAccessibleRole = 75;
204pub const GTK_ACCESSIBLE_ROLE_WIDGET: GtkAccessibleRole = 76;
205pub const GTK_ACCESSIBLE_ROLE_WINDOW: GtkAccessibleRole = 77;
206#[cfg(feature = "v4_10")]
207#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
208pub const GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON: GtkAccessibleRole = 78;
209#[cfg(feature = "v4_12")]
210#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
211pub const GTK_ACCESSIBLE_ROLE_APPLICATION: GtkAccessibleRole = 79;
212#[cfg(feature = "v4_14")]
213#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
214pub const GTK_ACCESSIBLE_ROLE_PARAGRAPH: GtkAccessibleRole = 80;
215#[cfg(feature = "v4_14")]
216#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
217pub const GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE: GtkAccessibleRole = 81;
218#[cfg(feature = "v4_14")]
219#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
220pub const GTK_ACCESSIBLE_ROLE_ARTICLE: GtkAccessibleRole = 82;
221#[cfg(feature = "v4_14")]
222#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
223pub const GTK_ACCESSIBLE_ROLE_COMMENT: GtkAccessibleRole = 83;
224#[cfg(feature = "v4_14")]
225#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
226pub const GTK_ACCESSIBLE_ROLE_TERMINAL: GtkAccessibleRole = 84;
227
228pub type GtkAccessibleSort = c_int;
229pub const GTK_ACCESSIBLE_SORT_NONE: GtkAccessibleSort = 0;
230pub const GTK_ACCESSIBLE_SORT_ASCENDING: GtkAccessibleSort = 1;
231pub const GTK_ACCESSIBLE_SORT_DESCENDING: GtkAccessibleSort = 2;
232pub const GTK_ACCESSIBLE_SORT_OTHER: GtkAccessibleSort = 3;
233
234pub type GtkAccessibleState = c_int;
235pub const GTK_ACCESSIBLE_STATE_BUSY: GtkAccessibleState = 0;
236pub const GTK_ACCESSIBLE_STATE_CHECKED: GtkAccessibleState = 1;
237pub const GTK_ACCESSIBLE_STATE_DISABLED: GtkAccessibleState = 2;
238pub const GTK_ACCESSIBLE_STATE_EXPANDED: GtkAccessibleState = 3;
239pub const GTK_ACCESSIBLE_STATE_HIDDEN: GtkAccessibleState = 4;
240pub const GTK_ACCESSIBLE_STATE_INVALID: GtkAccessibleState = 5;
241pub const GTK_ACCESSIBLE_STATE_PRESSED: GtkAccessibleState = 6;
242pub const GTK_ACCESSIBLE_STATE_SELECTED: GtkAccessibleState = 7;
243#[cfg(feature = "v4_12")]
244#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
245pub const GTK_ACCESSIBLE_STATE_VISITED: GtkAccessibleState = 8;
246
247pub type GtkAccessibleTextContentChange = c_int;
248pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT: GtkAccessibleTextContentChange = 0;
249pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE: GtkAccessibleTextContentChange = 1;
250
251pub type GtkAccessibleTextGranularity = c_int;
252pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER: GtkAccessibleTextGranularity = 0;
253pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD: GtkAccessibleTextGranularity = 1;
254pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE: GtkAccessibleTextGranularity = 2;
255pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE: GtkAccessibleTextGranularity = 3;
256pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH: GtkAccessibleTextGranularity = 4;
257
258pub type GtkAccessibleTristate = c_int;
259pub const GTK_ACCESSIBLE_TRISTATE_FALSE: GtkAccessibleTristate = 0;
260pub const GTK_ACCESSIBLE_TRISTATE_TRUE: GtkAccessibleTristate = 1;
261pub const GTK_ACCESSIBLE_TRISTATE_MIXED: GtkAccessibleTristate = 2;
262
263pub type GtkAlign = c_int;
264pub const GTK_ALIGN_FILL: GtkAlign = 0;
265pub const GTK_ALIGN_START: GtkAlign = 1;
266pub const GTK_ALIGN_END: GtkAlign = 2;
267pub const GTK_ALIGN_CENTER: GtkAlign = 3;
268#[cfg(feature = "v4_12")]
269#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
270pub const GTK_ALIGN_BASELINE_FILL: GtkAlign = 4;
271pub const GTK_ALIGN_BASELINE: GtkAlign = 4;
272#[cfg(feature = "v4_12")]
273#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
274pub const GTK_ALIGN_BASELINE_CENTER: GtkAlign = 5;
275
276pub type GtkArrowType = c_int;
277pub const GTK_ARROW_UP: GtkArrowType = 0;
278pub const GTK_ARROW_DOWN: GtkArrowType = 1;
279pub const GTK_ARROW_LEFT: GtkArrowType = 2;
280pub const GTK_ARROW_RIGHT: GtkArrowType = 3;
281pub const GTK_ARROW_NONE: GtkArrowType = 4;
282
283pub type GtkAssistantPageType = c_int;
284pub const GTK_ASSISTANT_PAGE_CONTENT: GtkAssistantPageType = 0;
285pub const GTK_ASSISTANT_PAGE_INTRO: GtkAssistantPageType = 1;
286pub const GTK_ASSISTANT_PAGE_CONFIRM: GtkAssistantPageType = 2;
287pub const GTK_ASSISTANT_PAGE_SUMMARY: GtkAssistantPageType = 3;
288pub const GTK_ASSISTANT_PAGE_PROGRESS: GtkAssistantPageType = 4;
289pub const GTK_ASSISTANT_PAGE_CUSTOM: GtkAssistantPageType = 5;
290
291pub type GtkBaselinePosition = c_int;
292pub const GTK_BASELINE_POSITION_TOP: GtkBaselinePosition = 0;
293pub const GTK_BASELINE_POSITION_CENTER: GtkBaselinePosition = 1;
294pub const GTK_BASELINE_POSITION_BOTTOM: GtkBaselinePosition = 2;
295
296pub type GtkBorderStyle = c_int;
297pub const GTK_BORDER_STYLE_NONE: GtkBorderStyle = 0;
298pub const GTK_BORDER_STYLE_HIDDEN: GtkBorderStyle = 1;
299pub const GTK_BORDER_STYLE_SOLID: GtkBorderStyle = 2;
300pub const GTK_BORDER_STYLE_INSET: GtkBorderStyle = 3;
301pub const GTK_BORDER_STYLE_OUTSET: GtkBorderStyle = 4;
302pub const GTK_BORDER_STYLE_DOTTED: GtkBorderStyle = 5;
303pub const GTK_BORDER_STYLE_DASHED: GtkBorderStyle = 6;
304pub const GTK_BORDER_STYLE_DOUBLE: GtkBorderStyle = 7;
305pub const GTK_BORDER_STYLE_GROOVE: GtkBorderStyle = 8;
306pub const GTK_BORDER_STYLE_RIDGE: GtkBorderStyle = 9;
307
308pub type GtkBuilderError = c_int;
309pub const GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION: GtkBuilderError = 0;
310pub const GTK_BUILDER_ERROR_UNHANDLED_TAG: GtkBuilderError = 1;
311pub const GTK_BUILDER_ERROR_MISSING_ATTRIBUTE: GtkBuilderError = 2;
312pub const GTK_BUILDER_ERROR_INVALID_ATTRIBUTE: GtkBuilderError = 3;
313pub const GTK_BUILDER_ERROR_INVALID_TAG: GtkBuilderError = 4;
314pub const GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE: GtkBuilderError = 5;
315pub const GTK_BUILDER_ERROR_INVALID_VALUE: GtkBuilderError = 6;
316pub const GTK_BUILDER_ERROR_VERSION_MISMATCH: GtkBuilderError = 7;
317pub const GTK_BUILDER_ERROR_DUPLICATE_ID: GtkBuilderError = 8;
318pub const GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED: GtkBuilderError = 9;
319pub const GTK_BUILDER_ERROR_TEMPLATE_MISMATCH: GtkBuilderError = 10;
320pub const GTK_BUILDER_ERROR_INVALID_PROPERTY: GtkBuilderError = 11;
321pub const GTK_BUILDER_ERROR_INVALID_SIGNAL: GtkBuilderError = 12;
322pub const GTK_BUILDER_ERROR_INVALID_ID: GtkBuilderError = 13;
323pub const GTK_BUILDER_ERROR_INVALID_FUNCTION: GtkBuilderError = 14;
324
325pub type GtkButtonsType = c_int;
326pub const GTK_BUTTONS_NONE: GtkButtonsType = 0;
327pub const GTK_BUTTONS_OK: GtkButtonsType = 1;
328pub const GTK_BUTTONS_CLOSE: GtkButtonsType = 2;
329pub const GTK_BUTTONS_CANCEL: GtkButtonsType = 3;
330pub const GTK_BUTTONS_YES_NO: GtkButtonsType = 4;
331pub const GTK_BUTTONS_OK_CANCEL: GtkButtonsType = 5;
332
333pub type GtkCellRendererAccelMode = c_int;
334pub const GTK_CELL_RENDERER_ACCEL_MODE_GTK: GtkCellRendererAccelMode = 0;
335pub const GTK_CELL_RENDERER_ACCEL_MODE_OTHER: GtkCellRendererAccelMode = 1;
336
337pub type GtkCellRendererMode = c_int;
338pub const GTK_CELL_RENDERER_MODE_INERT: GtkCellRendererMode = 0;
339pub const GTK_CELL_RENDERER_MODE_ACTIVATABLE: GtkCellRendererMode = 1;
340pub const GTK_CELL_RENDERER_MODE_EDITABLE: GtkCellRendererMode = 2;
341
342pub type GtkCollation = c_int;
343pub const GTK_COLLATION_NONE: GtkCollation = 0;
344pub const GTK_COLLATION_UNICODE: GtkCollation = 1;
345pub const GTK_COLLATION_FILENAME: GtkCollation = 2;
346
347pub type GtkConstraintAttribute = c_int;
348pub const GTK_CONSTRAINT_ATTRIBUTE_NONE: GtkConstraintAttribute = 0;
349pub const GTK_CONSTRAINT_ATTRIBUTE_LEFT: GtkConstraintAttribute = 1;
350pub const GTK_CONSTRAINT_ATTRIBUTE_RIGHT: GtkConstraintAttribute = 2;
351pub const GTK_CONSTRAINT_ATTRIBUTE_TOP: GtkConstraintAttribute = 3;
352pub const GTK_CONSTRAINT_ATTRIBUTE_BOTTOM: GtkConstraintAttribute = 4;
353pub const GTK_CONSTRAINT_ATTRIBUTE_START: GtkConstraintAttribute = 5;
354pub const GTK_CONSTRAINT_ATTRIBUTE_END: GtkConstraintAttribute = 6;
355pub const GTK_CONSTRAINT_ATTRIBUTE_WIDTH: GtkConstraintAttribute = 7;
356pub const GTK_CONSTRAINT_ATTRIBUTE_HEIGHT: GtkConstraintAttribute = 8;
357pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_X: GtkConstraintAttribute = 9;
358pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y: GtkConstraintAttribute = 10;
359pub const GTK_CONSTRAINT_ATTRIBUTE_BASELINE: GtkConstraintAttribute = 11;
360
361pub type GtkConstraintRelation = c_int;
362pub const GTK_CONSTRAINT_RELATION_LE: GtkConstraintRelation = -1;
363pub const GTK_CONSTRAINT_RELATION_EQ: GtkConstraintRelation = 0;
364pub const GTK_CONSTRAINT_RELATION_GE: GtkConstraintRelation = 1;
365
366pub type GtkConstraintStrength = c_int;
367pub const GTK_CONSTRAINT_STRENGTH_REQUIRED: GtkConstraintStrength = 1001001000;
368pub const GTK_CONSTRAINT_STRENGTH_STRONG: GtkConstraintStrength = 1000000000;
369pub const GTK_CONSTRAINT_STRENGTH_MEDIUM: GtkConstraintStrength = 1000;
370pub const GTK_CONSTRAINT_STRENGTH_WEAK: GtkConstraintStrength = 1;
371
372pub type GtkConstraintVflParserError = c_int;
373pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL: GtkConstraintVflParserError = 0;
374pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE: GtkConstraintVflParserError = 1;
375pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW: GtkConstraintVflParserError = 2;
376pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC: GtkConstraintVflParserError = 3;
377pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY: GtkConstraintVflParserError = 4;
378pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION: GtkConstraintVflParserError = 5;
379
380pub type GtkContentFit = c_int;
381pub const GTK_CONTENT_FIT_FILL: GtkContentFit = 0;
382pub const GTK_CONTENT_FIT_CONTAIN: GtkContentFit = 1;
383pub const GTK_CONTENT_FIT_COVER: GtkContentFit = 2;
384pub const GTK_CONTENT_FIT_SCALE_DOWN: GtkContentFit = 3;
385
386pub type GtkCornerType = c_int;
387pub const GTK_CORNER_TOP_LEFT: GtkCornerType = 0;
388pub const GTK_CORNER_BOTTOM_LEFT: GtkCornerType = 1;
389pub const GTK_CORNER_TOP_RIGHT: GtkCornerType = 2;
390pub const GTK_CORNER_BOTTOM_RIGHT: GtkCornerType = 3;
391
392pub type GtkCssParserError = c_int;
393pub const GTK_CSS_PARSER_ERROR_FAILED: GtkCssParserError = 0;
394pub const GTK_CSS_PARSER_ERROR_SYNTAX: GtkCssParserError = 1;
395pub const GTK_CSS_PARSER_ERROR_IMPORT: GtkCssParserError = 2;
396pub const GTK_CSS_PARSER_ERROR_NAME: GtkCssParserError = 3;
397pub const GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE: GtkCssParserError = 4;
398
399pub type GtkCssParserWarning = c_int;
400pub const GTK_CSS_PARSER_WARNING_DEPRECATED: GtkCssParserWarning = 0;
401pub const GTK_CSS_PARSER_WARNING_SYNTAX: GtkCssParserWarning = 1;
402pub const GTK_CSS_PARSER_WARNING_UNIMPLEMENTED: GtkCssParserWarning = 2;
403
404pub type GtkDeleteType = c_int;
405pub const GTK_DELETE_CHARS: GtkDeleteType = 0;
406pub const GTK_DELETE_WORD_ENDS: GtkDeleteType = 1;
407pub const GTK_DELETE_WORDS: GtkDeleteType = 2;
408pub const GTK_DELETE_DISPLAY_LINES: GtkDeleteType = 3;
409pub const GTK_DELETE_DISPLAY_LINE_ENDS: GtkDeleteType = 4;
410pub const GTK_DELETE_PARAGRAPH_ENDS: GtkDeleteType = 5;
411pub const GTK_DELETE_PARAGRAPHS: GtkDeleteType = 6;
412pub const GTK_DELETE_WHITESPACE: GtkDeleteType = 7;
413
414pub type GtkDialogError = c_int;
415pub const GTK_DIALOG_ERROR_FAILED: GtkDialogError = 0;
416pub const GTK_DIALOG_ERROR_CANCELLED: GtkDialogError = 1;
417pub const GTK_DIALOG_ERROR_DISMISSED: GtkDialogError = 2;
418
419pub type GtkDirectionType = c_int;
420pub const GTK_DIR_TAB_FORWARD: GtkDirectionType = 0;
421pub const GTK_DIR_TAB_BACKWARD: GtkDirectionType = 1;
422pub const GTK_DIR_UP: GtkDirectionType = 2;
423pub const GTK_DIR_DOWN: GtkDirectionType = 3;
424pub const GTK_DIR_LEFT: GtkDirectionType = 4;
425pub const GTK_DIR_RIGHT: GtkDirectionType = 5;
426
427pub type GtkEditableProperties = c_int;
428pub const GTK_EDITABLE_PROP_TEXT: GtkEditableProperties = 0;
429pub const GTK_EDITABLE_PROP_CURSOR_POSITION: GtkEditableProperties = 1;
430pub const GTK_EDITABLE_PROP_SELECTION_BOUND: GtkEditableProperties = 2;
431pub const GTK_EDITABLE_PROP_EDITABLE: GtkEditableProperties = 3;
432pub const GTK_EDITABLE_PROP_WIDTH_CHARS: GtkEditableProperties = 4;
433pub const GTK_EDITABLE_PROP_MAX_WIDTH_CHARS: GtkEditableProperties = 5;
434pub const GTK_EDITABLE_PROP_XALIGN: GtkEditableProperties = 6;
435pub const GTK_EDITABLE_PROP_ENABLE_UNDO: GtkEditableProperties = 7;
436pub const GTK_EDITABLE_PROP_COMPLETE_TEXT: GtkEditableProperties = 8;
437pub const GTK_EDITABLE_NUM_PROPERTIES: GtkEditableProperties = 9;
438
439pub type GtkEntryIconPosition = c_int;
440pub const GTK_ENTRY_ICON_PRIMARY: GtkEntryIconPosition = 0;
441pub const GTK_ENTRY_ICON_SECONDARY: GtkEntryIconPosition = 1;
442
443pub type GtkEventSequenceState = c_int;
444pub const GTK_EVENT_SEQUENCE_NONE: GtkEventSequenceState = 0;
445pub const GTK_EVENT_SEQUENCE_CLAIMED: GtkEventSequenceState = 1;
446pub const GTK_EVENT_SEQUENCE_DENIED: GtkEventSequenceState = 2;
447
448pub type GtkFileChooserAction = c_int;
449pub const GTK_FILE_CHOOSER_ACTION_OPEN: GtkFileChooserAction = 0;
450pub const GTK_FILE_CHOOSER_ACTION_SAVE: GtkFileChooserAction = 1;
451pub const GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: GtkFileChooserAction = 2;
452
453pub type GtkFileChooserError = c_int;
454pub const GTK_FILE_CHOOSER_ERROR_NONEXISTENT: GtkFileChooserError = 0;
455pub const GTK_FILE_CHOOSER_ERROR_BAD_FILENAME: GtkFileChooserError = 1;
456pub const GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS: GtkFileChooserError = 2;
457pub const GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME: GtkFileChooserError = 3;
458
459pub type GtkFilterChange = c_int;
460pub const GTK_FILTER_CHANGE_DIFFERENT: GtkFilterChange = 0;
461pub const GTK_FILTER_CHANGE_LESS_STRICT: GtkFilterChange = 1;
462pub const GTK_FILTER_CHANGE_MORE_STRICT: GtkFilterChange = 2;
463#[cfg(feature = "v4_20")]
464#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
465pub const GTK_FILTER_CHANGE_DIFFERENT_REWATCH: GtkFilterChange = 3;
466#[cfg(feature = "v4_20")]
467#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
468pub const GTK_FILTER_CHANGE_LESS_STRICT_REWATCH: GtkFilterChange = 4;
469#[cfg(feature = "v4_20")]
470#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
471pub const GTK_FILTER_CHANGE_MORE_STRICT_REWATCH: GtkFilterChange = 5;
472
473pub type GtkFilterMatch = c_int;
474pub const GTK_FILTER_MATCH_SOME: GtkFilterMatch = 0;
475pub const GTK_FILTER_MATCH_NONE: GtkFilterMatch = 1;
476pub const GTK_FILTER_MATCH_ALL: GtkFilterMatch = 2;
477
478pub type GtkFontLevel = c_int;
479pub const GTK_FONT_LEVEL_FAMILY: GtkFontLevel = 0;
480pub const GTK_FONT_LEVEL_FACE: GtkFontLevel = 1;
481pub const GTK_FONT_LEVEL_FONT: GtkFontLevel = 2;
482pub const GTK_FONT_LEVEL_FEATURES: GtkFontLevel = 3;
483
484pub type GtkFontRendering = c_int;
485pub const GTK_FONT_RENDERING_AUTOMATIC: GtkFontRendering = 0;
486pub const GTK_FONT_RENDERING_MANUAL: GtkFontRendering = 1;
487
488pub type GtkGraphicsOffloadEnabled = c_int;
489pub const GTK_GRAPHICS_OFFLOAD_ENABLED: GtkGraphicsOffloadEnabled = 0;
490pub const GTK_GRAPHICS_OFFLOAD_DISABLED: GtkGraphicsOffloadEnabled = 1;
491
492pub type GtkIconSize = c_int;
493pub const GTK_ICON_SIZE_INHERIT: GtkIconSize = 0;
494pub const GTK_ICON_SIZE_NORMAL: GtkIconSize = 1;
495pub const GTK_ICON_SIZE_LARGE: GtkIconSize = 2;
496
497pub type GtkIconThemeError = c_int;
498pub const GTK_ICON_THEME_NOT_FOUND: GtkIconThemeError = 0;
499pub const GTK_ICON_THEME_FAILED: GtkIconThemeError = 1;
500
501pub type GtkIconViewDropPosition = c_int;
502pub const GTK_ICON_VIEW_NO_DROP: GtkIconViewDropPosition = 0;
503pub const GTK_ICON_VIEW_DROP_INTO: GtkIconViewDropPosition = 1;
504pub const GTK_ICON_VIEW_DROP_LEFT: GtkIconViewDropPosition = 2;
505pub const GTK_ICON_VIEW_DROP_RIGHT: GtkIconViewDropPosition = 3;
506pub const GTK_ICON_VIEW_DROP_ABOVE: GtkIconViewDropPosition = 4;
507pub const GTK_ICON_VIEW_DROP_BELOW: GtkIconViewDropPosition = 5;
508
509pub type GtkImageType = c_int;
510pub const GTK_IMAGE_EMPTY: GtkImageType = 0;
511pub const GTK_IMAGE_ICON_NAME: GtkImageType = 1;
512pub const GTK_IMAGE_GICON: GtkImageType = 2;
513pub const GTK_IMAGE_PAINTABLE: GtkImageType = 3;
514
515pub type GtkInputPurpose = c_int;
516pub const GTK_INPUT_PURPOSE_FREE_FORM: GtkInputPurpose = 0;
517pub const GTK_INPUT_PURPOSE_ALPHA: GtkInputPurpose = 1;
518pub const GTK_INPUT_PURPOSE_DIGITS: GtkInputPurpose = 2;
519pub const GTK_INPUT_PURPOSE_NUMBER: GtkInputPurpose = 3;
520pub const GTK_INPUT_PURPOSE_PHONE: GtkInputPurpose = 4;
521pub const GTK_INPUT_PURPOSE_URL: GtkInputPurpose = 5;
522pub const GTK_INPUT_PURPOSE_EMAIL: GtkInputPurpose = 6;
523pub const GTK_INPUT_PURPOSE_NAME: GtkInputPurpose = 7;
524pub const GTK_INPUT_PURPOSE_PASSWORD: GtkInputPurpose = 8;
525pub const GTK_INPUT_PURPOSE_PIN: GtkInputPurpose = 9;
526pub const GTK_INPUT_PURPOSE_TERMINAL: GtkInputPurpose = 10;
527
528pub type GtkInscriptionOverflow = c_int;
529pub const GTK_INSCRIPTION_OVERFLOW_CLIP: GtkInscriptionOverflow = 0;
530pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START: GtkInscriptionOverflow = 1;
531pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE: GtkInscriptionOverflow = 2;
532pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END: GtkInscriptionOverflow = 3;
533
534pub type GtkInterfaceColorScheme = c_int;
535pub const GTK_INTERFACE_COLOR_SCHEME_UNSUPPORTED: GtkInterfaceColorScheme = 0;
536pub const GTK_INTERFACE_COLOR_SCHEME_DEFAULT: GtkInterfaceColorScheme = 1;
537pub const GTK_INTERFACE_COLOR_SCHEME_DARK: GtkInterfaceColorScheme = 2;
538pub const GTK_INTERFACE_COLOR_SCHEME_LIGHT: GtkInterfaceColorScheme = 3;
539
540pub type GtkInterfaceContrast = c_int;
541pub const GTK_INTERFACE_CONTRAST_UNSUPPORTED: GtkInterfaceContrast = 0;
542pub const GTK_INTERFACE_CONTRAST_NO_PREFERENCE: GtkInterfaceContrast = 1;
543pub const GTK_INTERFACE_CONTRAST_MORE: GtkInterfaceContrast = 2;
544pub const GTK_INTERFACE_CONTRAST_LESS: GtkInterfaceContrast = 3;
545
546pub type GtkJustification = c_int;
547pub const GTK_JUSTIFY_LEFT: GtkJustification = 0;
548pub const GTK_JUSTIFY_RIGHT: GtkJustification = 1;
549pub const GTK_JUSTIFY_CENTER: GtkJustification = 2;
550pub const GTK_JUSTIFY_FILL: GtkJustification = 3;
551
552pub type GtkLevelBarMode = c_int;
553pub const GTK_LEVEL_BAR_MODE_CONTINUOUS: GtkLevelBarMode = 0;
554pub const GTK_LEVEL_BAR_MODE_DISCRETE: GtkLevelBarMode = 1;
555
556pub type GtkLicense = c_int;
557pub const GTK_LICENSE_UNKNOWN: GtkLicense = 0;
558pub const GTK_LICENSE_CUSTOM: GtkLicense = 1;
559pub const GTK_LICENSE_GPL_2_0: GtkLicense = 2;
560pub const GTK_LICENSE_GPL_3_0: GtkLicense = 3;
561pub const GTK_LICENSE_LGPL_2_1: GtkLicense = 4;
562pub const GTK_LICENSE_LGPL_3_0: GtkLicense = 5;
563pub const GTK_LICENSE_BSD: GtkLicense = 6;
564pub const GTK_LICENSE_MIT_X11: GtkLicense = 7;
565pub const GTK_LICENSE_ARTISTIC: GtkLicense = 8;
566pub const GTK_LICENSE_GPL_2_0_ONLY: GtkLicense = 9;
567pub const GTK_LICENSE_GPL_3_0_ONLY: GtkLicense = 10;
568pub const GTK_LICENSE_LGPL_2_1_ONLY: GtkLicense = 11;
569pub const GTK_LICENSE_LGPL_3_0_ONLY: GtkLicense = 12;
570pub const GTK_LICENSE_AGPL_3_0: GtkLicense = 13;
571pub const GTK_LICENSE_AGPL_3_0_ONLY: GtkLicense = 14;
572pub const GTK_LICENSE_BSD_3: GtkLicense = 15;
573pub const GTK_LICENSE_APACHE_2_0: GtkLicense = 16;
574pub const GTK_LICENSE_MPL_2_0: GtkLicense = 17;
575pub const GTK_LICENSE_0BSD: GtkLicense = 18;
576
577pub type GtkListTabBehavior = c_int;
578pub const GTK_LIST_TAB_ALL: GtkListTabBehavior = 0;
579pub const GTK_LIST_TAB_ITEM: GtkListTabBehavior = 1;
580pub const GTK_LIST_TAB_CELL: GtkListTabBehavior = 2;
581
582pub type GtkMessageType = c_int;
583pub const GTK_MESSAGE_INFO: GtkMessageType = 0;
584pub const GTK_MESSAGE_WARNING: GtkMessageType = 1;
585pub const GTK_MESSAGE_QUESTION: GtkMessageType = 2;
586pub const GTK_MESSAGE_ERROR: GtkMessageType = 3;
587pub const GTK_MESSAGE_OTHER: GtkMessageType = 4;
588
589pub type GtkMovementStep = c_int;
590pub const GTK_MOVEMENT_LOGICAL_POSITIONS: GtkMovementStep = 0;
591pub const GTK_MOVEMENT_VISUAL_POSITIONS: GtkMovementStep = 1;
592pub const GTK_MOVEMENT_WORDS: GtkMovementStep = 2;
593pub const GTK_MOVEMENT_DISPLAY_LINES: GtkMovementStep = 3;
594pub const GTK_MOVEMENT_DISPLAY_LINE_ENDS: GtkMovementStep = 4;
595pub const GTK_MOVEMENT_PARAGRAPHS: GtkMovementStep = 5;
596pub const GTK_MOVEMENT_PARAGRAPH_ENDS: GtkMovementStep = 6;
597pub const GTK_MOVEMENT_PAGES: GtkMovementStep = 7;
598pub const GTK_MOVEMENT_BUFFER_ENDS: GtkMovementStep = 8;
599pub const GTK_MOVEMENT_HORIZONTAL_PAGES: GtkMovementStep = 9;
600
601pub type GtkNaturalWrapMode = c_int;
602pub const GTK_NATURAL_WRAP_INHERIT: GtkNaturalWrapMode = 0;
603pub const GTK_NATURAL_WRAP_NONE: GtkNaturalWrapMode = 1;
604pub const GTK_NATURAL_WRAP_WORD: GtkNaturalWrapMode = 2;
605
606pub type GtkNotebookTab = c_int;
607pub const GTK_NOTEBOOK_TAB_FIRST: GtkNotebookTab = 0;
608pub const GTK_NOTEBOOK_TAB_LAST: GtkNotebookTab = 1;
609
610pub type GtkNumberUpLayout = c_int;
611pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM: GtkNumberUpLayout = 0;
612pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP: GtkNumberUpLayout = 1;
613pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM: GtkNumberUpLayout = 2;
614pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP: GtkNumberUpLayout = 3;
615pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT: GtkNumberUpLayout = 4;
616pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT: GtkNumberUpLayout = 5;
617pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT: GtkNumberUpLayout = 6;
618pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT: GtkNumberUpLayout = 7;
619
620pub type GtkOrdering = c_int;
621pub const GTK_ORDERING_SMALLER: GtkOrdering = -1;
622pub const GTK_ORDERING_EQUAL: GtkOrdering = 0;
623pub const GTK_ORDERING_LARGER: GtkOrdering = 1;
624
625pub type GtkOrientation = c_int;
626pub const GTK_ORIENTATION_HORIZONTAL: GtkOrientation = 0;
627pub const GTK_ORIENTATION_VERTICAL: GtkOrientation = 1;
628
629pub type GtkOverflow = c_int;
630pub const GTK_OVERFLOW_VISIBLE: GtkOverflow = 0;
631pub const GTK_OVERFLOW_HIDDEN: GtkOverflow = 1;
632
633pub type GtkPackType = c_int;
634pub const GTK_PACK_START: GtkPackType = 0;
635pub const GTK_PACK_END: GtkPackType = 1;
636
637pub type GtkPadActionType = c_int;
638pub const GTK_PAD_ACTION_BUTTON: GtkPadActionType = 0;
639pub const GTK_PAD_ACTION_RING: GtkPadActionType = 1;
640pub const GTK_PAD_ACTION_STRIP: GtkPadActionType = 2;
641pub const GTK_PAD_ACTION_DIAL: GtkPadActionType = 3;
642
643pub type GtkPageOrientation = c_int;
644pub const GTK_PAGE_ORIENTATION_PORTRAIT: GtkPageOrientation = 0;
645pub const GTK_PAGE_ORIENTATION_LANDSCAPE: GtkPageOrientation = 1;
646pub const GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: GtkPageOrientation = 2;
647pub const GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: GtkPageOrientation = 3;
648
649pub type GtkPageSet = c_int;
650pub const GTK_PAGE_SET_ALL: GtkPageSet = 0;
651pub const GTK_PAGE_SET_EVEN: GtkPageSet = 1;
652pub const GTK_PAGE_SET_ODD: GtkPageSet = 2;
653
654pub type GtkPanDirection = c_int;
655pub const GTK_PAN_DIRECTION_LEFT: GtkPanDirection = 0;
656pub const GTK_PAN_DIRECTION_RIGHT: GtkPanDirection = 1;
657pub const GTK_PAN_DIRECTION_UP: GtkPanDirection = 2;
658pub const GTK_PAN_DIRECTION_DOWN: GtkPanDirection = 3;
659
660pub type GtkPolicyType = c_int;
661pub const GTK_POLICY_ALWAYS: GtkPolicyType = 0;
662pub const GTK_POLICY_AUTOMATIC: GtkPolicyType = 1;
663pub const GTK_POLICY_NEVER: GtkPolicyType = 2;
664pub const GTK_POLICY_EXTERNAL: GtkPolicyType = 3;
665
666pub type GtkPositionType = c_int;
667pub const GTK_POS_LEFT: GtkPositionType = 0;
668pub const GTK_POS_RIGHT: GtkPositionType = 1;
669pub const GTK_POS_TOP: GtkPositionType = 2;
670pub const GTK_POS_BOTTOM: GtkPositionType = 3;
671
672pub type GtkPrintDuplex = c_int;
673pub const GTK_PRINT_DUPLEX_SIMPLEX: GtkPrintDuplex = 0;
674pub const GTK_PRINT_DUPLEX_HORIZONTAL: GtkPrintDuplex = 1;
675pub const GTK_PRINT_DUPLEX_VERTICAL: GtkPrintDuplex = 2;
676
677pub type GtkPrintError = c_int;
678pub const GTK_PRINT_ERROR_GENERAL: GtkPrintError = 0;
679pub const GTK_PRINT_ERROR_INTERNAL_ERROR: GtkPrintError = 1;
680pub const GTK_PRINT_ERROR_NOMEM: GtkPrintError = 2;
681pub const GTK_PRINT_ERROR_INVALID_FILE: GtkPrintError = 3;
682
683pub type GtkPrintOperationAction = c_int;
684pub const GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: GtkPrintOperationAction = 0;
685pub const GTK_PRINT_OPERATION_ACTION_PRINT: GtkPrintOperationAction = 1;
686pub const GTK_PRINT_OPERATION_ACTION_PREVIEW: GtkPrintOperationAction = 2;
687pub const GTK_PRINT_OPERATION_ACTION_EXPORT: GtkPrintOperationAction = 3;
688
689pub type GtkPrintOperationResult = c_int;
690pub const GTK_PRINT_OPERATION_RESULT_ERROR: GtkPrintOperationResult = 0;
691pub const GTK_PRINT_OPERATION_RESULT_APPLY: GtkPrintOperationResult = 1;
692pub const GTK_PRINT_OPERATION_RESULT_CANCEL: GtkPrintOperationResult = 2;
693pub const GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: GtkPrintOperationResult = 3;
694
695pub type GtkPrintPages = c_int;
696pub const GTK_PRINT_PAGES_ALL: GtkPrintPages = 0;
697pub const GTK_PRINT_PAGES_CURRENT: GtkPrintPages = 1;
698pub const GTK_PRINT_PAGES_RANGES: GtkPrintPages = 2;
699pub const GTK_PRINT_PAGES_SELECTION: GtkPrintPages = 3;
700
701pub type GtkPrintQuality = c_int;
702pub const GTK_PRINT_QUALITY_LOW: GtkPrintQuality = 0;
703pub const GTK_PRINT_QUALITY_NORMAL: GtkPrintQuality = 1;
704pub const GTK_PRINT_QUALITY_HIGH: GtkPrintQuality = 2;
705pub const GTK_PRINT_QUALITY_DRAFT: GtkPrintQuality = 3;
706
707pub type GtkPrintStatus = c_int;
708pub const GTK_PRINT_STATUS_INITIAL: GtkPrintStatus = 0;
709pub const GTK_PRINT_STATUS_PREPARING: GtkPrintStatus = 1;
710pub const GTK_PRINT_STATUS_GENERATING_DATA: GtkPrintStatus = 2;
711pub const GTK_PRINT_STATUS_SENDING_DATA: GtkPrintStatus = 3;
712pub const GTK_PRINT_STATUS_PENDING: GtkPrintStatus = 4;
713pub const GTK_PRINT_STATUS_PENDING_ISSUE: GtkPrintStatus = 5;
714pub const GTK_PRINT_STATUS_PRINTING: GtkPrintStatus = 6;
715pub const GTK_PRINT_STATUS_FINISHED: GtkPrintStatus = 7;
716pub const GTK_PRINT_STATUS_FINISHED_ABORTED: GtkPrintStatus = 8;
717
718pub type GtkPropagationLimit = c_int;
719pub const GTK_LIMIT_NONE: GtkPropagationLimit = 0;
720pub const GTK_LIMIT_SAME_NATIVE: GtkPropagationLimit = 1;
721
722pub type GtkPropagationPhase = c_int;
723pub const GTK_PHASE_NONE: GtkPropagationPhase = 0;
724pub const GTK_PHASE_CAPTURE: GtkPropagationPhase = 1;
725pub const GTK_PHASE_BUBBLE: GtkPropagationPhase = 2;
726pub const GTK_PHASE_TARGET: GtkPropagationPhase = 3;
727
728pub type GtkRecentManagerError = c_int;
729pub const GTK_RECENT_MANAGER_ERROR_NOT_FOUND: GtkRecentManagerError = 0;
730pub const GTK_RECENT_MANAGER_ERROR_INVALID_URI: GtkRecentManagerError = 1;
731pub const GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: GtkRecentManagerError = 2;
732pub const GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: GtkRecentManagerError = 3;
733pub const GTK_RECENT_MANAGER_ERROR_READ: GtkRecentManagerError = 4;
734pub const GTK_RECENT_MANAGER_ERROR_WRITE: GtkRecentManagerError = 5;
735pub const GTK_RECENT_MANAGER_ERROR_UNKNOWN: GtkRecentManagerError = 6;
736
737pub type GtkReducedMotion = c_int;
738pub const GTK_REDUCED_MOTION_NO_PREFERENCE: GtkReducedMotion = 0;
739pub const GTK_REDUCED_MOTION_REDUCE: GtkReducedMotion = 1;
740
741pub type GtkResponseType = c_int;
742pub const GTK_RESPONSE_NONE: GtkResponseType = -1;
743pub const GTK_RESPONSE_REJECT: GtkResponseType = -2;
744pub const GTK_RESPONSE_ACCEPT: GtkResponseType = -3;
745pub const GTK_RESPONSE_DELETE_EVENT: GtkResponseType = -4;
746pub const GTK_RESPONSE_OK: GtkResponseType = -5;
747pub const GTK_RESPONSE_CANCEL: GtkResponseType = -6;
748pub const GTK_RESPONSE_CLOSE: GtkResponseType = -7;
749pub const GTK_RESPONSE_YES: GtkResponseType = -8;
750pub const GTK_RESPONSE_NO: GtkResponseType = -9;
751pub const GTK_RESPONSE_APPLY: GtkResponseType = -10;
752pub const GTK_RESPONSE_HELP: GtkResponseType = -11;
753
754pub type GtkRestoreReason = c_int;
755pub const GTK_RESTORE_REASON_PRISTINE: GtkRestoreReason = 0;
756pub const GTK_RESTORE_REASON_LAUNCH: GtkRestoreReason = 1;
757pub const GTK_RESTORE_REASON_RECOVER: GtkRestoreReason = 2;
758pub const GTK_RESTORE_REASON_RESTORE: GtkRestoreReason = 3;
759
760pub type GtkRevealerTransitionType = c_int;
761pub const GTK_REVEALER_TRANSITION_TYPE_NONE: GtkRevealerTransitionType = 0;
762pub const GTK_REVEALER_TRANSITION_TYPE_CROSSFADE: GtkRevealerTransitionType = 1;
763pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT: GtkRevealerTransitionType = 2;
764pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT: GtkRevealerTransitionType = 3;
765pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP: GtkRevealerTransitionType = 4;
766pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN: GtkRevealerTransitionType = 5;
767pub const GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT: GtkRevealerTransitionType = 6;
768pub const GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT: GtkRevealerTransitionType = 7;
769pub const GTK_REVEALER_TRANSITION_TYPE_SWING_UP: GtkRevealerTransitionType = 8;
770pub const GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN: GtkRevealerTransitionType = 9;
771#[cfg(feature = "v4_22")]
772#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
773pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_RIGHT: GtkRevealerTransitionType = 10;
774#[cfg(feature = "v4_22")]
775#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
776pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_LEFT: GtkRevealerTransitionType = 11;
777#[cfg(feature = "v4_22")]
778#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
779pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_UP: GtkRevealerTransitionType = 12;
780#[cfg(feature = "v4_22")]
781#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
782pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_DOWN: GtkRevealerTransitionType = 13;
783
784pub type GtkScrollStep = c_int;
785pub const GTK_SCROLL_STEPS: GtkScrollStep = 0;
786pub const GTK_SCROLL_PAGES: GtkScrollStep = 1;
787pub const GTK_SCROLL_ENDS: GtkScrollStep = 2;
788pub const GTK_SCROLL_HORIZONTAL_STEPS: GtkScrollStep = 3;
789pub const GTK_SCROLL_HORIZONTAL_PAGES: GtkScrollStep = 4;
790pub const GTK_SCROLL_HORIZONTAL_ENDS: GtkScrollStep = 5;
791
792pub type GtkScrollType = c_int;
793pub const GTK_SCROLL_NONE: GtkScrollType = 0;
794pub const GTK_SCROLL_JUMP: GtkScrollType = 1;
795pub const GTK_SCROLL_STEP_BACKWARD: GtkScrollType = 2;
796pub const GTK_SCROLL_STEP_FORWARD: GtkScrollType = 3;
797pub const GTK_SCROLL_PAGE_BACKWARD: GtkScrollType = 4;
798pub const GTK_SCROLL_PAGE_FORWARD: GtkScrollType = 5;
799pub const GTK_SCROLL_STEP_UP: GtkScrollType = 6;
800pub const GTK_SCROLL_STEP_DOWN: GtkScrollType = 7;
801pub const GTK_SCROLL_PAGE_UP: GtkScrollType = 8;
802pub const GTK_SCROLL_PAGE_DOWN: GtkScrollType = 9;
803pub const GTK_SCROLL_STEP_LEFT: GtkScrollType = 10;
804pub const GTK_SCROLL_STEP_RIGHT: GtkScrollType = 11;
805pub const GTK_SCROLL_PAGE_LEFT: GtkScrollType = 12;
806pub const GTK_SCROLL_PAGE_RIGHT: GtkScrollType = 13;
807pub const GTK_SCROLL_START: GtkScrollType = 14;
808pub const GTK_SCROLL_END: GtkScrollType = 15;
809
810pub type GtkScrollablePolicy = c_int;
811pub const GTK_SCROLL_MINIMUM: GtkScrollablePolicy = 0;
812pub const GTK_SCROLL_NATURAL: GtkScrollablePolicy = 1;
813
814pub type GtkSelectionMode = c_int;
815pub const GTK_SELECTION_NONE: GtkSelectionMode = 0;
816pub const GTK_SELECTION_SINGLE: GtkSelectionMode = 1;
817pub const GTK_SELECTION_BROWSE: GtkSelectionMode = 2;
818pub const GTK_SELECTION_MULTIPLE: GtkSelectionMode = 3;
819
820pub type GtkSensitivityType = c_int;
821pub const GTK_SENSITIVITY_AUTO: GtkSensitivityType = 0;
822pub const GTK_SENSITIVITY_ON: GtkSensitivityType = 1;
823pub const GTK_SENSITIVITY_OFF: GtkSensitivityType = 2;
824
825pub type GtkShortcutScope = c_int;
826pub const GTK_SHORTCUT_SCOPE_LOCAL: GtkShortcutScope = 0;
827pub const GTK_SHORTCUT_SCOPE_MANAGED: GtkShortcutScope = 1;
828pub const GTK_SHORTCUT_SCOPE_GLOBAL: GtkShortcutScope = 2;
829
830pub type GtkShortcutType = c_int;
831pub const GTK_SHORTCUT_ACCELERATOR: GtkShortcutType = 0;
832pub const GTK_SHORTCUT_GESTURE_PINCH: GtkShortcutType = 1;
833pub const GTK_SHORTCUT_GESTURE_STRETCH: GtkShortcutType = 2;
834pub const GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE: GtkShortcutType = 3;
835pub const GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE: GtkShortcutType = 4;
836pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT: GtkShortcutType = 5;
837pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT: GtkShortcutType = 6;
838pub const GTK_SHORTCUT_GESTURE: GtkShortcutType = 7;
839pub const GTK_SHORTCUT_GESTURE_SWIPE_LEFT: GtkShortcutType = 8;
840pub const GTK_SHORTCUT_GESTURE_SWIPE_RIGHT: GtkShortcutType = 9;
841
842pub type GtkSizeGroupMode = c_int;
843pub const GTK_SIZE_GROUP_NONE: GtkSizeGroupMode = 0;
844pub const GTK_SIZE_GROUP_HORIZONTAL: GtkSizeGroupMode = 1;
845pub const GTK_SIZE_GROUP_VERTICAL: GtkSizeGroupMode = 2;
846pub const GTK_SIZE_GROUP_BOTH: GtkSizeGroupMode = 3;
847
848pub type GtkSizeRequestMode = c_int;
849pub const GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: GtkSizeRequestMode = 0;
850pub const GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: GtkSizeRequestMode = 1;
851pub const GTK_SIZE_REQUEST_CONSTANT_SIZE: GtkSizeRequestMode = 2;
852
853pub type GtkSortType = c_int;
854pub const GTK_SORT_ASCENDING: GtkSortType = 0;
855pub const GTK_SORT_DESCENDING: GtkSortType = 1;
856
857pub type GtkSorterChange = c_int;
858pub const GTK_SORTER_CHANGE_DIFFERENT: GtkSorterChange = 0;
859pub const GTK_SORTER_CHANGE_INVERTED: GtkSorterChange = 1;
860pub const GTK_SORTER_CHANGE_LESS_STRICT: GtkSorterChange = 2;
861pub const GTK_SORTER_CHANGE_MORE_STRICT: GtkSorterChange = 3;
862
863pub type GtkSorterOrder = c_int;
864pub const GTK_SORTER_ORDER_PARTIAL: GtkSorterOrder = 0;
865pub const GTK_SORTER_ORDER_NONE: GtkSorterOrder = 1;
866pub const GTK_SORTER_ORDER_TOTAL: GtkSorterOrder = 2;
867
868pub type GtkSpinButtonUpdatePolicy = c_int;
869pub const GTK_UPDATE_ALWAYS: GtkSpinButtonUpdatePolicy = 0;
870pub const GTK_UPDATE_IF_VALID: GtkSpinButtonUpdatePolicy = 1;
871
872pub type GtkSpinType = c_int;
873pub const GTK_SPIN_STEP_FORWARD: GtkSpinType = 0;
874pub const GTK_SPIN_STEP_BACKWARD: GtkSpinType = 1;
875pub const GTK_SPIN_PAGE_FORWARD: GtkSpinType = 2;
876pub const GTK_SPIN_PAGE_BACKWARD: GtkSpinType = 3;
877pub const GTK_SPIN_HOME: GtkSpinType = 4;
878pub const GTK_SPIN_END: GtkSpinType = 5;
879pub const GTK_SPIN_USER_DEFINED: GtkSpinType = 6;
880
881pub type GtkStackTransitionType = c_int;
882pub const GTK_STACK_TRANSITION_TYPE_NONE: GtkStackTransitionType = 0;
883pub const GTK_STACK_TRANSITION_TYPE_CROSSFADE: GtkStackTransitionType = 1;
884pub const GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT: GtkStackTransitionType = 2;
885pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT: GtkStackTransitionType = 3;
886pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP: GtkStackTransitionType = 4;
887pub const GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: GtkStackTransitionType = 5;
888pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: GtkStackTransitionType = 6;
889pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: GtkStackTransitionType = 7;
890pub const GTK_STACK_TRANSITION_TYPE_OVER_UP: GtkStackTransitionType = 8;
891pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN: GtkStackTransitionType = 9;
892pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT: GtkStackTransitionType = 10;
893pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: GtkStackTransitionType = 11;
894pub const GTK_STACK_TRANSITION_TYPE_UNDER_UP: GtkStackTransitionType = 12;
895pub const GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: GtkStackTransitionType = 13;
896pub const GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: GtkStackTransitionType = 14;
897pub const GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: GtkStackTransitionType = 15;
898pub const GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: GtkStackTransitionType = 16;
899pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: GtkStackTransitionType = 17;
900pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: GtkStackTransitionType = 18;
901pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: GtkStackTransitionType = 19;
902pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT: GtkStackTransitionType = 20;
903pub const GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT: GtkStackTransitionType = 21;
904pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT: GtkStackTransitionType = 22;
905
906pub type GtkStringFilterMatchMode = c_int;
907pub const GTK_STRING_FILTER_MATCH_MODE_EXACT: GtkStringFilterMatchMode = 0;
908pub const GTK_STRING_FILTER_MATCH_MODE_SUBSTRING: GtkStringFilterMatchMode = 1;
909pub const GTK_STRING_FILTER_MATCH_MODE_PREFIX: GtkStringFilterMatchMode = 2;
910
911pub type GtkSvgError = c_int;
912pub const GTK_SVG_ERROR_INVALID_SYNTAX: GtkSvgError = 0;
913pub const GTK_SVG_ERROR_INVALID_ELEMENT: GtkSvgError = 1;
914pub const GTK_SVG_ERROR_INVALID_ATTRIBUTE: GtkSvgError = 2;
915pub const GTK_SVG_ERROR_MISSING_ATTRIBUTE: GtkSvgError = 3;
916pub const GTK_SVG_ERROR_INVALID_REFERENCE: GtkSvgError = 4;
917pub const GTK_SVG_ERROR_FAILED_UPDATE: GtkSvgError = 5;
918pub const GTK_SVG_ERROR_FAILED_RENDERING: GtkSvgError = 6;
919pub const GTK_SVG_ERROR_IGNORED_ELEMENT: GtkSvgError = 7;
920pub const GTK_SVG_ERROR_LIMITS_EXCEEDED: GtkSvgError = 8;
921pub const GTK_SVG_ERROR_NOT_IMPLEMENTED: GtkSvgError = 9;
922pub const GTK_SVG_ERROR_FEATURE_DISABLED: GtkSvgError = 10;
923
924pub type GtkSymbolicColor = c_int;
925pub const GTK_SYMBOLIC_COLOR_FOREGROUND: GtkSymbolicColor = 0;
926pub const GTK_SYMBOLIC_COLOR_ERROR: GtkSymbolicColor = 1;
927pub const GTK_SYMBOLIC_COLOR_WARNING: GtkSymbolicColor = 2;
928pub const GTK_SYMBOLIC_COLOR_SUCCESS: GtkSymbolicColor = 3;
929#[cfg(feature = "v4_22")]
930#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
931pub const GTK_SYMBOLIC_COLOR_ACCENT: GtkSymbolicColor = 4;
932
933pub type GtkSystemSetting = c_int;
934pub const GTK_SYSTEM_SETTING_DPI: GtkSystemSetting = 0;
935pub const GTK_SYSTEM_SETTING_FONT_NAME: GtkSystemSetting = 1;
936pub const GTK_SYSTEM_SETTING_FONT_CONFIG: GtkSystemSetting = 2;
937pub const GTK_SYSTEM_SETTING_DISPLAY: GtkSystemSetting = 3;
938pub const GTK_SYSTEM_SETTING_ICON_THEME: GtkSystemSetting = 4;
939
940pub type GtkTextDirection = c_int;
941pub const GTK_TEXT_DIR_NONE: GtkTextDirection = 0;
942pub const GTK_TEXT_DIR_LTR: GtkTextDirection = 1;
943pub const GTK_TEXT_DIR_RTL: GtkTextDirection = 2;
944
945pub type GtkTextExtendSelection = c_int;
946pub const GTK_TEXT_EXTEND_SELECTION_WORD: GtkTextExtendSelection = 0;
947pub const GTK_TEXT_EXTEND_SELECTION_LINE: GtkTextExtendSelection = 1;
948
949pub type GtkTextViewLayer = c_int;
950pub const GTK_TEXT_VIEW_LAYER_BELOW_TEXT: GtkTextViewLayer = 0;
951pub const GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: GtkTextViewLayer = 1;
952
953pub type GtkTextWindowType = c_int;
954pub const GTK_TEXT_WINDOW_WIDGET: GtkTextWindowType = 1;
955pub const GTK_TEXT_WINDOW_TEXT: GtkTextWindowType = 2;
956pub const GTK_TEXT_WINDOW_LEFT: GtkTextWindowType = 3;
957pub const GTK_TEXT_WINDOW_RIGHT: GtkTextWindowType = 4;
958pub const GTK_TEXT_WINDOW_TOP: GtkTextWindowType = 5;
959pub const GTK_TEXT_WINDOW_BOTTOM: GtkTextWindowType = 6;
960
961pub type GtkTreeViewColumnSizing = c_int;
962pub const GTK_TREE_VIEW_COLUMN_GROW_ONLY: GtkTreeViewColumnSizing = 0;
963pub const GTK_TREE_VIEW_COLUMN_AUTOSIZE: GtkTreeViewColumnSizing = 1;
964pub const GTK_TREE_VIEW_COLUMN_FIXED: GtkTreeViewColumnSizing = 2;
965
966pub type GtkTreeViewDropPosition = c_int;
967pub const GTK_TREE_VIEW_DROP_BEFORE: GtkTreeViewDropPosition = 0;
968pub const GTK_TREE_VIEW_DROP_AFTER: GtkTreeViewDropPosition = 1;
969pub const GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: GtkTreeViewDropPosition = 2;
970pub const GTK_TREE_VIEW_DROP_INTO_OR_AFTER: GtkTreeViewDropPosition = 3;
971
972pub type GtkTreeViewGridLines = c_int;
973pub const GTK_TREE_VIEW_GRID_LINES_NONE: GtkTreeViewGridLines = 0;
974pub const GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: GtkTreeViewGridLines = 1;
975pub const GTK_TREE_VIEW_GRID_LINES_VERTICAL: GtkTreeViewGridLines = 2;
976pub const GTK_TREE_VIEW_GRID_LINES_BOTH: GtkTreeViewGridLines = 3;
977
978pub type GtkUnit = c_int;
979pub const GTK_UNIT_NONE: GtkUnit = 0;
980pub const GTK_UNIT_POINTS: GtkUnit = 1;
981pub const GTK_UNIT_INCH: GtkUnit = 2;
982pub const GTK_UNIT_MM: GtkUnit = 3;
983
984pub type GtkWindowGravity = c_int;
985pub const GTK_WINDOW_GRAVITY_TOP_LEFT: GtkWindowGravity = 0;
986pub const GTK_WINDOW_GRAVITY_TOP: GtkWindowGravity = 1;
987pub const GTK_WINDOW_GRAVITY_TOP_RIGHT: GtkWindowGravity = 2;
988pub const GTK_WINDOW_GRAVITY_LEFT: GtkWindowGravity = 3;
989pub const GTK_WINDOW_GRAVITY_CENTER: GtkWindowGravity = 4;
990pub const GTK_WINDOW_GRAVITY_RIGHT: GtkWindowGravity = 5;
991pub const GTK_WINDOW_GRAVITY_BOTTOM_LEFT: GtkWindowGravity = 6;
992pub const GTK_WINDOW_GRAVITY_BOTTOM: GtkWindowGravity = 7;
993pub const GTK_WINDOW_GRAVITY_BOTTOM_RIGHT: GtkWindowGravity = 8;
994pub const GTK_WINDOW_GRAVITY_TOP_START: GtkWindowGravity = 9;
995pub const GTK_WINDOW_GRAVITY_TOP_END: GtkWindowGravity = 10;
996pub const GTK_WINDOW_GRAVITY_START: GtkWindowGravity = 11;
997pub const GTK_WINDOW_GRAVITY_END: GtkWindowGravity = 12;
998pub const GTK_WINDOW_GRAVITY_BOTTOM_START: GtkWindowGravity = 13;
999pub const GTK_WINDOW_GRAVITY_BOTTOM_END: GtkWindowGravity = 14;
1000
1001pub type GtkWrapMode = c_int;
1002pub const GTK_WRAP_NONE: GtkWrapMode = 0;
1003pub const GTK_WRAP_CHAR: GtkWrapMode = 1;
1004pub const GTK_WRAP_WORD: GtkWrapMode = 2;
1005pub const GTK_WRAP_WORD_CHAR: GtkWrapMode = 3;
1006
1007// Constants
1008pub const GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND: &[u8] = b"bg-color\0";
1009pub const GTK_ACCESSIBLE_ATTRIBUTE_FAMILY: &[u8] = b"family-name\0";
1010pub const GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND: &[u8] = b"fg-color\0";
1011pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE: &[u8] = b"overline\0";
1012pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE: &[u8] = b"none\0";
1013pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE: &[u8] = b"single\0";
1014pub const GTK_ACCESSIBLE_ATTRIBUTE_SIZE: &[u8] = b"size\0";
1015pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH: &[u8] = b"stretch\0";
1016pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED: &[u8] = b"condensed\0";
1017pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED: &[u8] = b"expanded\0";
1018pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED: &[u8] = b"extra_condensed\0";
1019pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED: &[u8] = b"extra_expanded\0";
1020pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL: &[u8] = b"normal\0";
1021pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED: &[u8] = b"semi_condensed\0";
1022pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED: &[u8] = b"semi_expanded\0";
1023pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED: &[u8] = b"ultra_condensed\0";
1024pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED: &[u8] = b"ultra_expanded\0";
1025pub const GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH: &[u8] = b"strikethrough\0";
1026pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE: &[u8] = b"style\0";
1027pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC: &[u8] = b"italic\0";
1028pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL: &[u8] = b"normal\0";
1029pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE: &[u8] = b"oblique\0";
1030pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE: &[u8] = b"underline\0";
1031pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE: &[u8] = b"double\0";
1032pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR: &[u8] = b"error\0";
1033pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE: &[u8] = b"none\0";
1034pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE: &[u8] = b"single\0";
1035pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT: &[u8] = b"variant\0";
1036pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS: &[u8] = b"all-petite-caps\0";
1037pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS: &[u8] = b"all-small-caps\0";
1038pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS: &[u8] = b"petite-caps\0";
1039pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS: &[u8] = b"small-caps\0";
1040pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS: &[u8] = b"title-caps\0";
1041pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE: &[u8] = b"unicase\0";
1042pub const GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT: &[u8] = b"weight\0";
1043pub const GTK_ACCESSIBLE_VALUE_UNDEFINED: c_int = -1;
1044pub const GTK_IM_MODULE_EXTENSION_POINT_NAME: &[u8] = b"gtk-im-module\0";
1045pub const GTK_INPUT_ERROR: c_int = -1;
1046pub const GTK_INVALID_LIST_POSITION: c_uint = 4294967295;
1047pub const GTK_LEVEL_BAR_OFFSET_FULL: &[u8] = b"full\0";
1048pub const GTK_LEVEL_BAR_OFFSET_HIGH: &[u8] = b"high\0";
1049pub const GTK_LEVEL_BAR_OFFSET_LOW: &[u8] = b"low\0";
1050pub const GTK_MAX_COMPOSE_LEN: c_int = 7;
1051pub const GTK_MEDIA_FILE_EXTENSION_POINT_NAME: &[u8] = b"gtk-media-file\0";
1052pub const GTK_PAPER_NAME_A3: &[u8] = b"iso_a3\0";
1053pub const GTK_PAPER_NAME_A4: &[u8] = b"iso_a4\0";
1054pub const GTK_PAPER_NAME_A5: &[u8] = b"iso_a5\0";
1055pub const GTK_PAPER_NAME_B5: &[u8] = b"iso_b5\0";
1056pub const GTK_PAPER_NAME_EXECUTIVE: &[u8] = b"na_executive\0";
1057pub const GTK_PAPER_NAME_LEGAL: &[u8] = b"na_legal\0";
1058pub const GTK_PAPER_NAME_LETTER: &[u8] = b"na_letter\0";
1059pub const GTK_PRINT_SETTINGS_COLLATE: &[u8] = b"collate\0";
1060pub const GTK_PRINT_SETTINGS_DEFAULT_SOURCE: &[u8] = b"default-source\0";
1061pub const GTK_PRINT_SETTINGS_DITHER: &[u8] = b"dither\0";
1062pub const GTK_PRINT_SETTINGS_DUPLEX: &[u8] = b"duplex\0";
1063pub const GTK_PRINT_SETTINGS_FINISHINGS: &[u8] = b"finishings\0";
1064pub const GTK_PRINT_SETTINGS_MEDIA_TYPE: &[u8] = b"media-type\0";
1065pub const GTK_PRINT_SETTINGS_NUMBER_UP: &[u8] = b"number-up\0";
1066pub const GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT: &[u8] = b"number-up-layout\0";
1067pub const GTK_PRINT_SETTINGS_N_COPIES: &[u8] = b"n-copies\0";
1068pub const GTK_PRINT_SETTINGS_ORIENTATION: &[u8] = b"orientation\0";
1069pub const GTK_PRINT_SETTINGS_OUTPUT_BASENAME: &[u8] = b"output-basename\0";
1070pub const GTK_PRINT_SETTINGS_OUTPUT_BIN: &[u8] = b"output-bin\0";
1071pub const GTK_PRINT_SETTINGS_OUTPUT_DIR: &[u8] = b"output-dir\0";
1072pub const GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT: &[u8] = b"output-file-format\0";
1073pub const GTK_PRINT_SETTINGS_OUTPUT_URI: &[u8] = b"output-uri\0";
1074pub const GTK_PRINT_SETTINGS_PAGE_RANGES: &[u8] = b"page-ranges\0";
1075pub const GTK_PRINT_SETTINGS_PAGE_SET: &[u8] = b"page-set\0";
1076pub const GTK_PRINT_SETTINGS_PAPER_FORMAT: &[u8] = b"paper-format\0";
1077pub const GTK_PRINT_SETTINGS_PAPER_HEIGHT: &[u8] = b"paper-height\0";
1078pub const GTK_PRINT_SETTINGS_PAPER_WIDTH: &[u8] = b"paper-width\0";
1079pub const GTK_PRINT_SETTINGS_PRINTER: &[u8] = b"printer\0";
1080pub const GTK_PRINT_SETTINGS_PRINTER_LPI: &[u8] = b"printer-lpi\0";
1081pub const GTK_PRINT_SETTINGS_PRINT_PAGES: &[u8] = b"print-pages\0";
1082pub const GTK_PRINT_SETTINGS_QUALITY: &[u8] = b"quality\0";
1083pub const GTK_PRINT_SETTINGS_RESOLUTION: &[u8] = b"resolution\0";
1084pub const GTK_PRINT_SETTINGS_RESOLUTION_X: &[u8] = b"resolution-x\0";
1085pub const GTK_PRINT_SETTINGS_RESOLUTION_Y: &[u8] = b"resolution-y\0";
1086pub const GTK_PRINT_SETTINGS_REVERSE: &[u8] = b"reverse\0";
1087pub const GTK_PRINT_SETTINGS_SCALE: &[u8] = b"scale\0";
1088pub const GTK_PRINT_SETTINGS_USE_COLOR: &[u8] = b"use-color\0";
1089pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA: &[u8] = b"win32-driver-extra\0";
1090pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION: &[u8] = b"win32-driver-version\0";
1091pub const GTK_PRIORITY_RESIZE: c_int = 110;
1092pub const GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: c_int = 600;
1093pub const GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: c_int = 1;
1094pub const GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: c_int = 400;
1095pub const GTK_STYLE_PROVIDER_PRIORITY_THEME: c_int = 200;
1096pub const GTK_STYLE_PROVIDER_PRIORITY_USER: c_int = 800;
1097pub const GTK_SVG_DEFAULT_FEATURES: c_int = 15;
1098pub const GTK_TEXT_VIEW_PRIORITY_VALIDATE: c_int = 125;
1099pub const GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: c_int = -1;
1100pub const GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: c_int = -2;
1101
1102// Flags
1103pub type GtkApplicationInhibitFlags = c_uint;
1104pub const GTK_APPLICATION_INHIBIT_LOGOUT: GtkApplicationInhibitFlags = 1;
1105pub const GTK_APPLICATION_INHIBIT_SWITCH: GtkApplicationInhibitFlags = 2;
1106pub const GTK_APPLICATION_INHIBIT_SUSPEND: GtkApplicationInhibitFlags = 4;
1107pub const GTK_APPLICATION_INHIBIT_IDLE: GtkApplicationInhibitFlags = 8;
1108
1109pub type GtkBuilderClosureFlags = c_uint;
1110pub const GTK_BUILDER_CLOSURE_SWAPPED: GtkBuilderClosureFlags = 1;
1111
1112pub type GtkCellRendererState = c_uint;
1113pub const GTK_CELL_RENDERER_SELECTED: GtkCellRendererState = 1;
1114pub const GTK_CELL_RENDERER_PRELIT: GtkCellRendererState = 2;
1115pub const GTK_CELL_RENDERER_INSENSITIVE: GtkCellRendererState = 4;
1116pub const GTK_CELL_RENDERER_SORTED: GtkCellRendererState = 8;
1117pub const GTK_CELL_RENDERER_FOCUSED: GtkCellRendererState = 16;
1118pub const GTK_CELL_RENDERER_EXPANDABLE: GtkCellRendererState = 32;
1119pub const GTK_CELL_RENDERER_EXPANDED: GtkCellRendererState = 64;
1120
1121pub type GtkDebugFlags = c_uint;
1122pub const GTK_DEBUG_TEXT: GtkDebugFlags = 1;
1123pub const GTK_DEBUG_TREE: GtkDebugFlags = 2;
1124pub const GTK_DEBUG_KEYBINDINGS: GtkDebugFlags = 4;
1125pub const GTK_DEBUG_MODULES: GtkDebugFlags = 8;
1126pub const GTK_DEBUG_GEOMETRY: GtkDebugFlags = 16;
1127pub const GTK_DEBUG_ICONTHEME: GtkDebugFlags = 32;
1128pub const GTK_DEBUG_PRINTING: GtkDebugFlags = 64;
1129pub const GTK_DEBUG_BUILDER_TRACE: GtkDebugFlags = 128;
1130pub const GTK_DEBUG_SIZE_REQUEST: GtkDebugFlags = 256;
1131pub const GTK_DEBUG_NO_CSS_CACHE: GtkDebugFlags = 512;
1132pub const GTK_DEBUG_INTERACTIVE: GtkDebugFlags = 1024;
1133#[cfg(feature = "v4_20")]
1134#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1135pub const GTK_DEBUG_TOUCHSCREEN: GtkDebugFlags = 2048;
1136pub const GTK_DEBUG_ACTIONS: GtkDebugFlags = 4096;
1137pub const GTK_DEBUG_LAYOUT: GtkDebugFlags = 8192;
1138pub const GTK_DEBUG_SNAPSHOT: GtkDebugFlags = 16384;
1139pub const GTK_DEBUG_CONSTRAINTS: GtkDebugFlags = 32768;
1140pub const GTK_DEBUG_BUILDER_OBJECTS: GtkDebugFlags = 65536;
1141pub const GTK_DEBUG_A11Y: GtkDebugFlags = 131072;
1142#[cfg(feature = "v4_2")]
1143#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
1144pub const GTK_DEBUG_ICONFALLBACK: GtkDebugFlags = 262144;
1145#[cfg(feature = "v4_8")]
1146#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
1147pub const GTK_DEBUG_INVERT_TEXT_DIR: GtkDebugFlags = 524288;
1148#[cfg(feature = "v4_16")]
1149#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
1150pub const GTK_DEBUG_CSS: GtkDebugFlags = 1048576;
1151#[cfg(feature = "v4_18")]
1152#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1153pub const GTK_DEBUG_BUILDER: GtkDebugFlags = 2097152;
1154#[cfg(feature = "v4_22")]
1155#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
1156pub const GTK_DEBUG_SESSION: GtkDebugFlags = 4194304;
1157#[cfg(feature = "v4_24")]
1158#[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
1159pub const GTK_DEBUG_GENERAL_INFO: GtkDebugFlags = 8388608;
1160
1161pub type GtkDialogFlags = c_uint;
1162pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1163pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1164pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1165
1166pub type GtkEventControllerScrollFlags = c_uint;
1167pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1168pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1169pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1170pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1171pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1172#[cfg(feature = "v4_20")]
1173#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1174pub const GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION: GtkEventControllerScrollFlags = 16;
1175pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1176
1177pub type GtkFontChooserLevel = c_uint;
1178pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1179pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1180pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1181pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1182pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1183
1184pub type GtkIconLookupFlags = c_uint;
1185#[cfg(feature = "v4_18")]
1186#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1187pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1188pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1189pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1190pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1191
1192pub type GtkInputHints = c_uint;
1193pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1194pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1195pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1196pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1197pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1198pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1199pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1200pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1201pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1202pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1203pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1204pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1205pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1206
1207pub type GtkListScrollFlags = c_uint;
1208pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1209pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1210pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1211
1212pub type GtkPickFlags = c_uint;
1213pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1214pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1215pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1216
1217pub type GtkPopoverMenuFlags = c_uint;
1218#[cfg(feature = "v4_14")]
1219#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1220pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1221pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1222
1223pub type GtkPrintCapabilities = c_uint;
1224pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1225pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1226pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1227pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1228pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1229pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1230pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1231pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1232pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1233pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1234
1235pub type GtkShortcutActionFlags = c_uint;
1236pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1237
1238pub type GtkStateFlags = c_uint;
1239pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1240pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1241pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1242pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1243pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1244pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1245pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1246pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1247pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1248pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1249pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1250pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1251pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1252pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1253pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1254pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1255
1256pub type GtkStyleContextPrintFlags = c_uint;
1257pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1258pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1259pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1260pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1261
1262pub type GtkSvgFeatures = c_uint;
1263pub const GTK_SVG_ANIMATIONS: GtkSvgFeatures = 1;
1264pub const GTK_SVG_SYSTEM_RESOURCES: GtkSvgFeatures = 2;
1265pub const GTK_SVG_EXTERNAL_RESOURCES: GtkSvgFeatures = 4;
1266pub const GTK_SVG_EXTENSIONS: GtkSvgFeatures = 8;
1267pub const GTK_SVG_TRADITIONAL_SYMBOLIC: GtkSvgFeatures = 16;
1268
1269pub type GtkTextBufferNotifyFlags = c_uint;
1270pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1271pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1272pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1273pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1274
1275pub type GtkTextSearchFlags = c_uint;
1276pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1277pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1278pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1279
1280pub type GtkTreeModelFlags = c_uint;
1281pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1282pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1283
1284// Callbacks
1285pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1286pub type GtkCellAllocCallback = Option<
1287    unsafe extern "C" fn(
1288        *mut GtkCellRenderer,
1289        *const gdk::GdkRectangle,
1290        *const gdk::GdkRectangle,
1291        gpointer,
1292    ) -> gboolean,
1293>;
1294pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1295pub type GtkCellLayoutDataFunc = Option<
1296    unsafe extern "C" fn(
1297        *mut GtkCellLayout,
1298        *mut GtkCellRenderer,
1299        *mut GtkTreeModel,
1300        *mut GtkTreeIter,
1301        gpointer,
1302    ),
1303>;
1304pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1305pub type GtkCustomFilterFunc =
1306    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1307pub type GtkCustomMeasureFunc = Option<
1308    unsafe extern "C" fn(
1309        *mut GtkWidget,
1310        GtkOrientation,
1311        c_int,
1312        *mut c_int,
1313        *mut c_int,
1314        *mut c_int,
1315        *mut c_int,
1316    ),
1317>;
1318pub type GtkCustomRequestModeFunc =
1319    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1320pub type GtkDrawingAreaDrawFunc =
1321    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1322pub type GtkEntryCompletionMatchFunc = Option<
1323    unsafe extern "C" fn(
1324        *mut GtkEntryCompletion,
1325        *const c_char,
1326        *mut GtkTreeIter,
1327        gpointer,
1328    ) -> gboolean,
1329>;
1330pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1331pub type GtkFlowBoxCreateWidgetFunc =
1332    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1333pub type GtkFlowBoxFilterFunc =
1334    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1335pub type GtkFlowBoxForeachFunc =
1336    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1337pub type GtkFlowBoxSortFunc =
1338    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1339pub type GtkFontFilterFunc = Option<
1340    unsafe extern "C" fn(
1341        *const pango::PangoFontFamily,
1342        *const pango::PangoFontFace,
1343        gpointer,
1344    ) -> gboolean,
1345>;
1346pub type GtkIconViewForeachFunc =
1347    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1348pub type GtkListBoxCreateWidgetFunc =
1349    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1350pub type GtkListBoxFilterFunc =
1351    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1352pub type GtkListBoxForeachFunc =
1353    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1354pub type GtkListBoxSortFunc =
1355    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1356pub type GtkListBoxUpdateHeaderFunc =
1357    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1358pub type GtkMapListModelMapFunc =
1359    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1360pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1361pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1362pub type GtkPrintJobCompleteFunc =
1363    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1364pub type GtkPrintSettingsFunc =
1365    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1366pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1367pub type GtkScaleFormatValueFunc =
1368    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1369pub type GtkShortcutFunc =
1370    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1371pub type GtkTextBufferCommitNotify = Option<
1372    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1373>;
1374pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1375pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1376pub type GtkTickCallback =
1377    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1378pub type GtkTreeCellDataFunc = Option<
1379    unsafe extern "C" fn(
1380        *mut GtkTreeViewColumn,
1381        *mut GtkCellRenderer,
1382        *mut GtkTreeModel,
1383        *mut GtkTreeIter,
1384        gpointer,
1385    ),
1386>;
1387pub type GtkTreeIterCompareFunc = Option<
1388    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1389>;
1390pub type GtkTreeListModelCreateModelFunc =
1391    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1392pub type GtkTreeModelFilterModifyFunc = Option<
1393    unsafe extern "C" fn(
1394        *mut GtkTreeModel,
1395        *mut GtkTreeIter,
1396        *mut gobject::GValue,
1397        c_int,
1398        gpointer,
1399    ),
1400>;
1401pub type GtkTreeModelFilterVisibleFunc =
1402    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1403pub type GtkTreeModelForeachFunc = Option<
1404    unsafe extern "C" fn(
1405        *mut GtkTreeModel,
1406        *mut GtkTreePath,
1407        *mut GtkTreeIter,
1408        gpointer,
1409    ) -> gboolean,
1410>;
1411pub type GtkTreeSelectionForeachFunc =
1412    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1413pub type GtkTreeSelectionFunc = Option<
1414    unsafe extern "C" fn(
1415        *mut GtkTreeSelection,
1416        *mut GtkTreeModel,
1417        *mut GtkTreePath,
1418        gboolean,
1419        gpointer,
1420    ) -> gboolean,
1421>;
1422pub type GtkTreeViewColumnDropFunc = Option<
1423    unsafe extern "C" fn(
1424        *mut GtkTreeView,
1425        *mut GtkTreeViewColumn,
1426        *mut GtkTreeViewColumn,
1427        *mut GtkTreeViewColumn,
1428        gpointer,
1429    ) -> gboolean,
1430>;
1431pub type GtkTreeViewMappingFunc =
1432    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1433pub type GtkTreeViewRowSeparatorFunc =
1434    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1435pub type GtkTreeViewSearchEqualFunc = Option<
1436    unsafe extern "C" fn(
1437        *mut GtkTreeModel,
1438        c_int,
1439        *const c_char,
1440        *mut GtkTreeIter,
1441        gpointer,
1442    ) -> gboolean,
1443>;
1444pub type GtkWidgetActionActivateFunc =
1445    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1446
1447// Records
1448#[repr(C)]
1449#[allow(dead_code)]
1450pub struct _GtkATContextClass {
1451    _data: [u8; 0],
1452    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1453}
1454
1455pub type GtkATContextClass = _GtkATContextClass;
1456
1457#[derive(Copy, Clone)]
1458#[repr(C)]
1459pub struct GtkAccessibleHyperlinkClass {
1460    pub parent_class: gobject::GObjectClass,
1461}
1462
1463impl ::std::fmt::Debug for GtkAccessibleHyperlinkClass {
1464    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1465        f.debug_struct(&format!("GtkAccessibleHyperlinkClass @ {self:p}"))
1466            .field("parent_class", &self.parent_class)
1467            .finish()
1468    }
1469}
1470
1471#[derive(Copy, Clone)]
1472#[repr(C)]
1473pub struct GtkAccessibleHypertextInterface {
1474    pub g_iface: gobject::GTypeInterface,
1475    pub get_n_links: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext) -> c_uint>,
1476    pub get_link: Option<
1477        unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> *mut GtkAccessibleHyperlink,
1478    >,
1479    pub get_link_at: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> c_uint>,
1480}
1481
1482impl ::std::fmt::Debug for GtkAccessibleHypertextInterface {
1483    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1484        f.debug_struct(&format!("GtkAccessibleHypertextInterface @ {self:p}"))
1485            .field("get_n_links", &self.get_n_links)
1486            .field("get_link", &self.get_link)
1487            .field("get_link_at", &self.get_link_at)
1488            .finish()
1489    }
1490}
1491
1492#[derive(Copy, Clone)]
1493#[repr(C)]
1494pub struct GtkAccessibleInterface {
1495    pub g_iface: gobject::GTypeInterface,
1496    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1497    pub get_platform_state:
1498        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1499    pub get_accessible_parent:
1500        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1501    pub get_first_accessible_child:
1502        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1503    pub get_next_accessible_sibling:
1504        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1505    pub get_bounds: Option<
1506        unsafe extern "C" fn(
1507            *mut GtkAccessible,
1508            *mut c_int,
1509            *mut c_int,
1510            *mut c_int,
1511            *mut c_int,
1512        ) -> gboolean,
1513    >,
1514    pub get_accessible_id: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut c_char>,
1515}
1516
1517impl ::std::fmt::Debug for GtkAccessibleInterface {
1518    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1519        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1520            .field("g_iface", &self.g_iface)
1521            .field("get_at_context", &self.get_at_context)
1522            .field("get_platform_state", &self.get_platform_state)
1523            .field("get_accessible_parent", &self.get_accessible_parent)
1524            .field(
1525                "get_first_accessible_child",
1526                &self.get_first_accessible_child,
1527            )
1528            .field(
1529                "get_next_accessible_sibling",
1530                &self.get_next_accessible_sibling,
1531            )
1532            .field("get_bounds", &self.get_bounds)
1533            .field("get_accessible_id", &self.get_accessible_id)
1534            .finish()
1535    }
1536}
1537
1538#[repr(C)]
1539#[allow(dead_code)]
1540pub struct GtkAccessibleList {
1541    _data: [u8; 0],
1542    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1543}
1544
1545impl ::std::fmt::Debug for GtkAccessibleList {
1546    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1547        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1548            .finish()
1549    }
1550}
1551
1552#[derive(Copy, Clone)]
1553#[repr(C)]
1554pub struct GtkAccessibleRangeInterface {
1555    pub g_iface: gobject::GTypeInterface,
1556    pub set_current_value:
1557        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1558}
1559
1560impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1562        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1563            .field("g_iface", &self.g_iface)
1564            .field("set_current_value", &self.set_current_value)
1565            .finish()
1566    }
1567}
1568
1569#[derive(Copy, Clone)]
1570#[repr(C)]
1571pub struct GtkAccessibleTextInterface {
1572    pub g_iface: gobject::GTypeInterface,
1573    pub get_contents:
1574        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1575    pub get_contents_at: Option<
1576        unsafe extern "C" fn(
1577            *mut GtkAccessibleText,
1578            c_uint,
1579            GtkAccessibleTextGranularity,
1580            *mut c_uint,
1581            *mut c_uint,
1582        ) -> *mut glib::GBytes,
1583    >,
1584    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1585    pub get_selection: Option<
1586        unsafe extern "C" fn(
1587            *mut GtkAccessibleText,
1588            *mut size_t,
1589            *mut *mut GtkAccessibleTextRange,
1590        ) -> gboolean,
1591    >,
1592    pub get_attributes: Option<
1593        unsafe extern "C" fn(
1594            *mut GtkAccessibleText,
1595            c_uint,
1596            *mut size_t,
1597            *mut *mut GtkAccessibleTextRange,
1598            *mut *mut *mut c_char,
1599            *mut *mut *mut c_char,
1600        ) -> gboolean,
1601    >,
1602    pub get_default_attributes: Option<
1603        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1604    >,
1605    pub get_extents: Option<
1606        unsafe extern "C" fn(
1607            *mut GtkAccessibleText,
1608            c_uint,
1609            c_uint,
1610            *mut graphene::graphene_rect_t,
1611        ) -> gboolean,
1612    >,
1613    pub get_offset: Option<
1614        unsafe extern "C" fn(
1615            *mut GtkAccessibleText,
1616            *const graphene::graphene_point_t,
1617            *mut c_uint,
1618        ) -> gboolean,
1619    >,
1620    pub set_caret_position:
1621        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint) -> gboolean>,
1622    pub set_selection: Option<
1623        unsafe extern "C" fn(
1624            *mut GtkAccessibleText,
1625            size_t,
1626            *mut GtkAccessibleTextRange,
1627        ) -> gboolean,
1628    >,
1629}
1630
1631impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1633        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1634            .field("get_contents", &self.get_contents)
1635            .field("get_contents_at", &self.get_contents_at)
1636            .field("get_caret_position", &self.get_caret_position)
1637            .field("get_selection", &self.get_selection)
1638            .field("get_attributes", &self.get_attributes)
1639            .field("get_default_attributes", &self.get_default_attributes)
1640            .field("get_extents", &self.get_extents)
1641            .field("get_offset", &self.get_offset)
1642            .field("set_caret_position", &self.set_caret_position)
1643            .field("set_selection", &self.set_selection)
1644            .finish()
1645    }
1646}
1647
1648#[derive(Copy, Clone)]
1649#[repr(C)]
1650pub struct GtkAccessibleTextRange {
1651    pub start: size_t,
1652    pub length: size_t,
1653}
1654
1655impl ::std::fmt::Debug for GtkAccessibleTextRange {
1656    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1657        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1658            .field("start", &self.start)
1659            .field("length", &self.length)
1660            .finish()
1661    }
1662}
1663
1664#[derive(Copy, Clone)]
1665#[repr(C)]
1666pub struct GtkActionableInterface {
1667    pub g_iface: gobject::GTypeInterface,
1668    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1669    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1670    pub get_action_target_value:
1671        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1672    pub set_action_target_value:
1673        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1674}
1675
1676impl ::std::fmt::Debug for GtkActionableInterface {
1677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1678        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1679            .field("get_action_name", &self.get_action_name)
1680            .field("set_action_name", &self.set_action_name)
1681            .field("get_action_target_value", &self.get_action_target_value)
1682            .field("set_action_target_value", &self.set_action_target_value)
1683            .finish()
1684    }
1685}
1686
1687#[repr(C)]
1688#[allow(dead_code)]
1689pub struct _GtkActivateActionClass {
1690    _data: [u8; 0],
1691    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1692}
1693
1694pub type GtkActivateActionClass = _GtkActivateActionClass;
1695
1696#[derive(Copy, Clone)]
1697#[repr(C)]
1698pub struct GtkAdjustmentClass {
1699    pub parent_class: gobject::GInitiallyUnownedClass,
1700    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1701    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1702    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1703    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1704    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1705    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1706}
1707
1708impl ::std::fmt::Debug for GtkAdjustmentClass {
1709    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1710        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1711            .field("parent_class", &self.parent_class)
1712            .field("changed", &self.changed)
1713            .field("value_changed", &self.value_changed)
1714            .field("_gtk_reserved1", &self._gtk_reserved1)
1715            .field("_gtk_reserved2", &self._gtk_reserved2)
1716            .field("_gtk_reserved3", &self._gtk_reserved3)
1717            .field("_gtk_reserved4", &self._gtk_reserved4)
1718            .finish()
1719    }
1720}
1721
1722#[derive(Copy, Clone)]
1723#[repr(C)]
1724pub struct GtkAlertDialogClass {
1725    pub parent_class: gobject::GObjectClass,
1726}
1727
1728impl ::std::fmt::Debug for GtkAlertDialogClass {
1729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1730        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1731            .field("parent_class", &self.parent_class)
1732            .finish()
1733    }
1734}
1735
1736#[repr(C)]
1737#[allow(dead_code)]
1738pub struct _GtkAlternativeTriggerClass {
1739    _data: [u8; 0],
1740    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1741}
1742
1743pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1744
1745#[repr(C)]
1746#[allow(dead_code)]
1747pub struct _GtkAnyFilterClass {
1748    _data: [u8; 0],
1749    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1750}
1751
1752pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1753
1754#[derive(Copy, Clone)]
1755#[repr(C)]
1756pub struct GtkApplicationClass {
1757    pub parent_class: gio::GApplicationClass,
1758    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1759    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1760    pub save_state:
1761        Option<unsafe extern "C" fn(*mut GtkApplication, *mut glib::GVariantDict) -> gboolean>,
1762    pub restore_state: Option<
1763        unsafe extern "C" fn(
1764            *mut GtkApplication,
1765            GtkRestoreReason,
1766            *mut glib::GVariant,
1767        ) -> gboolean,
1768    >,
1769    pub restore_window:
1770        Option<unsafe extern "C" fn(*mut GtkApplication, GtkRestoreReason, *mut glib::GVariant)>,
1771    pub padding: [gpointer; 5],
1772}
1773
1774impl ::std::fmt::Debug for GtkApplicationClass {
1775    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1776        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1777            .field("parent_class", &self.parent_class)
1778            .field("window_added", &self.window_added)
1779            .field("window_removed", &self.window_removed)
1780            .field("save_state", &self.save_state)
1781            .field("restore_state", &self.restore_state)
1782            .field("restore_window", &self.restore_window)
1783            .finish()
1784    }
1785}
1786
1787#[derive(Copy, Clone)]
1788#[repr(C)]
1789pub struct GtkApplicationWindowClass {
1790    pub parent_class: GtkWindowClass,
1791    pub save_state: Option<
1792        unsafe extern "C" fn(*mut GtkApplicationWindow, *mut glib::GVariantDict) -> gboolean,
1793    >,
1794    pub padding: [gpointer; 7],
1795}
1796
1797impl ::std::fmt::Debug for GtkApplicationWindowClass {
1798    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1799        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1800            .field("parent_class", &self.parent_class)
1801            .field("save_state", &self.save_state)
1802            .finish()
1803    }
1804}
1805
1806#[derive(Copy, Clone)]
1807#[repr(C)]
1808pub struct GtkBinLayoutClass {
1809    pub parent_class: GtkLayoutManagerClass,
1810}
1811
1812impl ::std::fmt::Debug for GtkBinLayoutClass {
1813    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1814        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1815            .field("parent_class", &self.parent_class)
1816            .finish()
1817    }
1818}
1819
1820#[repr(C)]
1821#[allow(dead_code)]
1822pub struct GtkBitset {
1823    _data: [u8; 0],
1824    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1825}
1826
1827impl ::std::fmt::Debug for GtkBitset {
1828    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1829        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1830    }
1831}
1832
1833#[derive(Copy, Clone)]
1834#[repr(C)]
1835pub struct GtkBitsetIter {
1836    pub private_data: [gpointer; 10],
1837}
1838
1839impl ::std::fmt::Debug for GtkBitsetIter {
1840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1841        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1842            .finish()
1843    }
1844}
1845
1846#[derive(Copy, Clone)]
1847#[repr(C)]
1848pub struct GtkBookmarkListClass {
1849    pub parent_class: gobject::GObjectClass,
1850}
1851
1852impl ::std::fmt::Debug for GtkBookmarkListClass {
1853    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1854        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1855            .field("parent_class", &self.parent_class)
1856            .finish()
1857    }
1858}
1859
1860#[derive(Copy, Clone)]
1861#[repr(C)]
1862pub struct GtkBoolFilterClass {
1863    pub parent_class: GtkFilterClass,
1864}
1865
1866impl ::std::fmt::Debug for GtkBoolFilterClass {
1867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1868        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1869            .field("parent_class", &self.parent_class)
1870            .finish()
1871    }
1872}
1873
1874#[derive(Copy, Clone)]
1875#[repr(C)]
1876pub struct GtkBorder {
1877    pub left: i16,
1878    pub right: i16,
1879    pub top: i16,
1880    pub bottom: i16,
1881}
1882
1883impl ::std::fmt::Debug for GtkBorder {
1884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1885        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1886            .field("left", &self.left)
1887            .field("right", &self.right)
1888            .field("top", &self.top)
1889            .field("bottom", &self.bottom)
1890            .finish()
1891    }
1892}
1893
1894#[derive(Copy, Clone)]
1895#[repr(C)]
1896pub struct GtkBoxClass {
1897    pub parent_class: GtkWidgetClass,
1898    pub padding: [gpointer; 8],
1899}
1900
1901impl ::std::fmt::Debug for GtkBoxClass {
1902    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1903        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1904            .field("parent_class", &self.parent_class)
1905            .finish()
1906    }
1907}
1908
1909#[derive(Copy, Clone)]
1910#[repr(C)]
1911pub struct GtkBoxLayoutClass {
1912    pub parent_class: GtkLayoutManagerClass,
1913}
1914
1915impl ::std::fmt::Debug for GtkBoxLayoutClass {
1916    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1917        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1918            .field("parent_class", &self.parent_class)
1919            .finish()
1920    }
1921}
1922
1923#[derive(Copy, Clone)]
1924#[repr(C)]
1925pub struct GtkBuildableIface {
1926    pub g_iface: gobject::GTypeInterface,
1927    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1928    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1929    pub add_child: Option<
1930        unsafe extern "C" fn(
1931            *mut GtkBuildable,
1932            *mut GtkBuilder,
1933            *mut gobject::GObject,
1934            *const c_char,
1935        ),
1936    >,
1937    pub set_buildable_property: Option<
1938        unsafe extern "C" fn(
1939            *mut GtkBuildable,
1940            *mut GtkBuilder,
1941            *const c_char,
1942            *const gobject::GValue,
1943        ),
1944    >,
1945    pub construct_child: Option<
1946        unsafe extern "C" fn(
1947            *mut GtkBuildable,
1948            *mut GtkBuilder,
1949            *const c_char,
1950        ) -> *mut gobject::GObject,
1951    >,
1952    pub custom_tag_start: Option<
1953        unsafe extern "C" fn(
1954            *mut GtkBuildable,
1955            *mut GtkBuilder,
1956            *mut gobject::GObject,
1957            *const c_char,
1958            *mut GtkBuildableParser,
1959            *mut gpointer,
1960        ) -> gboolean,
1961    >,
1962    pub custom_tag_end: Option<
1963        unsafe extern "C" fn(
1964            *mut GtkBuildable,
1965            *mut GtkBuilder,
1966            *mut gobject::GObject,
1967            *const c_char,
1968            gpointer,
1969        ),
1970    >,
1971    pub custom_finished: Option<
1972        unsafe extern "C" fn(
1973            *mut GtkBuildable,
1974            *mut GtkBuilder,
1975            *mut gobject::GObject,
1976            *const c_char,
1977            gpointer,
1978        ),
1979    >,
1980    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1981    pub get_internal_child: Option<
1982        unsafe extern "C" fn(
1983            *mut GtkBuildable,
1984            *mut GtkBuilder,
1985            *const c_char,
1986        ) -> *mut gobject::GObject,
1987    >,
1988}
1989
1990impl ::std::fmt::Debug for GtkBuildableIface {
1991    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1992        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1993            .field("g_iface", &self.g_iface)
1994            .field("set_id", &self.set_id)
1995            .field("get_id", &self.get_id)
1996            .field("add_child", &self.add_child)
1997            .field("set_buildable_property", &self.set_buildable_property)
1998            .field("construct_child", &self.construct_child)
1999            .field("custom_tag_start", &self.custom_tag_start)
2000            .field("custom_tag_end", &self.custom_tag_end)
2001            .field("custom_finished", &self.custom_finished)
2002            .field("parser_finished", &self.parser_finished)
2003            .field("get_internal_child", &self.get_internal_child)
2004            .finish()
2005    }
2006}
2007
2008#[repr(C)]
2009#[allow(dead_code)]
2010pub struct _GtkBuildableParseContext {
2011    _data: [u8; 0],
2012    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2013}
2014
2015pub type GtkBuildableParseContext = _GtkBuildableParseContext;
2016
2017#[derive(Copy, Clone)]
2018#[repr(C)]
2019pub struct GtkBuildableParser {
2020    pub start_element: Option<
2021        unsafe extern "C" fn(
2022            *mut GtkBuildableParseContext,
2023            *const c_char,
2024            *mut *const c_char,
2025            *mut *const c_char,
2026            gpointer,
2027            *mut *mut glib::GError,
2028        ),
2029    >,
2030    pub end_element: Option<
2031        unsafe extern "C" fn(
2032            *mut GtkBuildableParseContext,
2033            *const c_char,
2034            gpointer,
2035            *mut *mut glib::GError,
2036        ),
2037    >,
2038    pub text: Option<
2039        unsafe extern "C" fn(
2040            *mut GtkBuildableParseContext,
2041            *const c_char,
2042            size_t,
2043            gpointer,
2044            *mut *mut glib::GError,
2045        ),
2046    >,
2047    pub error:
2048        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
2049    pub padding: [gpointer; 4],
2050}
2051
2052impl ::std::fmt::Debug for GtkBuildableParser {
2053    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2054        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
2055            .field("start_element", &self.start_element)
2056            .field("end_element", &self.end_element)
2057            .field("text", &self.text)
2058            .field("error", &self.error)
2059            .finish()
2060    }
2061}
2062
2063#[derive(Copy, Clone)]
2064#[repr(C)]
2065pub struct GtkBuilderCScopeClass {
2066    pub parent_class: gobject::GObjectClass,
2067}
2068
2069impl ::std::fmt::Debug for GtkBuilderCScopeClass {
2070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2071        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
2072            .field("parent_class", &self.parent_class)
2073            .finish()
2074    }
2075}
2076
2077#[repr(C)]
2078#[allow(dead_code)]
2079pub struct _GtkBuilderClass {
2080    _data: [u8; 0],
2081    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2082}
2083
2084pub type GtkBuilderClass = _GtkBuilderClass;
2085
2086#[repr(C)]
2087#[allow(dead_code)]
2088pub struct _GtkBuilderListItemFactoryClass {
2089    _data: [u8; 0],
2090    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2091}
2092
2093pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
2094
2095#[derive(Copy, Clone)]
2096#[repr(C)]
2097pub struct GtkBuilderScopeInterface {
2098    pub g_iface: gobject::GTypeInterface,
2099    pub get_type_from_name:
2100        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2101    pub get_type_from_function:
2102        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2103    pub create_closure: Option<
2104        unsafe extern "C" fn(
2105            *mut GtkBuilderScope,
2106            *mut GtkBuilder,
2107            *const c_char,
2108            GtkBuilderClosureFlags,
2109            *mut gobject::GObject,
2110            *mut *mut glib::GError,
2111        ) -> *mut gobject::GClosure,
2112    >,
2113}
2114
2115impl ::std::fmt::Debug for GtkBuilderScopeInterface {
2116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2117        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
2118            .field("get_type_from_name", &self.get_type_from_name)
2119            .field("get_type_from_function", &self.get_type_from_function)
2120            .field("create_closure", &self.create_closure)
2121            .finish()
2122    }
2123}
2124
2125#[derive(Copy, Clone)]
2126#[repr(C)]
2127pub struct GtkButtonClass {
2128    pub parent_class: GtkWidgetClass,
2129    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2130    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2131    pub padding: [gpointer; 8],
2132}
2133
2134impl ::std::fmt::Debug for GtkButtonClass {
2135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2136        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2137            .field("parent_class", &self.parent_class)
2138            .field("clicked", &self.clicked)
2139            .field("activate", &self.activate)
2140            .finish()
2141    }
2142}
2143
2144#[repr(C)]
2145#[allow(dead_code)]
2146pub struct _GtkButtonPrivate {
2147    _data: [u8; 0],
2148    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2149}
2150
2151pub type GtkButtonPrivate = _GtkButtonPrivate;
2152
2153#[repr(C)]
2154#[allow(dead_code)]
2155pub struct _GtkCallbackActionClass {
2156    _data: [u8; 0],
2157    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2158}
2159
2160pub type GtkCallbackActionClass = _GtkCallbackActionClass;
2161
2162#[derive(Copy, Clone)]
2163#[repr(C)]
2164pub struct GtkCellAreaClass {
2165    pub parent_class: gobject::GInitiallyUnownedClass,
2166    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2167    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2168    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2169    pub foreach_alloc: Option<
2170        unsafe extern "C" fn(
2171            *mut GtkCellArea,
2172            *mut GtkCellAreaContext,
2173            *mut GtkWidget,
2174            *const gdk::GdkRectangle,
2175            *const gdk::GdkRectangle,
2176            GtkCellAllocCallback,
2177            gpointer,
2178        ),
2179    >,
2180    pub event: Option<
2181        unsafe extern "C" fn(
2182            *mut GtkCellArea,
2183            *mut GtkCellAreaContext,
2184            *mut GtkWidget,
2185            *mut gdk::GdkEvent,
2186            *const gdk::GdkRectangle,
2187            GtkCellRendererState,
2188        ) -> c_int,
2189    >,
2190    pub snapshot: Option<
2191        unsafe extern "C" fn(
2192            *mut GtkCellArea,
2193            *mut GtkCellAreaContext,
2194            *mut GtkWidget,
2195            *mut GtkSnapshot,
2196            *const gdk::GdkRectangle,
2197            *const gdk::GdkRectangle,
2198            GtkCellRendererState,
2199            gboolean,
2200        ),
2201    >,
2202    pub apply_attributes: Option<
2203        unsafe extern "C" fn(
2204            *mut GtkCellArea,
2205            *mut GtkTreeModel,
2206            *mut GtkTreeIter,
2207            gboolean,
2208            gboolean,
2209        ),
2210    >,
2211    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2212    pub copy_context: Option<
2213        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2214    >,
2215    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2216    pub get_preferred_width: Option<
2217        unsafe extern "C" fn(
2218            *mut GtkCellArea,
2219            *mut GtkCellAreaContext,
2220            *mut GtkWidget,
2221            *mut c_int,
2222            *mut c_int,
2223        ),
2224    >,
2225    pub get_preferred_height_for_width: Option<
2226        unsafe extern "C" fn(
2227            *mut GtkCellArea,
2228            *mut GtkCellAreaContext,
2229            *mut GtkWidget,
2230            c_int,
2231            *mut c_int,
2232            *mut c_int,
2233        ),
2234    >,
2235    pub get_preferred_height: Option<
2236        unsafe extern "C" fn(
2237            *mut GtkCellArea,
2238            *mut GtkCellAreaContext,
2239            *mut GtkWidget,
2240            *mut c_int,
2241            *mut c_int,
2242        ),
2243    >,
2244    pub get_preferred_width_for_height: Option<
2245        unsafe extern "C" fn(
2246            *mut GtkCellArea,
2247            *mut GtkCellAreaContext,
2248            *mut GtkWidget,
2249            c_int,
2250            *mut c_int,
2251            *mut c_int,
2252        ),
2253    >,
2254    pub set_cell_property: Option<
2255        unsafe extern "C" fn(
2256            *mut GtkCellArea,
2257            *mut GtkCellRenderer,
2258            c_uint,
2259            *mut gobject::GValue,
2260            *mut gobject::GParamSpec,
2261        ),
2262    >,
2263    pub get_cell_property: Option<
2264        unsafe extern "C" fn(
2265            *mut GtkCellArea,
2266            *mut GtkCellRenderer,
2267            c_uint,
2268            *mut gobject::GValue,
2269            *mut gobject::GParamSpec,
2270        ),
2271    >,
2272    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2273    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2274    pub activate: Option<
2275        unsafe extern "C" fn(
2276            *mut GtkCellArea,
2277            *mut GtkCellAreaContext,
2278            *mut GtkWidget,
2279            *const gdk::GdkRectangle,
2280            GtkCellRendererState,
2281            gboolean,
2282        ) -> gboolean,
2283    >,
2284    pub padding: [gpointer; 8],
2285}
2286
2287impl ::std::fmt::Debug for GtkCellAreaClass {
2288    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2289        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2290            .field("add", &self.add)
2291            .field("remove", &self.remove)
2292            .field("foreach", &self.foreach)
2293            .field("foreach_alloc", &self.foreach_alloc)
2294            .field("event", &self.event)
2295            .field("snapshot", &self.snapshot)
2296            .field("apply_attributes", &self.apply_attributes)
2297            .field("create_context", &self.create_context)
2298            .field("copy_context", &self.copy_context)
2299            .field("get_request_mode", &self.get_request_mode)
2300            .field("get_preferred_width", &self.get_preferred_width)
2301            .field(
2302                "get_preferred_height_for_width",
2303                &self.get_preferred_height_for_width,
2304            )
2305            .field("get_preferred_height", &self.get_preferred_height)
2306            .field(
2307                "get_preferred_width_for_height",
2308                &self.get_preferred_width_for_height,
2309            )
2310            .field("set_cell_property", &self.set_cell_property)
2311            .field("get_cell_property", &self.get_cell_property)
2312            .field("focus", &self.focus)
2313            .field("is_activatable", &self.is_activatable)
2314            .field("activate", &self.activate)
2315            .finish()
2316    }
2317}
2318
2319#[derive(Copy, Clone)]
2320#[repr(C)]
2321pub struct GtkCellAreaContextClass {
2322    pub parent_class: gobject::GObjectClass,
2323    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2324    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2325    pub get_preferred_height_for_width:
2326        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2327    pub get_preferred_width_for_height:
2328        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2329    pub padding: [gpointer; 8],
2330}
2331
2332impl ::std::fmt::Debug for GtkCellAreaContextClass {
2333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2334        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2335            .field("allocate", &self.allocate)
2336            .field("reset", &self.reset)
2337            .field(
2338                "get_preferred_height_for_width",
2339                &self.get_preferred_height_for_width,
2340            )
2341            .field(
2342                "get_preferred_width_for_height",
2343                &self.get_preferred_width_for_height,
2344            )
2345            .finish()
2346    }
2347}
2348
2349#[repr(C)]
2350#[allow(dead_code)]
2351pub struct _GtkCellAreaContextPrivate {
2352    _data: [u8; 0],
2353    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2354}
2355
2356pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2357
2358#[derive(Copy, Clone)]
2359#[repr(C)]
2360pub struct GtkCellEditableIface {
2361    pub g_iface: gobject::GTypeInterface,
2362    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2363    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2364    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2365}
2366
2367impl ::std::fmt::Debug for GtkCellEditableIface {
2368    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2369        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2370            .field("editing_done", &self.editing_done)
2371            .field("remove_widget", &self.remove_widget)
2372            .field("start_editing", &self.start_editing)
2373            .finish()
2374    }
2375}
2376
2377#[derive(Copy, Clone)]
2378#[repr(C)]
2379pub struct GtkCellLayoutIface {
2380    pub g_iface: gobject::GTypeInterface,
2381    pub pack_start:
2382        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2383    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2384    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2385    pub add_attribute: Option<
2386        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2387    >,
2388    pub set_cell_data_func: Option<
2389        unsafe extern "C" fn(
2390            *mut GtkCellLayout,
2391            *mut GtkCellRenderer,
2392            GtkCellLayoutDataFunc,
2393            gpointer,
2394            glib::GDestroyNotify,
2395        ),
2396    >,
2397    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2398    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2399    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2400    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2401}
2402
2403impl ::std::fmt::Debug for GtkCellLayoutIface {
2404    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2405        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2406            .field("pack_start", &self.pack_start)
2407            .field("pack_end", &self.pack_end)
2408            .field("clear", &self.clear)
2409            .field("add_attribute", &self.add_attribute)
2410            .field("set_cell_data_func", &self.set_cell_data_func)
2411            .field("clear_attributes", &self.clear_attributes)
2412            .field("reorder", &self.reorder)
2413            .field("get_cells", &self.get_cells)
2414            .field("get_area", &self.get_area)
2415            .finish()
2416    }
2417}
2418
2419#[derive(Copy, Clone)]
2420#[repr(C)]
2421pub struct GtkCellRendererClass {
2422    pub parent_class: gobject::GInitiallyUnownedClass,
2423    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2424    pub get_preferred_width:
2425        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2426    pub get_preferred_height_for_width: Option<
2427        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2428    >,
2429    pub get_preferred_height:
2430        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2431    pub get_preferred_width_for_height: Option<
2432        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2433    >,
2434    pub get_aligned_area: Option<
2435        unsafe extern "C" fn(
2436            *mut GtkCellRenderer,
2437            *mut GtkWidget,
2438            GtkCellRendererState,
2439            *const gdk::GdkRectangle,
2440            *mut gdk::GdkRectangle,
2441        ),
2442    >,
2443    pub snapshot: Option<
2444        unsafe extern "C" fn(
2445            *mut GtkCellRenderer,
2446            *mut GtkSnapshot,
2447            *mut GtkWidget,
2448            *const gdk::GdkRectangle,
2449            *const gdk::GdkRectangle,
2450            GtkCellRendererState,
2451        ),
2452    >,
2453    pub activate: Option<
2454        unsafe extern "C" fn(
2455            *mut GtkCellRenderer,
2456            *mut gdk::GdkEvent,
2457            *mut GtkWidget,
2458            *const c_char,
2459            *const gdk::GdkRectangle,
2460            *const gdk::GdkRectangle,
2461            GtkCellRendererState,
2462        ) -> gboolean,
2463    >,
2464    pub start_editing: Option<
2465        unsafe extern "C" fn(
2466            *mut GtkCellRenderer,
2467            *mut gdk::GdkEvent,
2468            *mut GtkWidget,
2469            *const c_char,
2470            *const gdk::GdkRectangle,
2471            *const gdk::GdkRectangle,
2472            GtkCellRendererState,
2473        ) -> *mut GtkCellEditable,
2474    >,
2475    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2476    pub editing_started:
2477        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2478    pub padding: [gpointer; 8],
2479}
2480
2481impl ::std::fmt::Debug for GtkCellRendererClass {
2482    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2483        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2484            .field("get_request_mode", &self.get_request_mode)
2485            .field("get_preferred_width", &self.get_preferred_width)
2486            .field(
2487                "get_preferred_height_for_width",
2488                &self.get_preferred_height_for_width,
2489            )
2490            .field("get_preferred_height", &self.get_preferred_height)
2491            .field(
2492                "get_preferred_width_for_height",
2493                &self.get_preferred_width_for_height,
2494            )
2495            .field("get_aligned_area", &self.get_aligned_area)
2496            .field("snapshot", &self.snapshot)
2497            .field("activate", &self.activate)
2498            .field("start_editing", &self.start_editing)
2499            .field("editing_canceled", &self.editing_canceled)
2500            .field("editing_started", &self.editing_started)
2501            .finish()
2502    }
2503}
2504
2505#[repr(C)]
2506#[allow(dead_code)]
2507pub struct _GtkCellRendererClassPrivate {
2508    _data: [u8; 0],
2509    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2510}
2511
2512pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2513
2514#[repr(C)]
2515#[allow(dead_code)]
2516pub struct _GtkCellRendererPrivate {
2517    _data: [u8; 0],
2518    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2519}
2520
2521pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2522
2523#[derive(Copy, Clone)]
2524#[repr(C)]
2525pub struct GtkCellRendererTextClass {
2526    pub parent_class: GtkCellRendererClass,
2527    pub edited:
2528        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2529    pub padding: [gpointer; 8],
2530}
2531
2532impl ::std::fmt::Debug for GtkCellRendererTextClass {
2533    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2534        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2535            .field("parent_class", &self.parent_class)
2536            .field("edited", &self.edited)
2537            .finish()
2538    }
2539}
2540
2541#[repr(C)]
2542#[allow(dead_code)]
2543pub struct _GtkCenterBoxClass {
2544    _data: [u8; 0],
2545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2546}
2547
2548pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2549
2550#[derive(Copy, Clone)]
2551#[repr(C)]
2552pub struct GtkCenterLayoutClass {
2553    pub parent_class: GtkLayoutManagerClass,
2554}
2555
2556impl ::std::fmt::Debug for GtkCenterLayoutClass {
2557    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2558        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2559            .field("parent_class", &self.parent_class)
2560            .finish()
2561    }
2562}
2563
2564#[derive(Copy, Clone)]
2565#[repr(C)]
2566pub struct GtkCheckButtonClass {
2567    pub parent_class: GtkWidgetClass,
2568    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2569    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2570    pub padding: [gpointer; 7],
2571}
2572
2573impl ::std::fmt::Debug for GtkCheckButtonClass {
2574    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2575        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2576            .field("parent_class", &self.parent_class)
2577            .field("toggled", &self.toggled)
2578            .field("activate", &self.activate)
2579            .finish()
2580    }
2581}
2582
2583#[derive(Copy, Clone)]
2584#[repr(C)]
2585pub struct GtkColorChooserInterface {
2586    pub base_interface: gobject::GTypeInterface,
2587    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2588    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2589    pub add_palette: Option<
2590        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2591    >,
2592    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2593    pub padding: [gpointer; 12],
2594}
2595
2596impl ::std::fmt::Debug for GtkColorChooserInterface {
2597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2598        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2599            .field("base_interface", &self.base_interface)
2600            .field("get_rgba", &self.get_rgba)
2601            .field("set_rgba", &self.set_rgba)
2602            .field("add_palette", &self.add_palette)
2603            .field("color_activated", &self.color_activated)
2604            .finish()
2605    }
2606}
2607
2608#[derive(Copy, Clone)]
2609#[repr(C)]
2610pub struct GtkColorDialogButtonClass {
2611    pub parent_class: GtkWidgetClass,
2612}
2613
2614impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2615    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2616        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2617            .field("parent_class", &self.parent_class)
2618            .finish()
2619    }
2620}
2621
2622#[derive(Copy, Clone)]
2623#[repr(C)]
2624pub struct GtkColorDialogClass {
2625    pub parent_class: gobject::GObjectClass,
2626}
2627
2628impl ::std::fmt::Debug for GtkColorDialogClass {
2629    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2630        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2631            .field("parent_class", &self.parent_class)
2632            .finish()
2633    }
2634}
2635
2636#[repr(C)]
2637#[allow(dead_code)]
2638pub struct _GtkColumnViewCellClass {
2639    _data: [u8; 0],
2640    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2641}
2642
2643pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2644
2645#[repr(C)]
2646#[allow(dead_code)]
2647pub struct _GtkColumnViewClass {
2648    _data: [u8; 0],
2649    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2650}
2651
2652pub type GtkColumnViewClass = _GtkColumnViewClass;
2653
2654#[repr(C)]
2655#[allow(dead_code)]
2656pub struct _GtkColumnViewColumnClass {
2657    _data: [u8; 0],
2658    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2659}
2660
2661pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2662
2663#[repr(C)]
2664#[allow(dead_code)]
2665pub struct _GtkColumnViewRowClass {
2666    _data: [u8; 0],
2667    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2668}
2669
2670pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2671
2672#[derive(Copy, Clone)]
2673#[repr(C)]
2674pub struct GtkColumnViewSorterClass {
2675    pub parent_class: GtkSorterClass,
2676}
2677
2678impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2679    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2680        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2681            .field("parent_class", &self.parent_class)
2682            .finish()
2683    }
2684}
2685
2686#[derive(Copy, Clone)]
2687#[repr(C)]
2688pub struct GtkComboBoxClass {
2689    pub parent_class: GtkWidgetClass,
2690    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2691    pub format_entry_text:
2692        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2693    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2694    pub padding: [gpointer; 7],
2695}
2696
2697impl ::std::fmt::Debug for GtkComboBoxClass {
2698    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2699        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2700            .field("parent_class", &self.parent_class)
2701            .field("changed", &self.changed)
2702            .field("format_entry_text", &self.format_entry_text)
2703            .field("activate", &self.activate)
2704            .finish()
2705    }
2706}
2707
2708#[derive(Copy, Clone)]
2709#[repr(C)]
2710pub struct GtkConstraintClass {
2711    pub parent_class: gobject::GObjectClass,
2712}
2713
2714impl ::std::fmt::Debug for GtkConstraintClass {
2715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2716        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2717            .field("parent_class", &self.parent_class)
2718            .finish()
2719    }
2720}
2721
2722#[derive(Copy, Clone)]
2723#[repr(C)]
2724pub struct GtkConstraintGuideClass {
2725    pub parent_class: gobject::GObjectClass,
2726}
2727
2728impl ::std::fmt::Debug for GtkConstraintGuideClass {
2729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2730        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2731            .field("parent_class", &self.parent_class)
2732            .finish()
2733    }
2734}
2735
2736#[derive(Copy, Clone)]
2737#[repr(C)]
2738pub struct GtkConstraintLayoutChildClass {
2739    pub parent_class: GtkLayoutChildClass,
2740}
2741
2742impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2744        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2745            .field("parent_class", &self.parent_class)
2746            .finish()
2747    }
2748}
2749
2750#[derive(Copy, Clone)]
2751#[repr(C)]
2752pub struct GtkConstraintLayoutClass {
2753    pub parent_class: GtkLayoutManagerClass,
2754}
2755
2756impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2757    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2758        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2759            .field("parent_class", &self.parent_class)
2760            .finish()
2761    }
2762}
2763
2764#[repr(C)]
2765#[allow(dead_code)]
2766pub struct _GtkConstraintTargetInterface {
2767    _data: [u8; 0],
2768    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2769}
2770
2771pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2772
2773#[derive(Copy, Clone)]
2774#[repr(C)]
2775pub struct GtkCssLocation {
2776    pub bytes: size_t,
2777    pub chars: size_t,
2778    pub lines: size_t,
2779    pub line_bytes: size_t,
2780    pub line_chars: size_t,
2781}
2782
2783impl ::std::fmt::Debug for GtkCssLocation {
2784    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2785        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2786            .field("bytes", &self.bytes)
2787            .field("chars", &self.chars)
2788            .field("lines", &self.lines)
2789            .field("line_bytes", &self.line_bytes)
2790            .field("line_chars", &self.line_chars)
2791            .finish()
2792    }
2793}
2794
2795#[repr(C)]
2796#[allow(dead_code)]
2797pub struct _GtkCssProviderClass {
2798    _data: [u8; 0],
2799    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2800}
2801
2802pub type GtkCssProviderClass = _GtkCssProviderClass;
2803
2804#[repr(C)]
2805#[allow(dead_code)]
2806pub struct _GtkCssProviderPrivate {
2807    _data: [u8; 0],
2808    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2809}
2810
2811pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2812
2813#[repr(C)]
2814#[allow(dead_code)]
2815pub struct GtkCssSection {
2816    _data: [u8; 0],
2817    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2818}
2819
2820impl ::std::fmt::Debug for GtkCssSection {
2821    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2822        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2823            .finish()
2824    }
2825}
2826
2827#[repr(C)]
2828#[allow(dead_code)]
2829pub struct _GtkCssStyleChange {
2830    _data: [u8; 0],
2831    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2832}
2833
2834pub type GtkCssStyleChange = _GtkCssStyleChange;
2835
2836#[derive(Copy, Clone)]
2837#[repr(C)]
2838pub struct GtkCustomFilterClass {
2839    pub parent_class: GtkFilterClass,
2840}
2841
2842impl ::std::fmt::Debug for GtkCustomFilterClass {
2843    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2844        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2845            .field("parent_class", &self.parent_class)
2846            .finish()
2847    }
2848}
2849
2850#[derive(Copy, Clone)]
2851#[repr(C)]
2852pub struct GtkCustomLayoutClass {
2853    pub parent_class: GtkLayoutManagerClass,
2854}
2855
2856impl ::std::fmt::Debug for GtkCustomLayoutClass {
2857    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2858        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2859            .field("parent_class", &self.parent_class)
2860            .finish()
2861    }
2862}
2863
2864#[derive(Copy, Clone)]
2865#[repr(C)]
2866pub struct GtkCustomSorterClass {
2867    pub parent_class: GtkSorterClass,
2868}
2869
2870impl ::std::fmt::Debug for GtkCustomSorterClass {
2871    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2872        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2873            .field("parent_class", &self.parent_class)
2874            .finish()
2875    }
2876}
2877
2878#[derive(Copy, Clone)]
2879#[repr(C)]
2880pub struct GtkDialogClass {
2881    pub parent_class: GtkWindowClass,
2882    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2883    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2884    pub padding: [gpointer; 8],
2885}
2886
2887impl ::std::fmt::Debug for GtkDialogClass {
2888    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2889        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2890            .field("parent_class", &self.parent_class)
2891            .field("response", &self.response)
2892            .field("close", &self.close)
2893            .finish()
2894    }
2895}
2896
2897#[derive(Copy, Clone)]
2898#[repr(C)]
2899pub struct GtkDirectoryListClass {
2900    pub parent_class: gobject::GObjectClass,
2901}
2902
2903impl ::std::fmt::Debug for GtkDirectoryListClass {
2904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2905        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2906            .field("parent_class", &self.parent_class)
2907            .finish()
2908    }
2909}
2910
2911#[derive(Copy, Clone)]
2912#[repr(C)]
2913pub struct GtkDragIconClass {
2914    pub parent_class: GtkWidgetClass,
2915}
2916
2917impl ::std::fmt::Debug for GtkDragIconClass {
2918    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2919        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2920            .field("parent_class", &self.parent_class)
2921            .finish()
2922    }
2923}
2924
2925#[repr(C)]
2926#[allow(dead_code)]
2927pub struct _GtkDragSourceClass {
2928    _data: [u8; 0],
2929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2930}
2931
2932pub type GtkDragSourceClass = _GtkDragSourceClass;
2933
2934#[derive(Copy, Clone)]
2935#[repr(C)]
2936pub struct GtkDrawingAreaClass {
2937    pub parent_class: GtkWidgetClass,
2938    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2939    pub padding: [gpointer; 8],
2940}
2941
2942impl ::std::fmt::Debug for GtkDrawingAreaClass {
2943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2944        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2945            .field("parent_class", &self.parent_class)
2946            .field("resize", &self.resize)
2947            .finish()
2948    }
2949}
2950
2951#[repr(C)]
2952#[allow(dead_code)]
2953pub struct _GtkDropControllerMotionClass {
2954    _data: [u8; 0],
2955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2956}
2957
2958pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2959
2960#[derive(Copy, Clone)]
2961#[repr(C)]
2962pub struct GtkDropDownClass {
2963    pub parent_class: GtkWidgetClass,
2964}
2965
2966impl ::std::fmt::Debug for GtkDropDownClass {
2967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2968        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2969            .field("parent_class", &self.parent_class)
2970            .finish()
2971    }
2972}
2973
2974#[repr(C)]
2975#[allow(dead_code)]
2976pub struct _GtkDropTargetAsyncClass {
2977    _data: [u8; 0],
2978    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2979}
2980
2981pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2982
2983#[repr(C)]
2984#[allow(dead_code)]
2985pub struct _GtkDropTargetClass {
2986    _data: [u8; 0],
2987    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2988}
2989
2990pub type GtkDropTargetClass = _GtkDropTargetClass;
2991
2992#[derive(Copy, Clone)]
2993#[repr(C)]
2994pub struct GtkEditableInterface {
2995    pub base_iface: gobject::GTypeInterface,
2996    pub insert_text:
2997        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2998    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2999    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
3000    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
3001    pub do_insert_text:
3002        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
3003    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3004    pub get_selection_bounds:
3005        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
3006    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3007    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
3008    pub get_complete_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
3009}
3010
3011impl ::std::fmt::Debug for GtkEditableInterface {
3012    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3013        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
3014            .field("base_iface", &self.base_iface)
3015            .field("insert_text", &self.insert_text)
3016            .field("delete_text", &self.delete_text)
3017            .field("changed", &self.changed)
3018            .field("get_text", &self.get_text)
3019            .field("do_insert_text", &self.do_insert_text)
3020            .field("do_delete_text", &self.do_delete_text)
3021            .field("get_selection_bounds", &self.get_selection_bounds)
3022            .field("set_selection_bounds", &self.set_selection_bounds)
3023            .field("get_delegate", &self.get_delegate)
3024            .field("get_complete_text", &self.get_complete_text)
3025            .finish()
3026    }
3027}
3028
3029#[derive(Copy, Clone)]
3030#[repr(C)]
3031pub struct GtkEditableLabelClass {
3032    pub parent_class: GtkWidgetClass,
3033}
3034
3035impl ::std::fmt::Debug for GtkEditableLabelClass {
3036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3037        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
3038            .field("parent_class", &self.parent_class)
3039            .finish()
3040    }
3041}
3042
3043#[repr(C)]
3044#[allow(dead_code)]
3045pub struct _GtkEmojiChooserClass {
3046    _data: [u8; 0],
3047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3048}
3049
3050pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
3051
3052#[derive(Copy, Clone)]
3053#[repr(C)]
3054pub struct GtkEntryBufferClass {
3055    pub parent_class: gobject::GObjectClass,
3056    pub inserted_text:
3057        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
3058    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
3059    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
3060    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
3061    pub insert_text:
3062        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
3063    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
3064    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3065    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3066    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3067    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3068    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3069    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3070    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3071    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3072}
3073
3074impl ::std::fmt::Debug for GtkEntryBufferClass {
3075    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3076        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
3077            .field("parent_class", &self.parent_class)
3078            .field("inserted_text", &self.inserted_text)
3079            .field("deleted_text", &self.deleted_text)
3080            .field("get_text", &self.get_text)
3081            .field("get_length", &self.get_length)
3082            .field("insert_text", &self.insert_text)
3083            .field("delete_text", &self.delete_text)
3084            .field("_gtk_reserved1", &self._gtk_reserved1)
3085            .field("_gtk_reserved2", &self._gtk_reserved2)
3086            .field("_gtk_reserved3", &self._gtk_reserved3)
3087            .field("_gtk_reserved4", &self._gtk_reserved4)
3088            .field("_gtk_reserved5", &self._gtk_reserved5)
3089            .field("_gtk_reserved6", &self._gtk_reserved6)
3090            .field("_gtk_reserved7", &self._gtk_reserved7)
3091            .field("_gtk_reserved8", &self._gtk_reserved8)
3092            .finish()
3093    }
3094}
3095
3096#[derive(Copy, Clone)]
3097#[repr(C)]
3098pub struct GtkEntryClass {
3099    pub parent_class: GtkWidgetClass,
3100    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
3101    pub padding: [gpointer; 8],
3102}
3103
3104impl ::std::fmt::Debug for GtkEntryClass {
3105    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3106        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
3107            .field("parent_class", &self.parent_class)
3108            .field("activate", &self.activate)
3109            .finish()
3110    }
3111}
3112
3113#[derive(Copy, Clone)]
3114#[repr(C)]
3115pub struct GtkEnumListClass {
3116    pub parent_class: gobject::GObjectClass,
3117}
3118
3119impl ::std::fmt::Debug for GtkEnumListClass {
3120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3121        f.debug_struct(&format!("GtkEnumListClass @ {self:p}"))
3122            .field("parent_class", &self.parent_class)
3123            .finish()
3124    }
3125}
3126
3127#[derive(Copy, Clone)]
3128#[repr(C)]
3129pub struct GtkEnumListItemClass {
3130    pub parent_class: gobject::GObjectClass,
3131}
3132
3133impl ::std::fmt::Debug for GtkEnumListItemClass {
3134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3135        f.debug_struct(&format!("GtkEnumListItemClass @ {self:p}"))
3136            .field("parent_class", &self.parent_class)
3137            .finish()
3138    }
3139}
3140
3141#[repr(C)]
3142#[allow(dead_code)]
3143pub struct _GtkEventControllerClass {
3144    _data: [u8; 0],
3145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3146}
3147
3148pub type GtkEventControllerClass = _GtkEventControllerClass;
3149
3150#[repr(C)]
3151#[allow(dead_code)]
3152pub struct _GtkEventControllerFocusClass {
3153    _data: [u8; 0],
3154    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3155}
3156
3157pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
3158
3159#[repr(C)]
3160#[allow(dead_code)]
3161pub struct _GtkEventControllerKeyClass {
3162    _data: [u8; 0],
3163    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3164}
3165
3166pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
3167
3168#[repr(C)]
3169#[allow(dead_code)]
3170pub struct _GtkEventControllerLegacyClass {
3171    _data: [u8; 0],
3172    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3173}
3174
3175pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
3176
3177#[repr(C)]
3178#[allow(dead_code)]
3179pub struct _GtkEventControllerMotionClass {
3180    _data: [u8; 0],
3181    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3182}
3183
3184pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
3185
3186#[repr(C)]
3187#[allow(dead_code)]
3188pub struct _GtkEventControllerScrollClass {
3189    _data: [u8; 0],
3190    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3191}
3192
3193pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
3194
3195#[repr(C)]
3196#[allow(dead_code)]
3197pub struct _GtkEveryFilterClass {
3198    _data: [u8; 0],
3199    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3200}
3201
3202pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3203
3204#[repr(C)]
3205#[allow(dead_code)]
3206pub struct GtkExpressionWatch {
3207    _data: [u8; 0],
3208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3209}
3210
3211impl ::std::fmt::Debug for GtkExpressionWatch {
3212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3213        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3214            .finish()
3215    }
3216}
3217
3218#[derive(Copy, Clone)]
3219#[repr(C)]
3220pub struct GtkFileChooserNativeClass {
3221    pub parent_class: GtkNativeDialogClass,
3222}
3223
3224impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3225    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3226        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3227            .field("parent_class", &self.parent_class)
3228            .finish()
3229    }
3230}
3231
3232#[derive(Copy, Clone)]
3233#[repr(C)]
3234pub struct GtkFileDialogClass {
3235    pub parent_class: gobject::GObjectClass,
3236}
3237
3238impl ::std::fmt::Debug for GtkFileDialogClass {
3239    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3240        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3241            .field("parent_class", &self.parent_class)
3242            .finish()
3243    }
3244}
3245
3246#[derive(Copy, Clone)]
3247#[repr(C)]
3248pub struct GtkFileLauncherClass {
3249    pub parent_class: gobject::GObjectClass,
3250}
3251
3252impl ::std::fmt::Debug for GtkFileLauncherClass {
3253    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3254        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3255            .field("parent_class", &self.parent_class)
3256            .finish()
3257    }
3258}
3259
3260#[derive(Copy, Clone)]
3261#[repr(C)]
3262pub struct GtkFilterClass {
3263    pub parent_class: gobject::GObjectClass,
3264    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3265    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3266    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3267    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3268    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3269    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3270    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3271    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3272    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3273    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3274}
3275
3276impl ::std::fmt::Debug for GtkFilterClass {
3277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3278        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3279            .field("parent_class", &self.parent_class)
3280            .field("match_", &self.match_)
3281            .field("get_strictness", &self.get_strictness)
3282            .field("_gtk_reserved1", &self._gtk_reserved1)
3283            .field("_gtk_reserved2", &self._gtk_reserved2)
3284            .field("_gtk_reserved3", &self._gtk_reserved3)
3285            .field("_gtk_reserved4", &self._gtk_reserved4)
3286            .field("_gtk_reserved5", &self._gtk_reserved5)
3287            .field("_gtk_reserved6", &self._gtk_reserved6)
3288            .field("_gtk_reserved7", &self._gtk_reserved7)
3289            .field("_gtk_reserved8", &self._gtk_reserved8)
3290            .finish()
3291    }
3292}
3293
3294#[derive(Copy, Clone)]
3295#[repr(C)]
3296pub struct GtkFilterListModelClass {
3297    pub parent_class: gobject::GObjectClass,
3298}
3299
3300impl ::std::fmt::Debug for GtkFilterListModelClass {
3301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3302        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3303            .field("parent_class", &self.parent_class)
3304            .finish()
3305    }
3306}
3307
3308#[derive(Copy, Clone)]
3309#[repr(C)]
3310pub struct GtkFixedClass {
3311    pub parent_class: GtkWidgetClass,
3312    pub padding: [gpointer; 8],
3313}
3314
3315impl ::std::fmt::Debug for GtkFixedClass {
3316    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3317        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3318            .field("parent_class", &self.parent_class)
3319            .finish()
3320    }
3321}
3322
3323#[derive(Copy, Clone)]
3324#[repr(C)]
3325pub struct GtkFixedLayoutChildClass {
3326    pub parent_class: GtkLayoutChildClass,
3327}
3328
3329impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3330    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3331        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3332            .field("parent_class", &self.parent_class)
3333            .finish()
3334    }
3335}
3336
3337#[derive(Copy, Clone)]
3338#[repr(C)]
3339pub struct GtkFixedLayoutClass {
3340    pub parent_class: GtkLayoutManagerClass,
3341}
3342
3343impl ::std::fmt::Debug for GtkFixedLayoutClass {
3344    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3345        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3346            .field("parent_class", &self.parent_class)
3347            .finish()
3348    }
3349}
3350
3351#[derive(Copy, Clone)]
3352#[repr(C)]
3353pub struct GtkFlattenListModelClass {
3354    pub parent_class: gobject::GObjectClass,
3355}
3356
3357impl ::std::fmt::Debug for GtkFlattenListModelClass {
3358    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3359        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3360            .field("parent_class", &self.parent_class)
3361            .finish()
3362    }
3363}
3364
3365#[derive(Copy, Clone)]
3366#[repr(C)]
3367pub struct GtkFlowBoxChildClass {
3368    pub parent_class: GtkWidgetClass,
3369    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3370    pub padding: [gpointer; 8],
3371}
3372
3373impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3374    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3375        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3376            .field("activate", &self.activate)
3377            .finish()
3378    }
3379}
3380
3381#[derive(Copy, Clone)]
3382#[repr(C)]
3383pub struct GtkFontChooserIface {
3384    pub base_iface: gobject::GTypeInterface,
3385    pub get_font_family:
3386        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3387    pub get_font_face:
3388        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3389    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3390    pub set_filter_func: Option<
3391        unsafe extern "C" fn(
3392            *mut GtkFontChooser,
3393            GtkFontFilterFunc,
3394            gpointer,
3395            glib::GDestroyNotify,
3396        ),
3397    >,
3398    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3399    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3400    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3401    pub padding: [gpointer; 10],
3402}
3403
3404impl ::std::fmt::Debug for GtkFontChooserIface {
3405    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3406        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3407            .field("base_iface", &self.base_iface)
3408            .field("get_font_family", &self.get_font_family)
3409            .field("get_font_face", &self.get_font_face)
3410            .field("get_font_size", &self.get_font_size)
3411            .field("set_filter_func", &self.set_filter_func)
3412            .field("font_activated", &self.font_activated)
3413            .field("set_font_map", &self.set_font_map)
3414            .field("get_font_map", &self.get_font_map)
3415            .finish()
3416    }
3417}
3418
3419#[derive(Copy, Clone)]
3420#[repr(C)]
3421pub struct GtkFontDialogButtonClass {
3422    pub parent_class: GtkWidgetClass,
3423}
3424
3425impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3426    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3427        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3428            .field("parent_class", &self.parent_class)
3429            .finish()
3430    }
3431}
3432
3433#[derive(Copy, Clone)]
3434#[repr(C)]
3435pub struct GtkFontDialogClass {
3436    pub parent_class: gobject::GObjectClass,
3437}
3438
3439impl ::std::fmt::Debug for GtkFontDialogClass {
3440    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3441        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3442            .field("parent_class", &self.parent_class)
3443            .finish()
3444    }
3445}
3446
3447#[derive(Copy, Clone)]
3448#[repr(C)]
3449pub struct GtkFrameClass {
3450    pub parent_class: GtkWidgetClass,
3451    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3452    pub padding: [gpointer; 8],
3453}
3454
3455impl ::std::fmt::Debug for GtkFrameClass {
3456    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3457        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3458            .field("parent_class", &self.parent_class)
3459            .field("compute_child_allocation", &self.compute_child_allocation)
3460            .finish()
3461    }
3462}
3463
3464#[derive(Copy, Clone)]
3465#[repr(C)]
3466pub struct GtkGLAreaClass {
3467    pub parent_class: GtkWidgetClass,
3468    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3469    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3470    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3471    pub _padding: [gpointer; 8],
3472}
3473
3474impl ::std::fmt::Debug for GtkGLAreaClass {
3475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3476        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3477            .field("render", &self.render)
3478            .field("resize", &self.resize)
3479            .field("create_context", &self.create_context)
3480            .finish()
3481    }
3482}
3483
3484#[repr(C)]
3485#[allow(dead_code)]
3486pub struct _GtkGestureClass {
3487    _data: [u8; 0],
3488    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3489}
3490
3491pub type GtkGestureClass = _GtkGestureClass;
3492
3493#[repr(C)]
3494#[allow(dead_code)]
3495pub struct _GtkGestureClickClass {
3496    _data: [u8; 0],
3497    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3498}
3499
3500pub type GtkGestureClickClass = _GtkGestureClickClass;
3501
3502#[repr(C)]
3503#[allow(dead_code)]
3504pub struct _GtkGestureDragClass {
3505    _data: [u8; 0],
3506    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3507}
3508
3509pub type GtkGestureDragClass = _GtkGestureDragClass;
3510
3511#[repr(C)]
3512#[allow(dead_code)]
3513pub struct _GtkGestureLongPressClass {
3514    _data: [u8; 0],
3515    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3516}
3517
3518pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3519
3520#[repr(C)]
3521#[allow(dead_code)]
3522pub struct _GtkGesturePanClass {
3523    _data: [u8; 0],
3524    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3525}
3526
3527pub type GtkGesturePanClass = _GtkGesturePanClass;
3528
3529#[repr(C)]
3530#[allow(dead_code)]
3531pub struct _GtkGestureRotateClass {
3532    _data: [u8; 0],
3533    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3534}
3535
3536pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3537
3538#[repr(C)]
3539#[allow(dead_code)]
3540pub struct _GtkGestureSingleClass {
3541    _data: [u8; 0],
3542    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3543}
3544
3545pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3546
3547#[repr(C)]
3548#[allow(dead_code)]
3549pub struct _GtkGestureStylusClass {
3550    _data: [u8; 0],
3551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3552}
3553
3554pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3555
3556#[repr(C)]
3557#[allow(dead_code)]
3558pub struct _GtkGestureSwipeClass {
3559    _data: [u8; 0],
3560    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3561}
3562
3563pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3564
3565#[repr(C)]
3566#[allow(dead_code)]
3567pub struct _GtkGestureZoomClass {
3568    _data: [u8; 0],
3569    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3570}
3571
3572pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3573
3574#[derive(Copy, Clone)]
3575#[repr(C)]
3576pub struct GtkGraphicsOffloadClass {
3577    pub parent_class: GtkWidgetClass,
3578}
3579
3580impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3581    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3582        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3583            .field("parent_class", &self.parent_class)
3584            .finish()
3585    }
3586}
3587
3588#[derive(Copy, Clone)]
3589#[repr(C)]
3590pub struct GtkGridClass {
3591    pub parent_class: GtkWidgetClass,
3592    pub padding: [gpointer; 8],
3593}
3594
3595impl ::std::fmt::Debug for GtkGridClass {
3596    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3597        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3598            .field("parent_class", &self.parent_class)
3599            .finish()
3600    }
3601}
3602
3603#[derive(Copy, Clone)]
3604#[repr(C)]
3605pub struct GtkGridLayoutChildClass {
3606    pub parent_class: GtkLayoutChildClass,
3607}
3608
3609impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3610    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3611        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3612            .field("parent_class", &self.parent_class)
3613            .finish()
3614    }
3615}
3616
3617#[derive(Copy, Clone)]
3618#[repr(C)]
3619pub struct GtkGridLayoutClass {
3620    pub parent_class: GtkLayoutManagerClass,
3621}
3622
3623impl ::std::fmt::Debug for GtkGridLayoutClass {
3624    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3625        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3626            .field("parent_class", &self.parent_class)
3627            .finish()
3628    }
3629}
3630
3631#[repr(C)]
3632#[allow(dead_code)]
3633pub struct _GtkGridViewClass {
3634    _data: [u8; 0],
3635    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3636}
3637
3638pub type GtkGridViewClass = _GtkGridViewClass;
3639
3640#[derive(Copy, Clone)]
3641#[repr(C)]
3642pub struct GtkIMContextClass {
3643    pub parent_class: gobject::GObjectClass,
3644    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3645    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3646    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3647    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3648    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3649    pub delete_surrounding:
3650        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3651    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3652    pub get_preedit_string: Option<
3653        unsafe extern "C" fn(
3654            *mut GtkIMContext,
3655            *mut *mut c_char,
3656            *mut *mut pango::PangoAttrList,
3657            *mut c_int,
3658        ),
3659    >,
3660    pub filter_keypress:
3661        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3662    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3663    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3664    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3665    pub set_cursor_location:
3666        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3667    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3668    pub set_surrounding:
3669        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3670    pub get_surrounding:
3671        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3672    pub set_surrounding_with_selection:
3673        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3674    pub get_surrounding_with_selection: Option<
3675        unsafe extern "C" fn(
3676            *mut GtkIMContext,
3677            *mut *mut c_char,
3678            *mut c_int,
3679            *mut c_int,
3680        ) -> gboolean,
3681    >,
3682    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3683    pub activate_osk_with_event:
3684        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3685    pub invalid_composition:
3686        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char) -> gboolean>,
3687    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3688    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3689}
3690
3691impl ::std::fmt::Debug for GtkIMContextClass {
3692    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3693        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3694            .field("preedit_start", &self.preedit_start)
3695            .field("preedit_end", &self.preedit_end)
3696            .field("preedit_changed", &self.preedit_changed)
3697            .field("commit", &self.commit)
3698            .field("retrieve_surrounding", &self.retrieve_surrounding)
3699            .field("delete_surrounding", &self.delete_surrounding)
3700            .field("set_client_widget", &self.set_client_widget)
3701            .field("get_preedit_string", &self.get_preedit_string)
3702            .field("filter_keypress", &self.filter_keypress)
3703            .field("focus_in", &self.focus_in)
3704            .field("focus_out", &self.focus_out)
3705            .field("reset", &self.reset)
3706            .field("set_cursor_location", &self.set_cursor_location)
3707            .field("set_use_preedit", &self.set_use_preedit)
3708            .field("set_surrounding", &self.set_surrounding)
3709            .field("get_surrounding", &self.get_surrounding)
3710            .field(
3711                "set_surrounding_with_selection",
3712                &self.set_surrounding_with_selection,
3713            )
3714            .field(
3715                "get_surrounding_with_selection",
3716                &self.get_surrounding_with_selection,
3717            )
3718            .field("activate_osk", &self.activate_osk)
3719            .field("activate_osk_with_event", &self.activate_osk_with_event)
3720            .field("invalid_composition", &self.invalid_composition)
3721            .field("_gtk_reserved3", &self._gtk_reserved3)
3722            .field("_gtk_reserved4", &self._gtk_reserved4)
3723            .finish()
3724    }
3725}
3726
3727#[derive(Copy, Clone)]
3728#[repr(C)]
3729pub struct GtkIMContextSimpleClass {
3730    pub parent_class: GtkIMContextClass,
3731}
3732
3733impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3735        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3736            .field("parent_class", &self.parent_class)
3737            .finish()
3738    }
3739}
3740
3741#[repr(C)]
3742#[allow(dead_code)]
3743pub struct _GtkIMContextSimplePrivate {
3744    _data: [u8; 0],
3745    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3746}
3747
3748pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3749
3750#[derive(Copy, Clone)]
3751#[repr(C)]
3752pub struct GtkIMMulticontextClass {
3753    pub parent_class: GtkIMContextClass,
3754    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3755    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3756    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3757    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3758}
3759
3760impl ::std::fmt::Debug for GtkIMMulticontextClass {
3761    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3762        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3763            .field("parent_class", &self.parent_class)
3764            .field("_gtk_reserved1", &self._gtk_reserved1)
3765            .field("_gtk_reserved2", &self._gtk_reserved2)
3766            .field("_gtk_reserved3", &self._gtk_reserved3)
3767            .field("_gtk_reserved4", &self._gtk_reserved4)
3768            .finish()
3769    }
3770}
3771
3772#[repr(C)]
3773#[allow(dead_code)]
3774pub struct _GtkIMMulticontextPrivate {
3775    _data: [u8; 0],
3776    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3777}
3778
3779pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3780
3781#[derive(Copy, Clone)]
3782#[repr(C)]
3783pub struct GtkIconPaintableClass {
3784    pub parent_class: gobject::GObjectClass,
3785}
3786
3787impl ::std::fmt::Debug for GtkIconPaintableClass {
3788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3789        f.debug_struct(&format!("GtkIconPaintableClass @ {self:p}"))
3790            .field("parent_class", &self.parent_class)
3791            .finish()
3792    }
3793}
3794
3795#[derive(Copy, Clone)]
3796#[repr(C)]
3797pub struct GtkInscriptionClass {
3798    pub parent_class: GtkWidgetClass,
3799}
3800
3801impl ::std::fmt::Debug for GtkInscriptionClass {
3802    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3803        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3804            .field("parent_class", &self.parent_class)
3805            .finish()
3806    }
3807}
3808
3809#[repr(C)]
3810#[allow(dead_code)]
3811pub struct _GtkKeyvalTriggerClass {
3812    _data: [u8; 0],
3813    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3814}
3815
3816pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3817
3818#[derive(Copy, Clone)]
3819#[repr(C)]
3820pub struct GtkLayoutChildClass {
3821    pub parent_class: gobject::GObjectClass,
3822}
3823
3824impl ::std::fmt::Debug for GtkLayoutChildClass {
3825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3826        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3827            .finish()
3828    }
3829}
3830
3831#[derive(Copy, Clone)]
3832#[repr(C)]
3833pub struct GtkLayoutManagerClass {
3834    pub parent_class: gobject::GObjectClass,
3835    pub get_request_mode:
3836        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3837    pub measure: Option<
3838        unsafe extern "C" fn(
3839            *mut GtkLayoutManager,
3840            *mut GtkWidget,
3841            GtkOrientation,
3842            c_int,
3843            *mut c_int,
3844            *mut c_int,
3845            *mut c_int,
3846            *mut c_int,
3847        ),
3848    >,
3849    pub allocate:
3850        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3851    pub layout_child_type: GType,
3852    pub create_layout_child: Option<
3853        unsafe extern "C" fn(
3854            *mut GtkLayoutManager,
3855            *mut GtkWidget,
3856            *mut GtkWidget,
3857        ) -> *mut GtkLayoutChild,
3858    >,
3859    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3860    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3861    pub _padding: [gpointer; 16],
3862}
3863
3864impl ::std::fmt::Debug for GtkLayoutManagerClass {
3865    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3866        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3867            .field("get_request_mode", &self.get_request_mode)
3868            .field("measure", &self.measure)
3869            .field("allocate", &self.allocate)
3870            .field("layout_child_type", &self.layout_child_type)
3871            .field("create_layout_child", &self.create_layout_child)
3872            .field("root", &self.root)
3873            .field("unroot", &self.unroot)
3874            .finish()
3875    }
3876}
3877
3878#[repr(C)]
3879#[allow(dead_code)]
3880pub struct _GtkListBaseClass {
3881    _data: [u8; 0],
3882    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3883}
3884
3885pub type GtkListBaseClass = _GtkListBaseClass;
3886
3887#[derive(Copy, Clone)]
3888#[repr(C)]
3889pub struct GtkListBoxRowClass {
3890    pub parent_class: GtkWidgetClass,
3891    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3892    pub padding: [gpointer; 8],
3893}
3894
3895impl ::std::fmt::Debug for GtkListBoxRowClass {
3896    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3897        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3898            .field("parent_class", &self.parent_class)
3899            .field("activate", &self.activate)
3900            .finish()
3901    }
3902}
3903
3904#[repr(C)]
3905#[allow(dead_code)]
3906pub struct _GtkListHeaderClass {
3907    _data: [u8; 0],
3908    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3909}
3910
3911pub type GtkListHeaderClass = _GtkListHeaderClass;
3912
3913#[repr(C)]
3914#[allow(dead_code)]
3915pub struct _GtkListItemClass {
3916    _data: [u8; 0],
3917    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3918}
3919
3920pub type GtkListItemClass = _GtkListItemClass;
3921
3922#[repr(C)]
3923#[allow(dead_code)]
3924pub struct _GtkListItemFactoryClass {
3925    _data: [u8; 0],
3926    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3927}
3928
3929pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3930
3931#[derive(Copy, Clone)]
3932#[repr(C)]
3933pub struct GtkListStoreClass {
3934    pub parent_class: gobject::GObjectClass,
3935    pub padding: [gpointer; 8],
3936}
3937
3938impl ::std::fmt::Debug for GtkListStoreClass {
3939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3940        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3941            .field("parent_class", &self.parent_class)
3942            .finish()
3943    }
3944}
3945
3946#[repr(C)]
3947#[allow(dead_code)]
3948pub struct _GtkListStorePrivate {
3949    _data: [u8; 0],
3950    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3951}
3952
3953pub type GtkListStorePrivate = _GtkListStorePrivate;
3954
3955#[repr(C)]
3956#[allow(dead_code)]
3957pub struct _GtkListViewClass {
3958    _data: [u8; 0],
3959    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3960}
3961
3962pub type GtkListViewClass = _GtkListViewClass;
3963
3964#[derive(Copy, Clone)]
3965#[repr(C)]
3966pub struct GtkMapListModelClass {
3967    pub parent_class: gobject::GObjectClass,
3968}
3969
3970impl ::std::fmt::Debug for GtkMapListModelClass {
3971    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3972        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3973            .field("parent_class", &self.parent_class)
3974            .finish()
3975    }
3976}
3977
3978#[derive(Copy, Clone)]
3979#[repr(C)]
3980pub struct GtkMediaControlsClass {
3981    pub parent_class: GtkWidgetClass,
3982}
3983
3984impl ::std::fmt::Debug for GtkMediaControlsClass {
3985    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3986        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3987            .field("parent_class", &self.parent_class)
3988            .finish()
3989    }
3990}
3991
3992#[derive(Copy, Clone)]
3993#[repr(C)]
3994pub struct GtkMediaFileClass {
3995    pub parent_class: GtkMediaStreamClass,
3996    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3997    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3998    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3999    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4000    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4001    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4002}
4003
4004impl ::std::fmt::Debug for GtkMediaFileClass {
4005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4006        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
4007            .field("parent_class", &self.parent_class)
4008            .field("open", &self.open)
4009            .field("close", &self.close)
4010            .field("_gtk_reserved1", &self._gtk_reserved1)
4011            .field("_gtk_reserved2", &self._gtk_reserved2)
4012            .field("_gtk_reserved3", &self._gtk_reserved3)
4013            .field("_gtk_reserved4", &self._gtk_reserved4)
4014            .finish()
4015    }
4016}
4017
4018#[derive(Copy, Clone)]
4019#[repr(C)]
4020pub struct GtkMediaStreamClass {
4021    pub parent_class: gobject::GObjectClass,
4022    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
4023    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
4024    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
4025    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
4026    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4027    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4028    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4029    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4030    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4031    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4032    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4033    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4034    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4035    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4036}
4037
4038impl ::std::fmt::Debug for GtkMediaStreamClass {
4039    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4040        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
4041            .field("parent_class", &self.parent_class)
4042            .field("play", &self.play)
4043            .field("pause", &self.pause)
4044            .field("seek", &self.seek)
4045            .field("update_audio", &self.update_audio)
4046            .field("realize", &self.realize)
4047            .field("unrealize", &self.unrealize)
4048            .field("_gtk_reserved1", &self._gtk_reserved1)
4049            .field("_gtk_reserved2", &self._gtk_reserved2)
4050            .field("_gtk_reserved3", &self._gtk_reserved3)
4051            .field("_gtk_reserved4", &self._gtk_reserved4)
4052            .field("_gtk_reserved5", &self._gtk_reserved5)
4053            .field("_gtk_reserved6", &self._gtk_reserved6)
4054            .field("_gtk_reserved7", &self._gtk_reserved7)
4055            .field("_gtk_reserved8", &self._gtk_reserved8)
4056            .finish()
4057    }
4058}
4059
4060#[repr(C)]
4061#[allow(dead_code)]
4062pub struct _GtkMessageDialogClass {
4063    _data: [u8; 0],
4064    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4065}
4066
4067pub type GtkMessageDialogClass = _GtkMessageDialogClass;
4068
4069#[repr(C)]
4070#[allow(dead_code)]
4071pub struct _GtkMnemonicActionClass {
4072    _data: [u8; 0],
4073    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4074}
4075
4076pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
4077
4078#[repr(C)]
4079#[allow(dead_code)]
4080pub struct _GtkMnemonicTriggerClass {
4081    _data: [u8; 0],
4082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4083}
4084
4085pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
4086
4087#[derive(Copy, Clone)]
4088#[repr(C)]
4089pub struct GtkMountOperationClass {
4090    pub parent_class: gio::GMountOperationClass,
4091    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4092    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4093    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4094    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4095}
4096
4097impl ::std::fmt::Debug for GtkMountOperationClass {
4098    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4099        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
4100            .field("parent_class", &self.parent_class)
4101            .field("_gtk_reserved1", &self._gtk_reserved1)
4102            .field("_gtk_reserved2", &self._gtk_reserved2)
4103            .field("_gtk_reserved3", &self._gtk_reserved3)
4104            .field("_gtk_reserved4", &self._gtk_reserved4)
4105            .finish()
4106    }
4107}
4108
4109#[repr(C)]
4110#[allow(dead_code)]
4111pub struct _GtkMountOperationPrivate {
4112    _data: [u8; 0],
4113    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4114}
4115
4116pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
4117
4118#[repr(C)]
4119#[allow(dead_code)]
4120pub struct _GtkMultiFilterClass {
4121    _data: [u8; 0],
4122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4123}
4124
4125pub type GtkMultiFilterClass = _GtkMultiFilterClass;
4126
4127#[derive(Copy, Clone)]
4128#[repr(C)]
4129pub struct GtkMultiSelectionClass {
4130    pub parent_class: gobject::GObjectClass,
4131}
4132
4133impl ::std::fmt::Debug for GtkMultiSelectionClass {
4134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4135        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
4136            .field("parent_class", &self.parent_class)
4137            .finish()
4138    }
4139}
4140
4141#[derive(Copy, Clone)]
4142#[repr(C)]
4143pub struct GtkMultiSorterClass {
4144    pub parent_class: GtkSorterClass,
4145}
4146
4147impl ::std::fmt::Debug for GtkMultiSorterClass {
4148    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4149        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
4150            .field("parent_class", &self.parent_class)
4151            .finish()
4152    }
4153}
4154
4155#[repr(C)]
4156#[allow(dead_code)]
4157pub struct _GtkNamedActionClass {
4158    _data: [u8; 0],
4159    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4160}
4161
4162pub type GtkNamedActionClass = _GtkNamedActionClass;
4163
4164#[derive(Copy, Clone)]
4165#[repr(C)]
4166pub struct GtkNativeDialogClass {
4167    pub parent_class: gobject::GObjectClass,
4168    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
4169    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4170    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4171    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4172    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4173    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4174    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4175}
4176
4177impl ::std::fmt::Debug for GtkNativeDialogClass {
4178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4179        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
4180            .field("response", &self.response)
4181            .field("show", &self.show)
4182            .field("hide", &self.hide)
4183            .field("_gtk_reserved1", &self._gtk_reserved1)
4184            .field("_gtk_reserved2", &self._gtk_reserved2)
4185            .field("_gtk_reserved3", &self._gtk_reserved3)
4186            .field("_gtk_reserved4", &self._gtk_reserved4)
4187            .finish()
4188    }
4189}
4190
4191#[repr(C)]
4192#[allow(dead_code)]
4193pub struct _GtkNativeInterface {
4194    _data: [u8; 0],
4195    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4196}
4197
4198pub type GtkNativeInterface = _GtkNativeInterface;
4199
4200#[repr(C)]
4201#[allow(dead_code)]
4202pub struct _GtkNeverTriggerClass {
4203    _data: [u8; 0],
4204    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4205}
4206
4207pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
4208
4209#[derive(Copy, Clone)]
4210#[repr(C)]
4211pub struct GtkNoSelectionClass {
4212    pub parent_class: gobject::GObjectClass,
4213}
4214
4215impl ::std::fmt::Debug for GtkNoSelectionClass {
4216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4217        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4218            .field("parent_class", &self.parent_class)
4219            .finish()
4220    }
4221}
4222
4223#[repr(C)]
4224#[allow(dead_code)]
4225pub struct _GtkNothingActionClass {
4226    _data: [u8; 0],
4227    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4228}
4229
4230pub type GtkNothingActionClass = _GtkNothingActionClass;
4231
4232#[derive(Copy, Clone)]
4233#[repr(C)]
4234pub struct GtkNumericSorterClass {
4235    pub parent_class: GtkSorterClass,
4236}
4237
4238impl ::std::fmt::Debug for GtkNumericSorterClass {
4239    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4240        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4241            .field("parent_class", &self.parent_class)
4242            .finish()
4243    }
4244}
4245
4246#[derive(Copy, Clone)]
4247#[repr(C)]
4248pub struct GtkOrientableIface {
4249    pub base_iface: gobject::GTypeInterface,
4250}
4251
4252impl ::std::fmt::Debug for GtkOrientableIface {
4253    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4254        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4255            .field("base_iface", &self.base_iface)
4256            .finish()
4257    }
4258}
4259
4260#[derive(Copy, Clone)]
4261#[repr(C)]
4262pub struct GtkOverlayLayoutChildClass {
4263    pub parent_class: GtkLayoutChildClass,
4264}
4265
4266impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4267    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4268        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4269            .field("parent_class", &self.parent_class)
4270            .finish()
4271    }
4272}
4273
4274#[derive(Copy, Clone)]
4275#[repr(C)]
4276pub struct GtkOverlayLayoutClass {
4277    pub parent_class: GtkLayoutManagerClass,
4278}
4279
4280impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4281    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4282        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4283            .field("parent_class", &self.parent_class)
4284            .finish()
4285    }
4286}
4287
4288#[derive(Copy, Clone)]
4289#[repr(C)]
4290pub struct GtkPadActionEntry {
4291    pub type_: GtkPadActionType,
4292    pub index: c_int,
4293    pub mode: c_int,
4294    pub label: *const c_char,
4295    pub action_name: *const c_char,
4296}
4297
4298impl ::std::fmt::Debug for GtkPadActionEntry {
4299    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4300        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4301            .field("type_", &self.type_)
4302            .field("index", &self.index)
4303            .field("mode", &self.mode)
4304            .field("label", &self.label)
4305            .field("action_name", &self.action_name)
4306            .finish()
4307    }
4308}
4309
4310#[repr(C)]
4311#[allow(dead_code)]
4312pub struct _GtkPadControllerClass {
4313    _data: [u8; 0],
4314    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4315}
4316
4317pub type GtkPadControllerClass = _GtkPadControllerClass;
4318
4319#[derive(Copy, Clone)]
4320#[repr(C)]
4321pub struct GtkPageRange {
4322    pub start: c_int,
4323    pub end: c_int,
4324}
4325
4326impl ::std::fmt::Debug for GtkPageRange {
4327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4328        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4329            .field("start", &self.start)
4330            .field("end", &self.end)
4331            .finish()
4332    }
4333}
4334
4335#[repr(C)]
4336#[allow(dead_code)]
4337pub struct GtkPaperSize {
4338    _data: [u8; 0],
4339    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4340}
4341
4342impl ::std::fmt::Debug for GtkPaperSize {
4343    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4344        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4345    }
4346}
4347
4348#[derive(Copy, Clone)]
4349#[repr(C)]
4350pub struct GtkPasswordEntryBufferClass {
4351    pub parent_class: GtkEntryBufferClass,
4352}
4353
4354impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4356        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4357            .field("parent_class", &self.parent_class)
4358            .finish()
4359    }
4360}
4361
4362#[repr(C)]
4363#[allow(dead_code)]
4364pub struct _GtkPasswordEntryClass {
4365    _data: [u8; 0],
4366    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4367}
4368
4369pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4370
4371#[derive(Copy, Clone)]
4372#[repr(C)]
4373pub struct GtkPictureClass {
4374    pub parent_class: GtkWidgetClass,
4375}
4376
4377impl ::std::fmt::Debug for GtkPictureClass {
4378    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4379        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4380            .field("parent_class", &self.parent_class)
4381            .finish()
4382    }
4383}
4384
4385#[derive(Copy, Clone)]
4386#[repr(C)]
4387pub struct GtkPopoverBinClass {
4388    pub parent_class: GtkWidgetClass,
4389}
4390
4391impl ::std::fmt::Debug for GtkPopoverBinClass {
4392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4393        f.debug_struct(&format!("GtkPopoverBinClass @ {self:p}"))
4394            .field("parent_class", &self.parent_class)
4395            .finish()
4396    }
4397}
4398
4399#[derive(Copy, Clone)]
4400#[repr(C)]
4401pub struct GtkPopoverClass {
4402    pub parent_class: GtkWidgetClass,
4403    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4404    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4405    pub reserved: [gpointer; 8],
4406}
4407
4408impl ::std::fmt::Debug for GtkPopoverClass {
4409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4410        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4411            .field("parent_class", &self.parent_class)
4412            .field("closed", &self.closed)
4413            .field("activate_default", &self.activate_default)
4414            .finish()
4415    }
4416}
4417
4418#[repr(C)]
4419#[allow(dead_code)]
4420pub struct _GtkPrintBackend {
4421    _data: [u8; 0],
4422    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4423}
4424
4425pub type GtkPrintBackend = _GtkPrintBackend;
4426
4427#[derive(Copy, Clone)]
4428#[repr(C)]
4429pub struct GtkPrintDialogClass {
4430    pub parent_class: gobject::GObjectClass,
4431}
4432
4433impl ::std::fmt::Debug for GtkPrintDialogClass {
4434    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4435        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4436            .field("parent_class", &self.parent_class)
4437            .finish()
4438    }
4439}
4440
4441#[derive(Copy, Clone)]
4442#[repr(C)]
4443pub struct GtkPrintOperationClass {
4444    pub parent_class: gobject::GObjectClass,
4445    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4446    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4447    pub paginate:
4448        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4449    pub request_page_setup: Option<
4450        unsafe extern "C" fn(
4451            *mut GtkPrintOperation,
4452            *mut GtkPrintContext,
4453            c_int,
4454            *mut GtkPageSetup,
4455        ),
4456    >,
4457    pub draw_page:
4458        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4459    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4460    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4461    pub create_custom_widget:
4462        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4463    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4464    pub preview: Option<
4465        unsafe extern "C" fn(
4466            *mut GtkPrintOperation,
4467            *mut GtkPrintOperationPreview,
4468            *mut GtkPrintContext,
4469            *mut GtkWindow,
4470        ) -> gboolean,
4471    >,
4472    pub update_custom_widget: Option<
4473        unsafe extern "C" fn(
4474            *mut GtkPrintOperation,
4475            *mut GtkWidget,
4476            *mut GtkPageSetup,
4477            *mut GtkPrintSettings,
4478        ),
4479    >,
4480    pub padding: [gpointer; 8],
4481}
4482
4483impl ::std::fmt::Debug for GtkPrintOperationClass {
4484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4485        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4486            .field("parent_class", &self.parent_class)
4487            .field("done", &self.done)
4488            .field("begin_print", &self.begin_print)
4489            .field("paginate", &self.paginate)
4490            .field("request_page_setup", &self.request_page_setup)
4491            .field("draw_page", &self.draw_page)
4492            .field("end_print", &self.end_print)
4493            .field("status_changed", &self.status_changed)
4494            .field("create_custom_widget", &self.create_custom_widget)
4495            .field("custom_widget_apply", &self.custom_widget_apply)
4496            .field("preview", &self.preview)
4497            .field("update_custom_widget", &self.update_custom_widget)
4498            .finish()
4499    }
4500}
4501
4502#[derive(Copy, Clone)]
4503#[repr(C)]
4504pub struct GtkPrintOperationPreviewIface {
4505    pub g_iface: gobject::GTypeInterface,
4506    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4507    pub got_page_size: Option<
4508        unsafe extern "C" fn(
4509            *mut GtkPrintOperationPreview,
4510            *mut GtkPrintContext,
4511            *mut GtkPageSetup,
4512        ),
4513    >,
4514    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4515    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4516    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4517    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4518    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4519    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4520    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4521    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4522    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4523    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4524    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4525}
4526
4527impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4528    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4529        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4530            .field("g_iface", &self.g_iface)
4531            .field("ready", &self.ready)
4532            .field("got_page_size", &self.got_page_size)
4533            .field("render_page", &self.render_page)
4534            .field("is_selected", &self.is_selected)
4535            .field("end_preview", &self.end_preview)
4536            .field("_gtk_reserved1", &self._gtk_reserved1)
4537            .field("_gtk_reserved2", &self._gtk_reserved2)
4538            .field("_gtk_reserved3", &self._gtk_reserved3)
4539            .field("_gtk_reserved4", &self._gtk_reserved4)
4540            .field("_gtk_reserved5", &self._gtk_reserved5)
4541            .field("_gtk_reserved6", &self._gtk_reserved6)
4542            .field("_gtk_reserved7", &self._gtk_reserved7)
4543            .field("_gtk_reserved8", &self._gtk_reserved8)
4544            .finish()
4545    }
4546}
4547
4548#[repr(C)]
4549#[allow(dead_code)]
4550pub struct _GtkPrintOperationPrivate {
4551    _data: [u8; 0],
4552    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4553}
4554
4555pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4556
4557#[repr(C)]
4558#[allow(dead_code)]
4559pub struct GtkPrintSetup {
4560    _data: [u8; 0],
4561    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4562}
4563
4564impl ::std::fmt::Debug for GtkPrintSetup {
4565    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4566        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4567            .finish()
4568    }
4569}
4570
4571#[derive(Copy, Clone)]
4572#[repr(C)]
4573pub struct GtkRangeClass {
4574    pub parent_class: GtkWidgetClass,
4575    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4576    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4577    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4578    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4579    pub change_value:
4580        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4581    pub padding: [gpointer; 8],
4582}
4583
4584impl ::std::fmt::Debug for GtkRangeClass {
4585    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4586        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4587            .field("parent_class", &self.parent_class)
4588            .field("value_changed", &self.value_changed)
4589            .field("adjust_bounds", &self.adjust_bounds)
4590            .field("move_slider", &self.move_slider)
4591            .field("get_range_border", &self.get_range_border)
4592            .field("change_value", &self.change_value)
4593            .finish()
4594    }
4595}
4596
4597#[derive(Copy, Clone)]
4598#[repr(C)]
4599pub struct GtkRecentData {
4600    pub display_name: *mut c_char,
4601    pub description: *mut c_char,
4602    pub mime_type: *mut c_char,
4603    pub app_name: *mut c_char,
4604    pub app_exec: *mut c_char,
4605    pub groups: *mut *mut c_char,
4606    pub is_private: gboolean,
4607}
4608
4609impl ::std::fmt::Debug for GtkRecentData {
4610    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4611        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4612            .field("display_name", &self.display_name)
4613            .field("description", &self.description)
4614            .field("mime_type", &self.mime_type)
4615            .field("app_name", &self.app_name)
4616            .field("app_exec", &self.app_exec)
4617            .field("groups", &self.groups)
4618            .field("is_private", &self.is_private)
4619            .finish()
4620    }
4621}
4622
4623#[repr(C)]
4624#[allow(dead_code)]
4625pub struct GtkRecentInfo {
4626    _data: [u8; 0],
4627    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4628}
4629
4630impl ::std::fmt::Debug for GtkRecentInfo {
4631    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4632        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4633            .finish()
4634    }
4635}
4636
4637#[derive(Copy, Clone)]
4638#[repr(C)]
4639pub struct GtkRecentManagerClass {
4640    pub parent_class: gobject::GObjectClass,
4641    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4642    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4643    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4644    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4645    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4646}
4647
4648impl ::std::fmt::Debug for GtkRecentManagerClass {
4649    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4650        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4651            .field("changed", &self.changed)
4652            .field("_gtk_recent1", &self._gtk_recent1)
4653            .field("_gtk_recent2", &self._gtk_recent2)
4654            .field("_gtk_recent3", &self._gtk_recent3)
4655            .field("_gtk_recent4", &self._gtk_recent4)
4656            .finish()
4657    }
4658}
4659
4660#[repr(C)]
4661#[allow(dead_code)]
4662pub struct _GtkRecentManagerPrivate {
4663    _data: [u8; 0],
4664    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4665}
4666
4667pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4668
4669#[derive(Copy, Clone)]
4670#[repr(C)]
4671pub struct GtkRequestedSize {
4672    pub data: gpointer,
4673    pub minimum_size: c_int,
4674    pub natural_size: c_int,
4675}
4676
4677impl ::std::fmt::Debug for GtkRequestedSize {
4678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4679        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4680            .field("data", &self.data)
4681            .field("minimum_size", &self.minimum_size)
4682            .field("natural_size", &self.natural_size)
4683            .finish()
4684    }
4685}
4686
4687#[derive(Copy, Clone)]
4688#[repr(C)]
4689pub struct GtkRequisition {
4690    pub width: c_int,
4691    pub height: c_int,
4692}
4693
4694impl ::std::fmt::Debug for GtkRequisition {
4695    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4696        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4697            .field("width", &self.width)
4698            .field("height", &self.height)
4699            .finish()
4700    }
4701}
4702
4703#[repr(C)]
4704#[allow(dead_code)]
4705pub struct _GtkRootInterface {
4706    _data: [u8; 0],
4707    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4708}
4709
4710pub type GtkRootInterface = _GtkRootInterface;
4711
4712#[derive(Copy, Clone)]
4713#[repr(C)]
4714pub struct GtkScaleButtonClass {
4715    pub parent_class: GtkWidgetClass,
4716    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4717    pub padding: [gpointer; 8],
4718}
4719
4720impl ::std::fmt::Debug for GtkScaleButtonClass {
4721    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4722        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4723            .field("parent_class", &self.parent_class)
4724            .field("value_changed", &self.value_changed)
4725            .finish()
4726    }
4727}
4728
4729#[derive(Copy, Clone)]
4730#[repr(C)]
4731pub struct GtkScaleClass {
4732    pub parent_class: GtkRangeClass,
4733    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4734    pub padding: [gpointer; 8],
4735}
4736
4737impl ::std::fmt::Debug for GtkScaleClass {
4738    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4739        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4740            .field("parent_class", &self.parent_class)
4741            .field("get_layout_offsets", &self.get_layout_offsets)
4742            .finish()
4743    }
4744}
4745
4746#[repr(C)]
4747#[allow(dead_code)]
4748pub struct GtkScrollInfo {
4749    _data: [u8; 0],
4750    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4751}
4752
4753impl ::std::fmt::Debug for GtkScrollInfo {
4754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4755        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4756            .finish()
4757    }
4758}
4759
4760#[derive(Copy, Clone)]
4761#[repr(C)]
4762pub struct GtkScrollableInterface {
4763    pub base_iface: gobject::GTypeInterface,
4764    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4765}
4766
4767impl ::std::fmt::Debug for GtkScrollableInterface {
4768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4769        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4770            .field("base_iface", &self.base_iface)
4771            .field("get_border", &self.get_border)
4772            .finish()
4773    }
4774}
4775
4776#[derive(Copy, Clone)]
4777#[repr(C)]
4778pub struct GtkSectionModelInterface {
4779    pub g_iface: gobject::GTypeInterface,
4780    pub get_section:
4781        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4782}
4783
4784impl ::std::fmt::Debug for GtkSectionModelInterface {
4785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4786        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4787            .field("get_section", &self.get_section)
4788            .finish()
4789    }
4790}
4791
4792#[derive(Copy, Clone)]
4793#[repr(C)]
4794pub struct GtkSelectionFilterModelClass {
4795    pub parent_class: gobject::GObjectClass,
4796}
4797
4798impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4799    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4800        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4801            .field("parent_class", &self.parent_class)
4802            .finish()
4803    }
4804}
4805
4806#[derive(Copy, Clone)]
4807#[repr(C)]
4808pub struct GtkSelectionModelInterface {
4809    pub g_iface: gobject::GTypeInterface,
4810    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4811    pub get_selection_in_range:
4812        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4813    pub select_item:
4814        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4815    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4816    pub select_range:
4817        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4818    pub unselect_range:
4819        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4820    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4821    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4822    pub set_selection: Option<
4823        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4824    >,
4825}
4826
4827impl ::std::fmt::Debug for GtkSelectionModelInterface {
4828    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4829        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4830            .field("is_selected", &self.is_selected)
4831            .field("get_selection_in_range", &self.get_selection_in_range)
4832            .field("select_item", &self.select_item)
4833            .field("unselect_item", &self.unselect_item)
4834            .field("select_range", &self.select_range)
4835            .field("unselect_range", &self.unselect_range)
4836            .field("select_all", &self.select_all)
4837            .field("unselect_all", &self.unselect_all)
4838            .field("set_selection", &self.set_selection)
4839            .finish()
4840    }
4841}
4842
4843#[repr(C)]
4844#[allow(dead_code)]
4845pub struct _GtkShortcutActionClass {
4846    _data: [u8; 0],
4847    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4848}
4849
4850pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4851
4852#[derive(Copy, Clone)]
4853#[repr(C)]
4854pub struct GtkShortcutClass {
4855    pub parent_class: gobject::GObjectClass,
4856}
4857
4858impl ::std::fmt::Debug for GtkShortcutClass {
4859    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4860        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4861            .field("parent_class", &self.parent_class)
4862            .finish()
4863    }
4864}
4865
4866#[repr(C)]
4867#[allow(dead_code)]
4868pub struct _GtkShortcutControllerClass {
4869    _data: [u8; 0],
4870    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4871}
4872
4873pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4874
4875#[repr(C)]
4876#[allow(dead_code)]
4877pub struct _GtkShortcutLabelClass {
4878    _data: [u8; 0],
4879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4880}
4881
4882pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4883
4884#[derive(Copy, Clone)]
4885#[repr(C)]
4886pub struct GtkShortcutManagerInterface {
4887    pub g_iface: gobject::GTypeInterface,
4888    pub add_controller:
4889        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4890    pub remove_controller:
4891        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4892}
4893
4894impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4895    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4896        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4897            .field("add_controller", &self.add_controller)
4898            .field("remove_controller", &self.remove_controller)
4899            .finish()
4900    }
4901}
4902
4903#[repr(C)]
4904#[allow(dead_code)]
4905pub struct _GtkShortcutTriggerClass {
4906    _data: [u8; 0],
4907    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4908}
4909
4910pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4911
4912#[repr(C)]
4913#[allow(dead_code)]
4914pub struct _GtkShortcutsGroupClass {
4915    _data: [u8; 0],
4916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4917}
4918
4919pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4920
4921#[repr(C)]
4922#[allow(dead_code)]
4923pub struct _GtkShortcutsSectionClass {
4924    _data: [u8; 0],
4925    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4926}
4927
4928pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4929
4930#[repr(C)]
4931#[allow(dead_code)]
4932pub struct _GtkShortcutsShortcutClass {
4933    _data: [u8; 0],
4934    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4935}
4936
4937pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4938
4939#[repr(C)]
4940#[allow(dead_code)]
4941pub struct _GtkSignalActionClass {
4942    _data: [u8; 0],
4943    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4944}
4945
4946pub type GtkSignalActionClass = _GtkSignalActionClass;
4947
4948#[repr(C)]
4949#[allow(dead_code)]
4950pub struct _GtkSignalListItemFactoryClass {
4951    _data: [u8; 0],
4952    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4953}
4954
4955pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4956
4957#[derive(Copy, Clone)]
4958#[repr(C)]
4959pub struct GtkSingleSelectionClass {
4960    pub parent_class: gobject::GObjectClass,
4961}
4962
4963impl ::std::fmt::Debug for GtkSingleSelectionClass {
4964    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4965        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4966            .field("parent_class", &self.parent_class)
4967            .finish()
4968    }
4969}
4970
4971#[derive(Copy, Clone)]
4972#[repr(C)]
4973pub struct GtkSliceListModelClass {
4974    pub parent_class: gobject::GObjectClass,
4975}
4976
4977impl ::std::fmt::Debug for GtkSliceListModelClass {
4978    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4979        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4980            .field("parent_class", &self.parent_class)
4981            .finish()
4982    }
4983}
4984
4985#[repr(C)]
4986#[allow(dead_code)]
4987pub struct _GtkSnapshotClass {
4988    _data: [u8; 0],
4989    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4990}
4991
4992pub type GtkSnapshotClass = _GtkSnapshotClass;
4993
4994#[derive(Copy, Clone)]
4995#[repr(C)]
4996pub struct GtkSortListModelClass {
4997    pub parent_class: gobject::GObjectClass,
4998}
4999
5000impl ::std::fmt::Debug for GtkSortListModelClass {
5001    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5002        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
5003            .field("parent_class", &self.parent_class)
5004            .finish()
5005    }
5006}
5007
5008#[derive(Copy, Clone)]
5009#[repr(C)]
5010pub struct GtkSorterClass {
5011    pub parent_class: gobject::GObjectClass,
5012    pub compare: Option<
5013        unsafe extern "C" fn(
5014            *mut GtkSorter,
5015            *mut gobject::GObject,
5016            *mut gobject::GObject,
5017        ) -> GtkOrdering,
5018    >,
5019    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
5020    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5021    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5022    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5023    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5024    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5025    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5026    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5027    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5028}
5029
5030impl ::std::fmt::Debug for GtkSorterClass {
5031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5032        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
5033            .field("parent_class", &self.parent_class)
5034            .field("compare", &self.compare)
5035            .field("get_order", &self.get_order)
5036            .field("_gtk_reserved1", &self._gtk_reserved1)
5037            .field("_gtk_reserved2", &self._gtk_reserved2)
5038            .field("_gtk_reserved3", &self._gtk_reserved3)
5039            .field("_gtk_reserved4", &self._gtk_reserved4)
5040            .field("_gtk_reserved5", &self._gtk_reserved5)
5041            .field("_gtk_reserved6", &self._gtk_reserved6)
5042            .field("_gtk_reserved7", &self._gtk_reserved7)
5043            .field("_gtk_reserved8", &self._gtk_reserved8)
5044            .finish()
5045    }
5046}
5047
5048#[derive(Copy, Clone)]
5049#[repr(C)]
5050pub struct GtkStringFilterClass {
5051    pub parent_class: GtkFilterClass,
5052}
5053
5054impl ::std::fmt::Debug for GtkStringFilterClass {
5055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5056        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
5057            .field("parent_class", &self.parent_class)
5058            .finish()
5059    }
5060}
5061
5062#[derive(Copy, Clone)]
5063#[repr(C)]
5064pub struct GtkStringListClass {
5065    pub parent_class: gobject::GObjectClass,
5066}
5067
5068impl ::std::fmt::Debug for GtkStringListClass {
5069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5070        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
5071            .field("parent_class", &self.parent_class)
5072            .finish()
5073    }
5074}
5075
5076#[derive(Copy, Clone)]
5077#[repr(C)]
5078pub struct GtkStringObjectClass {
5079    pub parent_class: gobject::GObjectClass,
5080}
5081
5082impl ::std::fmt::Debug for GtkStringObjectClass {
5083    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5084        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
5085            .field("parent_class", &self.parent_class)
5086            .finish()
5087    }
5088}
5089
5090#[derive(Copy, Clone)]
5091#[repr(C)]
5092pub struct GtkStringSorterClass {
5093    pub parent_class: GtkSorterClass,
5094}
5095
5096impl ::std::fmt::Debug for GtkStringSorterClass {
5097    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5098        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
5099            .field("parent_class", &self.parent_class)
5100            .finish()
5101    }
5102}
5103
5104#[derive(Copy, Clone)]
5105#[repr(C)]
5106pub struct GtkStyleContextClass {
5107    pub parent_class: gobject::GObjectClass,
5108    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
5109    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5110    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5111    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5112    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5113}
5114
5115impl ::std::fmt::Debug for GtkStyleContextClass {
5116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5117        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
5118            .field("parent_class", &self.parent_class)
5119            .field("changed", &self.changed)
5120            .field("_gtk_reserved1", &self._gtk_reserved1)
5121            .field("_gtk_reserved2", &self._gtk_reserved2)
5122            .field("_gtk_reserved3", &self._gtk_reserved3)
5123            .field("_gtk_reserved4", &self._gtk_reserved4)
5124            .finish()
5125    }
5126}
5127
5128#[derive(Copy, Clone)]
5129#[repr(C)]
5130pub struct GtkSvgClass {
5131    pub parent_class: gobject::GObjectClass,
5132}
5133
5134impl ::std::fmt::Debug for GtkSvgClass {
5135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5136        f.debug_struct(&format!("GtkSvgClass @ {self:p}"))
5137            .field("parent_class", &self.parent_class)
5138            .finish()
5139    }
5140}
5141
5142#[derive(Copy, Clone)]
5143#[repr(C)]
5144pub struct GtkSvgLocation {
5145    pub bytes: size_t,
5146    pub lines: size_t,
5147    pub line_chars: size_t,
5148}
5149
5150impl ::std::fmt::Debug for GtkSvgLocation {
5151    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5152        f.debug_struct(&format!("GtkSvgLocation @ {self:p}"))
5153            .field("bytes", &self.bytes)
5154            .field("lines", &self.lines)
5155            .field("line_chars", &self.line_chars)
5156            .finish()
5157    }
5158}
5159
5160#[derive(Copy, Clone)]
5161#[repr(C)]
5162pub struct GtkSvgWidgetClass {
5163    pub parent_class: GtkWidgetClass,
5164}
5165
5166impl ::std::fmt::Debug for GtkSvgWidgetClass {
5167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5168        f.debug_struct(&format!("GtkSvgWidgetClass @ {self:p}"))
5169            .field("parent_class", &self.parent_class)
5170            .finish()
5171    }
5172}
5173
5174#[derive(Copy, Clone)]
5175#[repr(C)]
5176pub struct GtkSymbolicPaintableInterface {
5177    pub g_iface: gobject::GTypeInterface,
5178    pub snapshot_symbolic: Option<
5179        unsafe extern "C" fn(
5180            *mut GtkSymbolicPaintable,
5181            *mut gdk::GdkSnapshot,
5182            c_double,
5183            c_double,
5184            *const gdk::GdkRGBA,
5185            size_t,
5186        ),
5187    >,
5188    pub snapshot_with_weight: Option<
5189        unsafe extern "C" fn(
5190            *mut GtkSymbolicPaintable,
5191            *mut gdk::GdkSnapshot,
5192            c_double,
5193            c_double,
5194            *const gdk::GdkRGBA,
5195            size_t,
5196            c_double,
5197        ),
5198    >,
5199}
5200
5201impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
5202    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5203        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
5204            .field("snapshot_symbolic", &self.snapshot_symbolic)
5205            .field("snapshot_with_weight", &self.snapshot_with_weight)
5206            .finish()
5207    }
5208}
5209
5210#[derive(Copy, Clone)]
5211#[repr(C)]
5212pub struct GtkTextBufferClass {
5213    pub parent_class: gobject::GObjectClass,
5214    pub insert_text:
5215        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
5216    pub insert_paintable:
5217        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
5218    pub insert_child_anchor:
5219        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
5220    pub delete_range:
5221        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
5222    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5223    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5224    pub mark_set:
5225        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
5226    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
5227    pub apply_tag: Option<
5228        unsafe extern "C" fn(
5229            *mut GtkTextBuffer,
5230            *mut GtkTextTag,
5231            *const GtkTextIter,
5232            *const GtkTextIter,
5233        ),
5234    >,
5235    pub remove_tag: Option<
5236        unsafe extern "C" fn(
5237            *mut GtkTextBuffer,
5238            *mut GtkTextTag,
5239            *const GtkTextIter,
5240            *const GtkTextIter,
5241        ),
5242    >,
5243    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5244    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5245    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
5246    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5247    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5248    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5249    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5250    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5251    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5252}
5253
5254impl ::std::fmt::Debug for GtkTextBufferClass {
5255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5256        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
5257            .field("parent_class", &self.parent_class)
5258            .field("insert_text", &self.insert_text)
5259            .field("insert_paintable", &self.insert_paintable)
5260            .field("insert_child_anchor", &self.insert_child_anchor)
5261            .field("delete_range", &self.delete_range)
5262            .field("changed", &self.changed)
5263            .field("modified_changed", &self.modified_changed)
5264            .field("mark_set", &self.mark_set)
5265            .field("mark_deleted", &self.mark_deleted)
5266            .field("apply_tag", &self.apply_tag)
5267            .field("remove_tag", &self.remove_tag)
5268            .field("begin_user_action", &self.begin_user_action)
5269            .field("end_user_action", &self.end_user_action)
5270            .field("paste_done", &self.paste_done)
5271            .field("undo", &self.undo)
5272            .field("redo", &self.redo)
5273            .field("_gtk_reserved1", &self._gtk_reserved1)
5274            .field("_gtk_reserved2", &self._gtk_reserved2)
5275            .field("_gtk_reserved3", &self._gtk_reserved3)
5276            .field("_gtk_reserved4", &self._gtk_reserved4)
5277            .finish()
5278    }
5279}
5280
5281#[repr(C)]
5282#[allow(dead_code)]
5283pub struct _GtkTextBufferPrivate {
5284    _data: [u8; 0],
5285    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5286}
5287
5288pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5289
5290#[derive(Copy, Clone)]
5291#[repr(C)]
5292pub struct GtkTextChildAnchorClass {
5293    pub parent_class: gobject::GObjectClass,
5294    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5295    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5296    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5297    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5298}
5299
5300impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5302        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5303            .field("parent_class", &self.parent_class)
5304            .field("_gtk_reserved1", &self._gtk_reserved1)
5305            .field("_gtk_reserved2", &self._gtk_reserved2)
5306            .field("_gtk_reserved3", &self._gtk_reserved3)
5307            .field("_gtk_reserved4", &self._gtk_reserved4)
5308            .finish()
5309    }
5310}
5311
5312#[derive(Copy, Clone)]
5313#[repr(C)]
5314pub struct GtkTextIter {
5315    pub dummy1: gpointer,
5316    pub dummy2: gpointer,
5317    pub dummy3: c_int,
5318    pub dummy4: c_int,
5319    pub dummy5: c_int,
5320    pub dummy6: c_int,
5321    pub dummy7: c_int,
5322    pub dummy8: c_int,
5323    pub dummy9: gpointer,
5324    pub dummy10: gpointer,
5325    pub dummy11: c_int,
5326    pub dummy12: c_int,
5327    pub dummy13: c_int,
5328    pub dummy14: gpointer,
5329}
5330
5331impl ::std::fmt::Debug for GtkTextIter {
5332    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5333        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5334    }
5335}
5336
5337#[derive(Copy, Clone)]
5338#[repr(C)]
5339pub struct GtkTextMarkClass {
5340    pub parent_class: gobject::GObjectClass,
5341    pub padding: [gpointer; 8],
5342}
5343
5344impl ::std::fmt::Debug for GtkTextMarkClass {
5345    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5346        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5347            .field("parent_class", &self.parent_class)
5348            .finish()
5349    }
5350}
5351
5352#[derive(Copy, Clone)]
5353#[repr(C)]
5354pub struct GtkTextTagClass {
5355    pub parent_class: gobject::GObjectClass,
5356    pub padding: [gpointer; 8],
5357}
5358
5359impl ::std::fmt::Debug for GtkTextTagClass {
5360    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5361        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5362            .field("parent_class", &self.parent_class)
5363            .finish()
5364    }
5365}
5366
5367#[repr(C)]
5368#[allow(dead_code)]
5369pub struct _GtkTextTagPrivate {
5370    _data: [u8; 0],
5371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5372}
5373
5374pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5375
5376#[derive(Copy, Clone)]
5377#[repr(C)]
5378pub struct GtkTextViewClass {
5379    pub parent_class: GtkWidgetClass,
5380    pub move_cursor:
5381        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5382    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5383    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5384    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5385    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5386    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5387    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5388    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5389    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5390    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5391    pub snapshot_layer:
5392        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5393    pub extend_selection: Option<
5394        unsafe extern "C" fn(
5395            *mut GtkTextView,
5396            GtkTextExtendSelection,
5397            *const GtkTextIter,
5398            *mut GtkTextIter,
5399            *mut GtkTextIter,
5400        ) -> gboolean,
5401    >,
5402    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5403    pub padding: [gpointer; 8],
5404}
5405
5406impl ::std::fmt::Debug for GtkTextViewClass {
5407    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5408        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5409            .field("parent_class", &self.parent_class)
5410            .field("move_cursor", &self.move_cursor)
5411            .field("set_anchor", &self.set_anchor)
5412            .field("insert_at_cursor", &self.insert_at_cursor)
5413            .field("delete_from_cursor", &self.delete_from_cursor)
5414            .field("backspace", &self.backspace)
5415            .field("cut_clipboard", &self.cut_clipboard)
5416            .field("copy_clipboard", &self.copy_clipboard)
5417            .field("paste_clipboard", &self.paste_clipboard)
5418            .field("toggle_overwrite", &self.toggle_overwrite)
5419            .field("create_buffer", &self.create_buffer)
5420            .field("snapshot_layer", &self.snapshot_layer)
5421            .field("extend_selection", &self.extend_selection)
5422            .field("insert_emoji", &self.insert_emoji)
5423            .finish()
5424    }
5425}
5426
5427#[repr(C)]
5428#[allow(dead_code)]
5429pub struct _GtkTextViewPrivate {
5430    _data: [u8; 0],
5431    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5432}
5433
5434pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5435
5436#[derive(Copy, Clone)]
5437#[repr(C)]
5438pub struct GtkToggleButtonClass {
5439    pub parent_class: GtkButtonClass,
5440    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5441    pub padding: [gpointer; 8],
5442}
5443
5444impl ::std::fmt::Debug for GtkToggleButtonClass {
5445    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5446        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5447            .field("parent_class", &self.parent_class)
5448            .field("toggled", &self.toggled)
5449            .finish()
5450    }
5451}
5452
5453#[derive(Copy, Clone)]
5454#[repr(C)]
5455pub struct GtkTreeDragDestIface {
5456    pub g_iface: gobject::GTypeInterface,
5457    pub drag_data_received: Option<
5458        unsafe extern "C" fn(
5459            *mut GtkTreeDragDest,
5460            *mut GtkTreePath,
5461            *const gobject::GValue,
5462        ) -> gboolean,
5463    >,
5464    pub row_drop_possible: Option<
5465        unsafe extern "C" fn(
5466            *mut GtkTreeDragDest,
5467            *mut GtkTreePath,
5468            *const gobject::GValue,
5469        ) -> gboolean,
5470    >,
5471}
5472
5473impl ::std::fmt::Debug for GtkTreeDragDestIface {
5474    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5475        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5476            .field("drag_data_received", &self.drag_data_received)
5477            .field("row_drop_possible", &self.row_drop_possible)
5478            .finish()
5479    }
5480}
5481
5482#[derive(Copy, Clone)]
5483#[repr(C)]
5484pub struct GtkTreeDragSourceIface {
5485    pub g_iface: gobject::GTypeInterface,
5486    pub row_draggable:
5487        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5488    pub drag_data_get: Option<
5489        unsafe extern "C" fn(
5490            *mut GtkTreeDragSource,
5491            *mut GtkTreePath,
5492        ) -> *mut gdk::GdkContentProvider,
5493    >,
5494    pub drag_data_delete:
5495        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5496}
5497
5498impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5499    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5500        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5501            .field("row_draggable", &self.row_draggable)
5502            .field("drag_data_get", &self.drag_data_get)
5503            .field("drag_data_delete", &self.drag_data_delete)
5504            .finish()
5505    }
5506}
5507
5508#[derive(Copy, Clone)]
5509#[repr(C)]
5510pub struct GtkTreeExpanderClass {
5511    pub parent_class: GtkWidgetClass,
5512}
5513
5514impl ::std::fmt::Debug for GtkTreeExpanderClass {
5515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5516        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5517            .field("parent_class", &self.parent_class)
5518            .finish()
5519    }
5520}
5521
5522#[derive(Copy, Clone)]
5523#[repr(C)]
5524pub struct GtkTreeIter {
5525    pub stamp: c_int,
5526    pub user_data: gpointer,
5527    pub user_data2: gpointer,
5528    pub user_data3: gpointer,
5529}
5530
5531impl ::std::fmt::Debug for GtkTreeIter {
5532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5533        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5534            .field("stamp", &self.stamp)
5535            .field("user_data", &self.user_data)
5536            .field("user_data2", &self.user_data2)
5537            .field("user_data3", &self.user_data3)
5538            .finish()
5539    }
5540}
5541
5542#[derive(Copy, Clone)]
5543#[repr(C)]
5544pub struct GtkTreeListModelClass {
5545    pub parent_class: gobject::GObjectClass,
5546}
5547
5548impl ::std::fmt::Debug for GtkTreeListModelClass {
5549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5550        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5551            .field("parent_class", &self.parent_class)
5552            .finish()
5553    }
5554}
5555
5556#[derive(Copy, Clone)]
5557#[repr(C)]
5558pub struct GtkTreeListRowClass {
5559    pub parent_class: gobject::GObjectClass,
5560}
5561
5562impl ::std::fmt::Debug for GtkTreeListRowClass {
5563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5564        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5565            .field("parent_class", &self.parent_class)
5566            .finish()
5567    }
5568}
5569
5570#[derive(Copy, Clone)]
5571#[repr(C)]
5572pub struct GtkTreeListRowSorterClass {
5573    pub parent_class: GtkSorterClass,
5574}
5575
5576impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5578        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5579            .field("parent_class", &self.parent_class)
5580            .finish()
5581    }
5582}
5583
5584#[derive(Copy, Clone)]
5585#[repr(C)]
5586pub struct GtkTreeModelFilterClass {
5587    pub parent_class: gobject::GObjectClass,
5588    pub visible: Option<
5589        unsafe extern "C" fn(
5590            *mut GtkTreeModelFilter,
5591            *mut GtkTreeModel,
5592            *mut GtkTreeIter,
5593        ) -> gboolean,
5594    >,
5595    pub modify: Option<
5596        unsafe extern "C" fn(
5597            *mut GtkTreeModelFilter,
5598            *mut GtkTreeModel,
5599            *mut GtkTreeIter,
5600            *mut gobject::GValue,
5601            c_int,
5602        ),
5603    >,
5604    pub padding: [gpointer; 8],
5605}
5606
5607impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5609        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5610            .field("parent_class", &self.parent_class)
5611            .field("visible", &self.visible)
5612            .field("modify", &self.modify)
5613            .finish()
5614    }
5615}
5616
5617#[repr(C)]
5618#[allow(dead_code)]
5619pub struct _GtkTreeModelFilterPrivate {
5620    _data: [u8; 0],
5621    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5622}
5623
5624pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5625
5626#[derive(Copy, Clone)]
5627#[repr(C)]
5628pub struct GtkTreeModelIface {
5629    pub g_iface: gobject::GTypeInterface,
5630    pub row_changed:
5631        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5632    pub row_inserted:
5633        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5634    pub row_has_child_toggled:
5635        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5636    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5637    pub rows_reordered: Option<
5638        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5639    >,
5640    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5641    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5642    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5643    pub get_iter: Option<
5644        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5645    >,
5646    pub get_path:
5647        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5648    pub get_value: Option<
5649        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5650    >,
5651    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5652    pub iter_previous:
5653        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5654    pub iter_children: Option<
5655        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5656    >,
5657    pub iter_has_child:
5658        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5659    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5660    pub iter_nth_child: Option<
5661        unsafe extern "C" fn(
5662            *mut GtkTreeModel,
5663            *mut GtkTreeIter,
5664            *mut GtkTreeIter,
5665            c_int,
5666        ) -> gboolean,
5667    >,
5668    pub iter_parent: Option<
5669        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5670    >,
5671    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5672    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5673}
5674
5675impl ::std::fmt::Debug for GtkTreeModelIface {
5676    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5677        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5678            .field("row_changed", &self.row_changed)
5679            .field("row_inserted", &self.row_inserted)
5680            .field("row_has_child_toggled", &self.row_has_child_toggled)
5681            .field("row_deleted", &self.row_deleted)
5682            .field("rows_reordered", &self.rows_reordered)
5683            .field("get_flags", &self.get_flags)
5684            .field("get_n_columns", &self.get_n_columns)
5685            .field("get_column_type", &self.get_column_type)
5686            .field("get_iter", &self.get_iter)
5687            .field("get_path", &self.get_path)
5688            .field("get_value", &self.get_value)
5689            .field("iter_next", &self.iter_next)
5690            .field("iter_previous", &self.iter_previous)
5691            .field("iter_children", &self.iter_children)
5692            .field("iter_has_child", &self.iter_has_child)
5693            .field("iter_n_children", &self.iter_n_children)
5694            .field("iter_nth_child", &self.iter_nth_child)
5695            .field("iter_parent", &self.iter_parent)
5696            .field("ref_node", &self.ref_node)
5697            .field("unref_node", &self.unref_node)
5698            .finish()
5699    }
5700}
5701
5702#[derive(Copy, Clone)]
5703#[repr(C)]
5704pub struct GtkTreeModelSortClass {
5705    pub parent_class: gobject::GObjectClass,
5706    pub padding: [gpointer; 8],
5707}
5708
5709impl ::std::fmt::Debug for GtkTreeModelSortClass {
5710    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5711        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5712            .field("parent_class", &self.parent_class)
5713            .finish()
5714    }
5715}
5716
5717#[repr(C)]
5718#[allow(dead_code)]
5719pub struct _GtkTreeModelSortPrivate {
5720    _data: [u8; 0],
5721    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5722}
5723
5724pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5725
5726#[repr(C)]
5727#[allow(dead_code)]
5728pub struct GtkTreePath {
5729    _data: [u8; 0],
5730    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5731}
5732
5733impl ::std::fmt::Debug for GtkTreePath {
5734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5735        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5736    }
5737}
5738
5739#[repr(C)]
5740#[allow(dead_code)]
5741pub struct GtkTreeRowReference {
5742    _data: [u8; 0],
5743    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5744}
5745
5746impl ::std::fmt::Debug for GtkTreeRowReference {
5747    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5748        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5749            .finish()
5750    }
5751}
5752
5753#[derive(Copy, Clone)]
5754#[repr(C)]
5755pub struct GtkTreeSortableIface {
5756    pub g_iface: gobject::GTypeInterface,
5757    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5758    pub get_sort_column_id: Option<
5759        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5760    >,
5761    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5762    pub set_sort_func: Option<
5763        unsafe extern "C" fn(
5764            *mut GtkTreeSortable,
5765            c_int,
5766            GtkTreeIterCompareFunc,
5767            gpointer,
5768            glib::GDestroyNotify,
5769        ),
5770    >,
5771    pub set_default_sort_func: Option<
5772        unsafe extern "C" fn(
5773            *mut GtkTreeSortable,
5774            GtkTreeIterCompareFunc,
5775            gpointer,
5776            glib::GDestroyNotify,
5777        ),
5778    >,
5779    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5780}
5781
5782impl ::std::fmt::Debug for GtkTreeSortableIface {
5783    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5784        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5785            .field("sort_column_changed", &self.sort_column_changed)
5786            .field("get_sort_column_id", &self.get_sort_column_id)
5787            .field("set_sort_column_id", &self.set_sort_column_id)
5788            .field("set_sort_func", &self.set_sort_func)
5789            .field("set_default_sort_func", &self.set_default_sort_func)
5790            .field("has_default_sort_func", &self.has_default_sort_func)
5791            .finish()
5792    }
5793}
5794
5795#[derive(Copy, Clone)]
5796#[repr(C)]
5797pub struct GtkTreeStoreClass {
5798    pub parent_class: gobject::GObjectClass,
5799    pub padding: [gpointer; 8],
5800}
5801
5802impl ::std::fmt::Debug for GtkTreeStoreClass {
5803    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5804        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5805            .field("parent_class", &self.parent_class)
5806            .finish()
5807    }
5808}
5809
5810#[repr(C)]
5811#[allow(dead_code)]
5812pub struct _GtkTreeStorePrivate {
5813    _data: [u8; 0],
5814    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5815}
5816
5817pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5818
5819#[derive(Copy, Clone)]
5820#[repr(C)]
5821pub struct GtkTreeViewClass {
5822    pub parent_class: GtkWidgetClass,
5823    pub row_activated:
5824        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5825    pub test_expand_row: Option<
5826        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5827    >,
5828    pub test_collapse_row: Option<
5829        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5830    >,
5831    pub row_expanded:
5832        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5833    pub row_collapsed:
5834        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5835    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5836    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5837    pub move_cursor: Option<
5838        unsafe extern "C" fn(
5839            *mut GtkTreeView,
5840            GtkMovementStep,
5841            c_int,
5842            gboolean,
5843            gboolean,
5844        ) -> gboolean,
5845    >,
5846    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5847    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5848    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5849    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5850    pub expand_collapse_cursor_row:
5851        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5852    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5853    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5854    pub _reserved: [gpointer; 16],
5855}
5856
5857impl ::std::fmt::Debug for GtkTreeViewClass {
5858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5859        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5860            .field("parent_class", &self.parent_class)
5861            .field("row_activated", &self.row_activated)
5862            .field("test_expand_row", &self.test_expand_row)
5863            .field("test_collapse_row", &self.test_collapse_row)
5864            .field("row_expanded", &self.row_expanded)
5865            .field("row_collapsed", &self.row_collapsed)
5866            .field("columns_changed", &self.columns_changed)
5867            .field("cursor_changed", &self.cursor_changed)
5868            .field("move_cursor", &self.move_cursor)
5869            .field("select_all", &self.select_all)
5870            .field("unselect_all", &self.unselect_all)
5871            .field("select_cursor_row", &self.select_cursor_row)
5872            .field("toggle_cursor_row", &self.toggle_cursor_row)
5873            .field(
5874                "expand_collapse_cursor_row",
5875                &self.expand_collapse_cursor_row,
5876            )
5877            .field("select_cursor_parent", &self.select_cursor_parent)
5878            .field("start_interactive_search", &self.start_interactive_search)
5879            .finish()
5880    }
5881}
5882
5883#[derive(Copy, Clone)]
5884#[repr(C)]
5885pub struct GtkUriLauncherClass {
5886    pub parent_class: gobject::GObjectClass,
5887}
5888
5889impl ::std::fmt::Debug for GtkUriLauncherClass {
5890    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5891        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5892            .field("parent_class", &self.parent_class)
5893            .finish()
5894    }
5895}
5896
5897#[derive(Copy, Clone)]
5898#[repr(C)]
5899pub struct GtkVideoClass {
5900    pub parent_class: GtkWidgetClass,
5901}
5902
5903impl ::std::fmt::Debug for GtkVideoClass {
5904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5905        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5906            .field("parent_class", &self.parent_class)
5907            .finish()
5908    }
5909}
5910
5911#[derive(Copy, Clone)]
5912#[repr(C)]
5913pub struct GtkWidgetClass {
5914    pub parent_class: gobject::GInitiallyUnownedClass,
5915    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5916    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5917    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5918    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5919    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5920    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5921    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5922    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5923    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5924    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5925    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5926    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5927    pub measure: Option<
5928        unsafe extern "C" fn(
5929            *mut GtkWidget,
5930            GtkOrientation,
5931            c_int,
5932            *mut c_int,
5933            *mut c_int,
5934            *mut c_int,
5935            *mut c_int,
5936        ),
5937    >,
5938    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5939    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5940    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5941    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5942    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5943    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5944    pub query_tooltip: Option<
5945        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5946    >,
5947    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5948    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5949    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5950    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5951    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5952    pub priv_: *mut GtkWidgetClassPrivate,
5953    pub padding: [gpointer; 8],
5954}
5955
5956impl ::std::fmt::Debug for GtkWidgetClass {
5957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5958        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5959            .field("parent_class", &self.parent_class)
5960            .field("show", &self.show)
5961            .field("hide", &self.hide)
5962            .field("map", &self.map)
5963            .field("unmap", &self.unmap)
5964            .field("realize", &self.realize)
5965            .field("unrealize", &self.unrealize)
5966            .field("root", &self.root)
5967            .field("unroot", &self.unroot)
5968            .field("size_allocate", &self.size_allocate)
5969            .field("state_flags_changed", &self.state_flags_changed)
5970            .field("direction_changed", &self.direction_changed)
5971            .field("get_request_mode", &self.get_request_mode)
5972            .field("measure", &self.measure)
5973            .field("mnemonic_activate", &self.mnemonic_activate)
5974            .field("grab_focus", &self.grab_focus)
5975            .field("focus", &self.focus)
5976            .field("set_focus_child", &self.set_focus_child)
5977            .field("move_focus", &self.move_focus)
5978            .field("keynav_failed", &self.keynav_failed)
5979            .field("query_tooltip", &self.query_tooltip)
5980            .field("compute_expand", &self.compute_expand)
5981            .field("css_changed", &self.css_changed)
5982            .field("system_setting_changed", &self.system_setting_changed)
5983            .field("snapshot", &self.snapshot)
5984            .field("contains", &self.contains)
5985            .finish()
5986    }
5987}
5988
5989#[repr(C)]
5990#[allow(dead_code)]
5991pub struct _GtkWidgetClassPrivate {
5992    _data: [u8; 0],
5993    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5994}
5995
5996pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5997
5998#[derive(Copy, Clone)]
5999#[repr(C)]
6000pub struct GtkWidgetPaintableClass {
6001    pub parent_class: gobject::GObjectClass,
6002}
6003
6004impl ::std::fmt::Debug for GtkWidgetPaintableClass {
6005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6006        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
6007            .field("parent_class", &self.parent_class)
6008            .finish()
6009    }
6010}
6011
6012#[repr(C)]
6013#[allow(dead_code)]
6014pub struct _GtkWidgetPrivate {
6015    _data: [u8; 0],
6016    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6017}
6018
6019pub type GtkWidgetPrivate = _GtkWidgetPrivate;
6020
6021#[derive(Copy, Clone)]
6022#[repr(C)]
6023pub struct GtkWindowClass {
6024    pub parent_class: GtkWidgetClass,
6025    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6026    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6027    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6028    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
6029    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
6030    pub force_close: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6031    pub padding: [gpointer; 7],
6032}
6033
6034impl ::std::fmt::Debug for GtkWindowClass {
6035    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6036        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
6037            .field("parent_class", &self.parent_class)
6038            .field("activate_focus", &self.activate_focus)
6039            .field("activate_default", &self.activate_default)
6040            .field("keys_changed", &self.keys_changed)
6041            .field("enable_debugging", &self.enable_debugging)
6042            .field("close_request", &self.close_request)
6043            .field("force_close", &self.force_close)
6044            .finish()
6045    }
6046}
6047
6048#[derive(Copy, Clone)]
6049#[repr(C)]
6050pub struct GtkWindowControlsClass {
6051    pub parent_class: GtkWidgetClass,
6052}
6053
6054impl ::std::fmt::Debug for GtkWindowControlsClass {
6055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6056        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
6057            .field("parent_class", &self.parent_class)
6058            .finish()
6059    }
6060}
6061
6062#[derive(Copy, Clone)]
6063#[repr(C)]
6064pub struct GtkWindowGroupClass {
6065    pub parent_class: gobject::GObjectClass,
6066    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6067    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6068    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6069    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6070}
6071
6072impl ::std::fmt::Debug for GtkWindowGroupClass {
6073    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6074        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
6075            .field("parent_class", &self.parent_class)
6076            .field("_gtk_reserved1", &self._gtk_reserved1)
6077            .field("_gtk_reserved2", &self._gtk_reserved2)
6078            .field("_gtk_reserved3", &self._gtk_reserved3)
6079            .field("_gtk_reserved4", &self._gtk_reserved4)
6080            .finish()
6081    }
6082}
6083
6084#[repr(C)]
6085#[allow(dead_code)]
6086pub struct _GtkWindowGroupPrivate {
6087    _data: [u8; 0],
6088    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6089}
6090
6091pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
6092
6093#[derive(Copy, Clone)]
6094#[repr(C)]
6095pub struct GtkWindowHandleClass {
6096    pub parent_class: GtkWidgetClass,
6097}
6098
6099impl ::std::fmt::Debug for GtkWindowHandleClass {
6100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6101        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
6102            .field("parent_class", &self.parent_class)
6103            .finish()
6104    }
6105}
6106
6107// Classes
6108#[repr(C)]
6109#[allow(dead_code)]
6110pub struct GtkATContext {
6111    _data: [u8; 0],
6112    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6113}
6114
6115impl ::std::fmt::Debug for GtkATContext {
6116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6117        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
6118    }
6119}
6120
6121#[repr(C)]
6122#[allow(dead_code)]
6123pub struct GtkAboutDialog {
6124    _data: [u8; 0],
6125    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6126}
6127
6128impl ::std::fmt::Debug for GtkAboutDialog {
6129    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6130        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
6131            .finish()
6132    }
6133}
6134
6135#[repr(C)]
6136#[allow(dead_code)]
6137pub struct GtkAccessibleHyperlink {
6138    _data: [u8; 0],
6139    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6140}
6141
6142impl ::std::fmt::Debug for GtkAccessibleHyperlink {
6143    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6144        f.debug_struct(&format!("GtkAccessibleHyperlink @ {self:p}"))
6145            .finish()
6146    }
6147}
6148
6149#[repr(C)]
6150#[allow(dead_code)]
6151pub struct GtkActionBar {
6152    _data: [u8; 0],
6153    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6154}
6155
6156impl ::std::fmt::Debug for GtkActionBar {
6157    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6158        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
6159    }
6160}
6161
6162#[repr(C)]
6163#[allow(dead_code)]
6164pub struct GtkActivateAction {
6165    _data: [u8; 0],
6166    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6167}
6168
6169impl ::std::fmt::Debug for GtkActivateAction {
6170    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6171        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
6172            .finish()
6173    }
6174}
6175
6176#[derive(Copy, Clone)]
6177#[repr(C)]
6178pub struct GtkAdjustment {
6179    pub parent_instance: gobject::GInitiallyUnowned,
6180}
6181
6182impl ::std::fmt::Debug for GtkAdjustment {
6183    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6184        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
6185            .field("parent_instance", &self.parent_instance)
6186            .finish()
6187    }
6188}
6189
6190#[repr(C)]
6191#[allow(dead_code)]
6192pub struct GtkAlertDialog {
6193    _data: [u8; 0],
6194    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6195}
6196
6197impl ::std::fmt::Debug for GtkAlertDialog {
6198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6199        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
6200            .finish()
6201    }
6202}
6203
6204#[repr(C)]
6205#[allow(dead_code)]
6206pub struct GtkAlternativeTrigger {
6207    _data: [u8; 0],
6208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6209}
6210
6211impl ::std::fmt::Debug for GtkAlternativeTrigger {
6212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6213        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
6214            .finish()
6215    }
6216}
6217
6218#[repr(C)]
6219#[allow(dead_code)]
6220pub struct GtkAnyFilter {
6221    _data: [u8; 0],
6222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6223}
6224
6225impl ::std::fmt::Debug for GtkAnyFilter {
6226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6227        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
6228    }
6229}
6230
6231#[repr(C)]
6232#[allow(dead_code)]
6233pub struct GtkAppChooserButton {
6234    _data: [u8; 0],
6235    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6236}
6237
6238impl ::std::fmt::Debug for GtkAppChooserButton {
6239    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6240        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
6241            .finish()
6242    }
6243}
6244
6245#[repr(C)]
6246#[allow(dead_code)]
6247pub struct GtkAppChooserDialog {
6248    _data: [u8; 0],
6249    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6250}
6251
6252impl ::std::fmt::Debug for GtkAppChooserDialog {
6253    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6254        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
6255            .finish()
6256    }
6257}
6258
6259#[repr(C)]
6260#[allow(dead_code)]
6261pub struct GtkAppChooserWidget {
6262    _data: [u8; 0],
6263    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6264}
6265
6266impl ::std::fmt::Debug for GtkAppChooserWidget {
6267    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6268        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
6269            .finish()
6270    }
6271}
6272
6273#[derive(Copy, Clone)]
6274#[repr(C)]
6275pub struct GtkApplication {
6276    pub parent_instance: gio::GApplication,
6277}
6278
6279impl ::std::fmt::Debug for GtkApplication {
6280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6281        f.debug_struct(&format!("GtkApplication @ {self:p}"))
6282            .field("parent_instance", &self.parent_instance)
6283            .finish()
6284    }
6285}
6286
6287#[derive(Copy, Clone)]
6288#[repr(C)]
6289pub struct GtkApplicationWindow {
6290    pub parent_instance: GtkWindow,
6291}
6292
6293impl ::std::fmt::Debug for GtkApplicationWindow {
6294    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6295        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
6296            .field("parent_instance", &self.parent_instance)
6297            .finish()
6298    }
6299}
6300
6301#[repr(C)]
6302#[allow(dead_code)]
6303pub struct GtkAspectFrame {
6304    _data: [u8; 0],
6305    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6306}
6307
6308impl ::std::fmt::Debug for GtkAspectFrame {
6309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6310        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6311            .finish()
6312    }
6313}
6314
6315#[repr(C)]
6316#[allow(dead_code)]
6317pub struct GtkAssistant {
6318    _data: [u8; 0],
6319    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6320}
6321
6322impl ::std::fmt::Debug for GtkAssistant {
6323    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6324        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6325    }
6326}
6327
6328#[repr(C)]
6329#[allow(dead_code)]
6330pub struct GtkAssistantPage {
6331    _data: [u8; 0],
6332    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6333}
6334
6335impl ::std::fmt::Debug for GtkAssistantPage {
6336    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6337        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6338            .finish()
6339    }
6340}
6341
6342#[repr(C)]
6343#[allow(dead_code)]
6344pub struct GtkBinLayout {
6345    _data: [u8; 0],
6346    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6347}
6348
6349impl ::std::fmt::Debug for GtkBinLayout {
6350    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6351        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6352    }
6353}
6354
6355#[repr(C)]
6356#[allow(dead_code)]
6357pub struct GtkBookmarkList {
6358    _data: [u8; 0],
6359    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6360}
6361
6362impl ::std::fmt::Debug for GtkBookmarkList {
6363    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6364        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6365            .finish()
6366    }
6367}
6368
6369#[repr(C)]
6370#[allow(dead_code)]
6371pub struct GtkBoolFilter {
6372    _data: [u8; 0],
6373    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6374}
6375
6376impl ::std::fmt::Debug for GtkBoolFilter {
6377    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6378        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6379            .finish()
6380    }
6381}
6382
6383#[derive(Copy, Clone)]
6384#[repr(C)]
6385pub struct GtkBox {
6386    pub parent_instance: GtkWidget,
6387}
6388
6389impl ::std::fmt::Debug for GtkBox {
6390    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6391        f.debug_struct(&format!("GtkBox @ {self:p}"))
6392            .field("parent_instance", &self.parent_instance)
6393            .finish()
6394    }
6395}
6396
6397#[repr(C)]
6398#[allow(dead_code)]
6399pub struct GtkBoxLayout {
6400    _data: [u8; 0],
6401    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6402}
6403
6404impl ::std::fmt::Debug for GtkBoxLayout {
6405    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6406        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6407    }
6408}
6409
6410#[repr(C)]
6411#[allow(dead_code)]
6412pub struct GtkBuilder {
6413    _data: [u8; 0],
6414    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6415}
6416
6417impl ::std::fmt::Debug for GtkBuilder {
6418    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6419        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6420    }
6421}
6422
6423#[derive(Copy, Clone)]
6424#[repr(C)]
6425pub struct GtkBuilderCScope {
6426    pub parent_instance: gobject::GObject,
6427}
6428
6429impl ::std::fmt::Debug for GtkBuilderCScope {
6430    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6431        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6432            .field("parent_instance", &self.parent_instance)
6433            .finish()
6434    }
6435}
6436
6437#[repr(C)]
6438#[allow(dead_code)]
6439pub struct GtkBuilderListItemFactory {
6440    _data: [u8; 0],
6441    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6442}
6443
6444impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6445    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6446        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6447            .finish()
6448    }
6449}
6450
6451#[derive(Copy, Clone)]
6452#[repr(C)]
6453pub struct GtkButton {
6454    pub parent_instance: GtkWidget,
6455}
6456
6457impl ::std::fmt::Debug for GtkButton {
6458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6459        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6460    }
6461}
6462
6463#[repr(C)]
6464#[allow(dead_code)]
6465pub struct GtkCClosureExpression {
6466    _data: [u8; 0],
6467    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6468}
6469
6470impl ::std::fmt::Debug for GtkCClosureExpression {
6471    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6472        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6473            .finish()
6474    }
6475}
6476
6477#[repr(C)]
6478#[allow(dead_code)]
6479pub struct GtkCalendar {
6480    _data: [u8; 0],
6481    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6482}
6483
6484impl ::std::fmt::Debug for GtkCalendar {
6485    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6486        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6487    }
6488}
6489
6490#[repr(C)]
6491#[allow(dead_code)]
6492pub struct GtkCallbackAction {
6493    _data: [u8; 0],
6494    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6495}
6496
6497impl ::std::fmt::Debug for GtkCallbackAction {
6498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6499        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6500            .finish()
6501    }
6502}
6503
6504#[derive(Copy, Clone)]
6505#[repr(C)]
6506pub struct GtkCellArea {
6507    pub parent_instance: gobject::GInitiallyUnowned,
6508}
6509
6510impl ::std::fmt::Debug for GtkCellArea {
6511    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6512        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6513    }
6514}
6515
6516#[repr(C)]
6517#[allow(dead_code)]
6518pub struct GtkCellAreaBox {
6519    _data: [u8; 0],
6520    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6521}
6522
6523impl ::std::fmt::Debug for GtkCellAreaBox {
6524    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6525        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6526            .finish()
6527    }
6528}
6529
6530#[derive(Copy, Clone)]
6531#[repr(C)]
6532pub struct GtkCellAreaContext {
6533    pub parent_instance: gobject::GObject,
6534}
6535
6536impl ::std::fmt::Debug for GtkCellAreaContext {
6537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6538        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6539            .finish()
6540    }
6541}
6542
6543#[derive(Copy, Clone)]
6544#[repr(C)]
6545pub struct GtkCellRenderer {
6546    pub parent_instance: gobject::GInitiallyUnowned,
6547    pub priv_: *mut GtkCellRendererPrivate,
6548}
6549
6550impl ::std::fmt::Debug for GtkCellRenderer {
6551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6552        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6553            .field("parent_instance", &self.parent_instance)
6554            .finish()
6555    }
6556}
6557
6558#[repr(C)]
6559#[allow(dead_code)]
6560pub struct GtkCellRendererAccel {
6561    _data: [u8; 0],
6562    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6563}
6564
6565impl ::std::fmt::Debug for GtkCellRendererAccel {
6566    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6567        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6568            .finish()
6569    }
6570}
6571
6572#[repr(C)]
6573#[allow(dead_code)]
6574pub struct GtkCellRendererCombo {
6575    _data: [u8; 0],
6576    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6577}
6578
6579impl ::std::fmt::Debug for GtkCellRendererCombo {
6580    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6581        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6582            .finish()
6583    }
6584}
6585
6586#[repr(C)]
6587#[allow(dead_code)]
6588pub struct GtkCellRendererPixbuf {
6589    _data: [u8; 0],
6590    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6591}
6592
6593impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6594    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6595        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6596            .finish()
6597    }
6598}
6599
6600#[repr(C)]
6601#[allow(dead_code)]
6602pub struct GtkCellRendererProgress {
6603    _data: [u8; 0],
6604    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6605}
6606
6607impl ::std::fmt::Debug for GtkCellRendererProgress {
6608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6609        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6610            .finish()
6611    }
6612}
6613
6614#[repr(C)]
6615#[allow(dead_code)]
6616pub struct GtkCellRendererSpin {
6617    _data: [u8; 0],
6618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6619}
6620
6621impl ::std::fmt::Debug for GtkCellRendererSpin {
6622    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6623        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6624            .finish()
6625    }
6626}
6627
6628#[repr(C)]
6629#[allow(dead_code)]
6630pub struct GtkCellRendererSpinner {
6631    _data: [u8; 0],
6632    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6633}
6634
6635impl ::std::fmt::Debug for GtkCellRendererSpinner {
6636    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6637        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6638            .finish()
6639    }
6640}
6641
6642#[derive(Copy, Clone)]
6643#[repr(C)]
6644pub struct GtkCellRendererText {
6645    pub parent: GtkCellRenderer,
6646}
6647
6648impl ::std::fmt::Debug for GtkCellRendererText {
6649    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6650        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6651            .field("parent", &self.parent)
6652            .finish()
6653    }
6654}
6655
6656#[repr(C)]
6657#[allow(dead_code)]
6658pub struct GtkCellRendererToggle {
6659    _data: [u8; 0],
6660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6661}
6662
6663impl ::std::fmt::Debug for GtkCellRendererToggle {
6664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6665        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6666            .finish()
6667    }
6668}
6669
6670#[repr(C)]
6671#[allow(dead_code)]
6672pub struct GtkCellView {
6673    _data: [u8; 0],
6674    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6675}
6676
6677impl ::std::fmt::Debug for GtkCellView {
6678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6679        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6680    }
6681}
6682
6683#[repr(C)]
6684#[allow(dead_code)]
6685pub struct GtkCenterBox {
6686    _data: [u8; 0],
6687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6688}
6689
6690impl ::std::fmt::Debug for GtkCenterBox {
6691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6692        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6693    }
6694}
6695
6696#[repr(C)]
6697#[allow(dead_code)]
6698pub struct GtkCenterLayout {
6699    _data: [u8; 0],
6700    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6701}
6702
6703impl ::std::fmt::Debug for GtkCenterLayout {
6704    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6705        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6706            .finish()
6707    }
6708}
6709
6710#[derive(Copy, Clone)]
6711#[repr(C)]
6712pub struct GtkCheckButton {
6713    pub parent_instance: GtkWidget,
6714}
6715
6716impl ::std::fmt::Debug for GtkCheckButton {
6717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6718        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6719            .field("parent_instance", &self.parent_instance)
6720            .finish()
6721    }
6722}
6723
6724#[repr(C)]
6725#[allow(dead_code)]
6726pub struct GtkClosureExpression {
6727    _data: [u8; 0],
6728    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6729}
6730
6731impl ::std::fmt::Debug for GtkClosureExpression {
6732    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6733        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6734            .finish()
6735    }
6736}
6737
6738#[repr(C)]
6739#[allow(dead_code)]
6740pub struct GtkColorButton {
6741    _data: [u8; 0],
6742    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6743}
6744
6745impl ::std::fmt::Debug for GtkColorButton {
6746    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6747        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6748            .finish()
6749    }
6750}
6751
6752#[repr(C)]
6753#[allow(dead_code)]
6754pub struct GtkColorChooserDialog {
6755    _data: [u8; 0],
6756    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6757}
6758
6759impl ::std::fmt::Debug for GtkColorChooserDialog {
6760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6761        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6762            .finish()
6763    }
6764}
6765
6766#[repr(C)]
6767#[allow(dead_code)]
6768pub struct GtkColorChooserWidget {
6769    _data: [u8; 0],
6770    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6771}
6772
6773impl ::std::fmt::Debug for GtkColorChooserWidget {
6774    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6775        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6776            .finish()
6777    }
6778}
6779
6780#[repr(C)]
6781#[allow(dead_code)]
6782pub struct GtkColorDialog {
6783    _data: [u8; 0],
6784    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6785}
6786
6787impl ::std::fmt::Debug for GtkColorDialog {
6788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6789        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6790            .finish()
6791    }
6792}
6793
6794#[repr(C)]
6795#[allow(dead_code)]
6796pub struct GtkColorDialogButton {
6797    _data: [u8; 0],
6798    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6799}
6800
6801impl ::std::fmt::Debug for GtkColorDialogButton {
6802    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6803        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6804            .finish()
6805    }
6806}
6807
6808#[repr(C)]
6809#[allow(dead_code)]
6810pub struct GtkColumnView {
6811    _data: [u8; 0],
6812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6813}
6814
6815impl ::std::fmt::Debug for GtkColumnView {
6816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6817        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6818            .finish()
6819    }
6820}
6821
6822#[repr(C)]
6823#[allow(dead_code)]
6824pub struct GtkColumnViewCell {
6825    _data: [u8; 0],
6826    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6827}
6828
6829impl ::std::fmt::Debug for GtkColumnViewCell {
6830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6831        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6832            .finish()
6833    }
6834}
6835
6836#[repr(C)]
6837#[allow(dead_code)]
6838pub struct GtkColumnViewColumn {
6839    _data: [u8; 0],
6840    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6841}
6842
6843impl ::std::fmt::Debug for GtkColumnViewColumn {
6844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6845        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6846            .finish()
6847    }
6848}
6849
6850#[repr(C)]
6851#[allow(dead_code)]
6852pub struct GtkColumnViewRow {
6853    _data: [u8; 0],
6854    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6855}
6856
6857impl ::std::fmt::Debug for GtkColumnViewRow {
6858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6859        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6860            .finish()
6861    }
6862}
6863
6864#[repr(C)]
6865#[allow(dead_code)]
6866pub struct GtkColumnViewSorter {
6867    _data: [u8; 0],
6868    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6869}
6870
6871impl ::std::fmt::Debug for GtkColumnViewSorter {
6872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6873        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6874            .finish()
6875    }
6876}
6877
6878#[derive(Copy, Clone)]
6879#[repr(C)]
6880pub struct GtkComboBox {
6881    pub parent_instance: GtkWidget,
6882}
6883
6884impl ::std::fmt::Debug for GtkComboBox {
6885    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6886        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6887            .field("parent_instance", &self.parent_instance)
6888            .finish()
6889    }
6890}
6891
6892#[repr(C)]
6893#[allow(dead_code)]
6894pub struct GtkComboBoxText {
6895    _data: [u8; 0],
6896    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6897}
6898
6899impl ::std::fmt::Debug for GtkComboBoxText {
6900    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6901        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6902            .finish()
6903    }
6904}
6905
6906#[repr(C)]
6907#[allow(dead_code)]
6908pub struct GtkConstantExpression {
6909    _data: [u8; 0],
6910    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6911}
6912
6913impl ::std::fmt::Debug for GtkConstantExpression {
6914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6915        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6916            .finish()
6917    }
6918}
6919
6920#[repr(C)]
6921#[allow(dead_code)]
6922pub struct GtkConstraint {
6923    _data: [u8; 0],
6924    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6925}
6926
6927impl ::std::fmt::Debug for GtkConstraint {
6928    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6929        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6930            .finish()
6931    }
6932}
6933
6934#[repr(C)]
6935#[allow(dead_code)]
6936pub struct GtkConstraintGuide {
6937    _data: [u8; 0],
6938    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6939}
6940
6941impl ::std::fmt::Debug for GtkConstraintGuide {
6942    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6943        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6944            .finish()
6945    }
6946}
6947
6948#[repr(C)]
6949#[allow(dead_code)]
6950pub struct GtkConstraintLayout {
6951    _data: [u8; 0],
6952    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6953}
6954
6955impl ::std::fmt::Debug for GtkConstraintLayout {
6956    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6957        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6958            .finish()
6959    }
6960}
6961
6962#[repr(C)]
6963#[allow(dead_code)]
6964pub struct GtkConstraintLayoutChild {
6965    _data: [u8; 0],
6966    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6967}
6968
6969impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6970    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6971        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6972            .finish()
6973    }
6974}
6975
6976#[derive(Copy, Clone)]
6977#[repr(C)]
6978pub struct GtkCssProvider {
6979    pub parent_instance: gobject::GObject,
6980}
6981
6982impl ::std::fmt::Debug for GtkCssProvider {
6983    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6984        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6985            .field("parent_instance", &self.parent_instance)
6986            .finish()
6987    }
6988}
6989
6990#[repr(C)]
6991#[allow(dead_code)]
6992pub struct GtkCustomFilter {
6993    _data: [u8; 0],
6994    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6995}
6996
6997impl ::std::fmt::Debug for GtkCustomFilter {
6998    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6999        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
7000            .finish()
7001    }
7002}
7003
7004#[repr(C)]
7005#[allow(dead_code)]
7006pub struct GtkCustomLayout {
7007    _data: [u8; 0],
7008    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7009}
7010
7011impl ::std::fmt::Debug for GtkCustomLayout {
7012    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7013        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
7014            .finish()
7015    }
7016}
7017
7018#[repr(C)]
7019#[allow(dead_code)]
7020pub struct GtkCustomSorter {
7021    _data: [u8; 0],
7022    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7023}
7024
7025impl ::std::fmt::Debug for GtkCustomSorter {
7026    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7027        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
7028            .finish()
7029    }
7030}
7031
7032#[derive(Copy, Clone)]
7033#[repr(C)]
7034pub struct GtkDialog {
7035    pub parent_instance: GtkWindow,
7036}
7037
7038impl ::std::fmt::Debug for GtkDialog {
7039    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7040        f.debug_struct(&format!("GtkDialog @ {self:p}"))
7041            .field("parent_instance", &self.parent_instance)
7042            .finish()
7043    }
7044}
7045
7046#[repr(C)]
7047#[allow(dead_code)]
7048pub struct GtkDirectoryList {
7049    _data: [u8; 0],
7050    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7051}
7052
7053impl ::std::fmt::Debug for GtkDirectoryList {
7054    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7055        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
7056            .finish()
7057    }
7058}
7059
7060#[repr(C)]
7061#[allow(dead_code)]
7062pub struct GtkDragIcon {
7063    _data: [u8; 0],
7064    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7065}
7066
7067impl ::std::fmt::Debug for GtkDragIcon {
7068    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7069        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
7070    }
7071}
7072
7073#[repr(C)]
7074#[allow(dead_code)]
7075pub struct GtkDragSource {
7076    _data: [u8; 0],
7077    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7078}
7079
7080impl ::std::fmt::Debug for GtkDragSource {
7081    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7082        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
7083            .finish()
7084    }
7085}
7086
7087#[derive(Copy, Clone)]
7088#[repr(C)]
7089pub struct GtkDrawingArea {
7090    pub widget: GtkWidget,
7091}
7092
7093impl ::std::fmt::Debug for GtkDrawingArea {
7094    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7095        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
7096            .field("widget", &self.widget)
7097            .finish()
7098    }
7099}
7100
7101#[repr(C)]
7102#[allow(dead_code)]
7103pub struct GtkDropControllerMotion {
7104    _data: [u8; 0],
7105    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7106}
7107
7108impl ::std::fmt::Debug for GtkDropControllerMotion {
7109    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7110        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
7111            .finish()
7112    }
7113}
7114
7115#[repr(C)]
7116#[allow(dead_code)]
7117pub struct GtkDropDown {
7118    _data: [u8; 0],
7119    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7120}
7121
7122impl ::std::fmt::Debug for GtkDropDown {
7123    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7124        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
7125    }
7126}
7127
7128#[repr(C)]
7129#[allow(dead_code)]
7130pub struct GtkDropTarget {
7131    _data: [u8; 0],
7132    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7133}
7134
7135impl ::std::fmt::Debug for GtkDropTarget {
7136    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7137        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
7138            .finish()
7139    }
7140}
7141
7142#[repr(C)]
7143#[allow(dead_code)]
7144pub struct GtkDropTargetAsync {
7145    _data: [u8; 0],
7146    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7147}
7148
7149impl ::std::fmt::Debug for GtkDropTargetAsync {
7150    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7151        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
7152            .finish()
7153    }
7154}
7155
7156#[repr(C)]
7157#[allow(dead_code)]
7158pub struct GtkEditableLabel {
7159    _data: [u8; 0],
7160    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7161}
7162
7163impl ::std::fmt::Debug for GtkEditableLabel {
7164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7165        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
7166            .finish()
7167    }
7168}
7169
7170#[repr(C)]
7171#[allow(dead_code)]
7172pub struct GtkEmojiChooser {
7173    _data: [u8; 0],
7174    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7175}
7176
7177impl ::std::fmt::Debug for GtkEmojiChooser {
7178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7179        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
7180            .finish()
7181    }
7182}
7183
7184#[derive(Copy, Clone)]
7185#[repr(C)]
7186pub struct GtkEntry {
7187    pub parent_instance: GtkWidget,
7188}
7189
7190impl ::std::fmt::Debug for GtkEntry {
7191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7192        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
7193    }
7194}
7195
7196#[derive(Copy, Clone)]
7197#[repr(C)]
7198pub struct GtkEntryBuffer {
7199    pub parent_instance: gobject::GObject,
7200}
7201
7202impl ::std::fmt::Debug for GtkEntryBuffer {
7203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7204        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
7205            .field("parent_instance", &self.parent_instance)
7206            .finish()
7207    }
7208}
7209
7210#[repr(C)]
7211#[allow(dead_code)]
7212pub struct GtkEntryCompletion {
7213    _data: [u8; 0],
7214    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7215}
7216
7217impl ::std::fmt::Debug for GtkEntryCompletion {
7218    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7219        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
7220            .finish()
7221    }
7222}
7223
7224#[repr(C)]
7225#[allow(dead_code)]
7226pub struct GtkEnumList {
7227    _data: [u8; 0],
7228    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7229}
7230
7231impl ::std::fmt::Debug for GtkEnumList {
7232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7233        f.debug_struct(&format!("GtkEnumList @ {self:p}")).finish()
7234    }
7235}
7236
7237#[repr(C)]
7238#[allow(dead_code)]
7239pub struct GtkEnumListItem {
7240    _data: [u8; 0],
7241    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7242}
7243
7244impl ::std::fmt::Debug for GtkEnumListItem {
7245    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7246        f.debug_struct(&format!("GtkEnumListItem @ {self:p}"))
7247            .finish()
7248    }
7249}
7250
7251#[repr(C)]
7252#[allow(dead_code)]
7253pub struct GtkEventController {
7254    _data: [u8; 0],
7255    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7256}
7257
7258impl ::std::fmt::Debug for GtkEventController {
7259    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7260        f.debug_struct(&format!("GtkEventController @ {self:p}"))
7261            .finish()
7262    }
7263}
7264
7265#[repr(C)]
7266#[allow(dead_code)]
7267pub struct GtkEventControllerFocus {
7268    _data: [u8; 0],
7269    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7270}
7271
7272impl ::std::fmt::Debug for GtkEventControllerFocus {
7273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7274        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
7275            .finish()
7276    }
7277}
7278
7279#[repr(C)]
7280#[allow(dead_code)]
7281pub struct GtkEventControllerKey {
7282    _data: [u8; 0],
7283    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7284}
7285
7286impl ::std::fmt::Debug for GtkEventControllerKey {
7287    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7288        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
7289            .finish()
7290    }
7291}
7292
7293#[repr(C)]
7294#[allow(dead_code)]
7295pub struct GtkEventControllerLegacy {
7296    _data: [u8; 0],
7297    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7298}
7299
7300impl ::std::fmt::Debug for GtkEventControllerLegacy {
7301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7302        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
7303            .finish()
7304    }
7305}
7306
7307#[repr(C)]
7308#[allow(dead_code)]
7309pub struct GtkEventControllerMotion {
7310    _data: [u8; 0],
7311    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7312}
7313
7314impl ::std::fmt::Debug for GtkEventControllerMotion {
7315    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7316        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
7317            .finish()
7318    }
7319}
7320
7321#[repr(C)]
7322#[allow(dead_code)]
7323pub struct GtkEventControllerScroll {
7324    _data: [u8; 0],
7325    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7326}
7327
7328impl ::std::fmt::Debug for GtkEventControllerScroll {
7329    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7330        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7331            .finish()
7332    }
7333}
7334
7335#[repr(C)]
7336#[allow(dead_code)]
7337pub struct GtkEveryFilter {
7338    _data: [u8; 0],
7339    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7340}
7341
7342impl ::std::fmt::Debug for GtkEveryFilter {
7343    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7344        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7345            .finish()
7346    }
7347}
7348
7349#[repr(C)]
7350#[allow(dead_code)]
7351pub struct GtkExpander {
7352    _data: [u8; 0],
7353    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7354}
7355
7356impl ::std::fmt::Debug for GtkExpander {
7357    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7358        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7359    }
7360}
7361
7362#[repr(C)]
7363#[allow(dead_code)]
7364pub struct GtkExpression {
7365    _data: [u8; 0],
7366    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7367}
7368
7369impl ::std::fmt::Debug for GtkExpression {
7370    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7371        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7372            .finish()
7373    }
7374}
7375
7376#[repr(C)]
7377#[allow(dead_code)]
7378pub struct GtkFileChooserDialog {
7379    _data: [u8; 0],
7380    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7381}
7382
7383impl ::std::fmt::Debug for GtkFileChooserDialog {
7384    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7385        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7386            .finish()
7387    }
7388}
7389
7390#[repr(C)]
7391#[allow(dead_code)]
7392pub struct GtkFileChooserNative {
7393    _data: [u8; 0],
7394    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7395}
7396
7397impl ::std::fmt::Debug for GtkFileChooserNative {
7398    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7399        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7400            .finish()
7401    }
7402}
7403
7404#[repr(C)]
7405#[allow(dead_code)]
7406pub struct GtkFileChooserWidget {
7407    _data: [u8; 0],
7408    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7409}
7410
7411impl ::std::fmt::Debug for GtkFileChooserWidget {
7412    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7413        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7414            .finish()
7415    }
7416}
7417
7418#[repr(C)]
7419#[allow(dead_code)]
7420pub struct GtkFileDialog {
7421    _data: [u8; 0],
7422    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7423}
7424
7425impl ::std::fmt::Debug for GtkFileDialog {
7426    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7427        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7428            .finish()
7429    }
7430}
7431
7432#[repr(C)]
7433#[allow(dead_code)]
7434pub struct GtkFileFilter {
7435    _data: [u8; 0],
7436    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7437}
7438
7439impl ::std::fmt::Debug for GtkFileFilter {
7440    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7441        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7442            .finish()
7443    }
7444}
7445
7446#[repr(C)]
7447#[allow(dead_code)]
7448pub struct GtkFileLauncher {
7449    _data: [u8; 0],
7450    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7451}
7452
7453impl ::std::fmt::Debug for GtkFileLauncher {
7454    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7455        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7456            .finish()
7457    }
7458}
7459
7460#[derive(Copy, Clone)]
7461#[repr(C)]
7462pub struct GtkFilter {
7463    pub parent_instance: gobject::GObject,
7464}
7465
7466impl ::std::fmt::Debug for GtkFilter {
7467    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7468        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7469            .field("parent_instance", &self.parent_instance)
7470            .finish()
7471    }
7472}
7473
7474#[repr(C)]
7475#[allow(dead_code)]
7476pub struct GtkFilterListModel {
7477    _data: [u8; 0],
7478    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7479}
7480
7481impl ::std::fmt::Debug for GtkFilterListModel {
7482    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7483        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7484            .finish()
7485    }
7486}
7487
7488#[derive(Copy, Clone)]
7489#[repr(C)]
7490pub struct GtkFixed {
7491    pub parent_instance: GtkWidget,
7492}
7493
7494impl ::std::fmt::Debug for GtkFixed {
7495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7496        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7497            .field("parent_instance", &self.parent_instance)
7498            .finish()
7499    }
7500}
7501
7502#[repr(C)]
7503#[allow(dead_code)]
7504pub struct GtkFixedLayout {
7505    _data: [u8; 0],
7506    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7507}
7508
7509impl ::std::fmt::Debug for GtkFixedLayout {
7510    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7511        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7512            .finish()
7513    }
7514}
7515
7516#[repr(C)]
7517#[allow(dead_code)]
7518pub struct GtkFixedLayoutChild {
7519    _data: [u8; 0],
7520    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7521}
7522
7523impl ::std::fmt::Debug for GtkFixedLayoutChild {
7524    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7525        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7526            .finish()
7527    }
7528}
7529
7530#[repr(C)]
7531#[allow(dead_code)]
7532pub struct GtkFlattenListModel {
7533    _data: [u8; 0],
7534    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7535}
7536
7537impl ::std::fmt::Debug for GtkFlattenListModel {
7538    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7539        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7540            .finish()
7541    }
7542}
7543
7544#[repr(C)]
7545#[allow(dead_code)]
7546pub struct GtkFlowBox {
7547    _data: [u8; 0],
7548    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7549}
7550
7551impl ::std::fmt::Debug for GtkFlowBox {
7552    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7553        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7554    }
7555}
7556
7557#[derive(Copy, Clone)]
7558#[repr(C)]
7559pub struct GtkFlowBoxChild {
7560    pub parent_instance: GtkWidget,
7561}
7562
7563impl ::std::fmt::Debug for GtkFlowBoxChild {
7564    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7565        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7566            .finish()
7567    }
7568}
7569
7570#[repr(C)]
7571#[allow(dead_code)]
7572pub struct GtkFontButton {
7573    _data: [u8; 0],
7574    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7575}
7576
7577impl ::std::fmt::Debug for GtkFontButton {
7578    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7579        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7580            .finish()
7581    }
7582}
7583
7584#[repr(C)]
7585#[allow(dead_code)]
7586pub struct GtkFontChooserDialog {
7587    _data: [u8; 0],
7588    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7589}
7590
7591impl ::std::fmt::Debug for GtkFontChooserDialog {
7592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7593        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7594            .finish()
7595    }
7596}
7597
7598#[repr(C)]
7599#[allow(dead_code)]
7600pub struct GtkFontChooserWidget {
7601    _data: [u8; 0],
7602    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7603}
7604
7605impl ::std::fmt::Debug for GtkFontChooserWidget {
7606    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7607        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7608            .finish()
7609    }
7610}
7611
7612#[repr(C)]
7613#[allow(dead_code)]
7614pub struct GtkFontDialog {
7615    _data: [u8; 0],
7616    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7617}
7618
7619impl ::std::fmt::Debug for GtkFontDialog {
7620    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7621        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7622            .finish()
7623    }
7624}
7625
7626#[repr(C)]
7627#[allow(dead_code)]
7628pub struct GtkFontDialogButton {
7629    _data: [u8; 0],
7630    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7631}
7632
7633impl ::std::fmt::Debug for GtkFontDialogButton {
7634    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7635        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7636            .finish()
7637    }
7638}
7639
7640#[derive(Copy, Clone)]
7641#[repr(C)]
7642pub struct GtkFrame {
7643    pub parent_instance: GtkWidget,
7644}
7645
7646impl ::std::fmt::Debug for GtkFrame {
7647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7648        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7649            .field("parent_instance", &self.parent_instance)
7650            .finish()
7651    }
7652}
7653
7654#[derive(Copy, Clone)]
7655#[repr(C)]
7656pub struct GtkGLArea {
7657    pub parent_instance: GtkWidget,
7658}
7659
7660impl ::std::fmt::Debug for GtkGLArea {
7661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7662        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7663    }
7664}
7665
7666#[repr(C)]
7667#[allow(dead_code)]
7668pub struct GtkGesture {
7669    _data: [u8; 0],
7670    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7671}
7672
7673impl ::std::fmt::Debug for GtkGesture {
7674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7675        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7676    }
7677}
7678
7679#[repr(C)]
7680#[allow(dead_code)]
7681pub struct GtkGestureClick {
7682    _data: [u8; 0],
7683    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7684}
7685
7686impl ::std::fmt::Debug for GtkGestureClick {
7687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7688        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7689            .finish()
7690    }
7691}
7692
7693#[repr(C)]
7694#[allow(dead_code)]
7695pub struct GtkGestureDrag {
7696    _data: [u8; 0],
7697    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7698}
7699
7700impl ::std::fmt::Debug for GtkGestureDrag {
7701    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7702        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7703            .finish()
7704    }
7705}
7706
7707#[repr(C)]
7708#[allow(dead_code)]
7709pub struct GtkGestureLongPress {
7710    _data: [u8; 0],
7711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7712}
7713
7714impl ::std::fmt::Debug for GtkGestureLongPress {
7715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7716        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7717            .finish()
7718    }
7719}
7720
7721#[repr(C)]
7722#[allow(dead_code)]
7723pub struct GtkGesturePan {
7724    _data: [u8; 0],
7725    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7726}
7727
7728impl ::std::fmt::Debug for GtkGesturePan {
7729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7730        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7731            .finish()
7732    }
7733}
7734
7735#[repr(C)]
7736#[allow(dead_code)]
7737pub struct GtkGestureRotate {
7738    _data: [u8; 0],
7739    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7740}
7741
7742impl ::std::fmt::Debug for GtkGestureRotate {
7743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7744        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7745            .finish()
7746    }
7747}
7748
7749#[repr(C)]
7750#[allow(dead_code)]
7751pub struct GtkGestureSingle {
7752    _data: [u8; 0],
7753    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7754}
7755
7756impl ::std::fmt::Debug for GtkGestureSingle {
7757    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7758        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7759            .finish()
7760    }
7761}
7762
7763#[repr(C)]
7764#[allow(dead_code)]
7765pub struct GtkGestureStylus {
7766    _data: [u8; 0],
7767    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7768}
7769
7770impl ::std::fmt::Debug for GtkGestureStylus {
7771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7772        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7773            .finish()
7774    }
7775}
7776
7777#[repr(C)]
7778#[allow(dead_code)]
7779pub struct GtkGestureSwipe {
7780    _data: [u8; 0],
7781    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7782}
7783
7784impl ::std::fmt::Debug for GtkGestureSwipe {
7785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7786        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7787            .finish()
7788    }
7789}
7790
7791#[repr(C)]
7792#[allow(dead_code)]
7793pub struct GtkGestureZoom {
7794    _data: [u8; 0],
7795    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7796}
7797
7798impl ::std::fmt::Debug for GtkGestureZoom {
7799    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7800        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7801            .finish()
7802    }
7803}
7804
7805#[repr(C)]
7806#[allow(dead_code)]
7807pub struct GtkGraphicsOffload {
7808    _data: [u8; 0],
7809    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7810}
7811
7812impl ::std::fmt::Debug for GtkGraphicsOffload {
7813    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7814        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7815            .finish()
7816    }
7817}
7818
7819#[derive(Copy, Clone)]
7820#[repr(C)]
7821pub struct GtkGrid {
7822    pub parent_instance: GtkWidget,
7823}
7824
7825impl ::std::fmt::Debug for GtkGrid {
7826    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7827        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7828    }
7829}
7830
7831#[repr(C)]
7832#[allow(dead_code)]
7833pub struct GtkGridLayout {
7834    _data: [u8; 0],
7835    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7836}
7837
7838impl ::std::fmt::Debug for GtkGridLayout {
7839    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7840        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7841            .finish()
7842    }
7843}
7844
7845#[repr(C)]
7846#[allow(dead_code)]
7847pub struct GtkGridLayoutChild {
7848    _data: [u8; 0],
7849    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7850}
7851
7852impl ::std::fmt::Debug for GtkGridLayoutChild {
7853    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7854        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7855            .finish()
7856    }
7857}
7858
7859#[repr(C)]
7860#[allow(dead_code)]
7861pub struct GtkGridView {
7862    _data: [u8; 0],
7863    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7864}
7865
7866impl ::std::fmt::Debug for GtkGridView {
7867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7868        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7869    }
7870}
7871
7872#[repr(C)]
7873#[allow(dead_code)]
7874pub struct GtkHeaderBar {
7875    _data: [u8; 0],
7876    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7877}
7878
7879impl ::std::fmt::Debug for GtkHeaderBar {
7880    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7881        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7882    }
7883}
7884
7885#[derive(Copy, Clone)]
7886#[repr(C)]
7887pub struct GtkIMContext {
7888    pub parent_instance: gobject::GObject,
7889}
7890
7891impl ::std::fmt::Debug for GtkIMContext {
7892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7893        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7894            .field("parent_instance", &self.parent_instance)
7895            .finish()
7896    }
7897}
7898
7899#[derive(Copy, Clone)]
7900#[repr(C)]
7901pub struct GtkIMContextSimple {
7902    pub object: GtkIMContext,
7903    pub priv_: *mut GtkIMContextSimplePrivate,
7904}
7905
7906impl ::std::fmt::Debug for GtkIMContextSimple {
7907    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7908        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7909            .field("object", &self.object)
7910            .finish()
7911    }
7912}
7913
7914#[derive(Copy, Clone)]
7915#[repr(C)]
7916pub struct GtkIMMulticontext {
7917    pub object: GtkIMContext,
7918    pub priv_: *mut GtkIMMulticontextPrivate,
7919}
7920
7921impl ::std::fmt::Debug for GtkIMMulticontext {
7922    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7923        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7924            .field("object", &self.object)
7925            .finish()
7926    }
7927}
7928
7929#[repr(C)]
7930#[allow(dead_code)]
7931pub struct GtkIconPaintable {
7932    _data: [u8; 0],
7933    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7934}
7935
7936impl ::std::fmt::Debug for GtkIconPaintable {
7937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7938        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7939            .finish()
7940    }
7941}
7942
7943#[repr(C)]
7944#[allow(dead_code)]
7945pub struct GtkIconTheme {
7946    _data: [u8; 0],
7947    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7948}
7949
7950impl ::std::fmt::Debug for GtkIconTheme {
7951    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7952        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7953    }
7954}
7955
7956#[repr(C)]
7957#[allow(dead_code)]
7958pub struct GtkIconView {
7959    _data: [u8; 0],
7960    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7961}
7962
7963impl ::std::fmt::Debug for GtkIconView {
7964    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7965        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7966    }
7967}
7968
7969#[repr(C)]
7970#[allow(dead_code)]
7971pub struct GtkImage {
7972    _data: [u8; 0],
7973    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7974}
7975
7976impl ::std::fmt::Debug for GtkImage {
7977    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7978        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7979    }
7980}
7981
7982#[repr(C)]
7983#[allow(dead_code)]
7984pub struct GtkInfoBar {
7985    _data: [u8; 0],
7986    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7987}
7988
7989impl ::std::fmt::Debug for GtkInfoBar {
7990    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7991        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7992    }
7993}
7994
7995#[repr(C)]
7996#[allow(dead_code)]
7997pub struct GtkInscription {
7998    _data: [u8; 0],
7999    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8000}
8001
8002impl ::std::fmt::Debug for GtkInscription {
8003    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8004        f.debug_struct(&format!("GtkInscription @ {self:p}"))
8005            .finish()
8006    }
8007}
8008
8009#[repr(C)]
8010#[allow(dead_code)]
8011pub struct GtkKeyvalTrigger {
8012    _data: [u8; 0],
8013    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8014}
8015
8016impl ::std::fmt::Debug for GtkKeyvalTrigger {
8017    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8018        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
8019            .finish()
8020    }
8021}
8022
8023#[repr(C)]
8024#[allow(dead_code)]
8025pub struct GtkLabel {
8026    _data: [u8; 0],
8027    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8028}
8029
8030impl ::std::fmt::Debug for GtkLabel {
8031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8032        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
8033    }
8034}
8035
8036#[derive(Copy, Clone)]
8037#[repr(C)]
8038pub struct GtkLayoutChild {
8039    pub parent_instance: gobject::GObject,
8040}
8041
8042impl ::std::fmt::Debug for GtkLayoutChild {
8043    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8044        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
8045            .field("parent_instance", &self.parent_instance)
8046            .finish()
8047    }
8048}
8049
8050#[derive(Copy, Clone)]
8051#[repr(C)]
8052pub struct GtkLayoutManager {
8053    pub parent_instance: gobject::GObject,
8054}
8055
8056impl ::std::fmt::Debug for GtkLayoutManager {
8057    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8058        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
8059            .field("parent_instance", &self.parent_instance)
8060            .finish()
8061    }
8062}
8063
8064#[repr(C)]
8065#[allow(dead_code)]
8066pub struct GtkLevelBar {
8067    _data: [u8; 0],
8068    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8069}
8070
8071impl ::std::fmt::Debug for GtkLevelBar {
8072    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8073        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
8074    }
8075}
8076
8077#[repr(C)]
8078#[allow(dead_code)]
8079pub struct GtkLinkButton {
8080    _data: [u8; 0],
8081    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8082}
8083
8084impl ::std::fmt::Debug for GtkLinkButton {
8085    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8086        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
8087            .finish()
8088    }
8089}
8090
8091#[repr(C)]
8092#[allow(dead_code)]
8093pub struct GtkListBase {
8094    _data: [u8; 0],
8095    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8096}
8097
8098impl ::std::fmt::Debug for GtkListBase {
8099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8100        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
8101    }
8102}
8103
8104#[repr(C)]
8105#[allow(dead_code)]
8106pub struct GtkListBox {
8107    _data: [u8; 0],
8108    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8109}
8110
8111impl ::std::fmt::Debug for GtkListBox {
8112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8113        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
8114    }
8115}
8116
8117#[derive(Copy, Clone)]
8118#[repr(C)]
8119pub struct GtkListBoxRow {
8120    pub parent_instance: GtkWidget,
8121}
8122
8123impl ::std::fmt::Debug for GtkListBoxRow {
8124    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8125        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
8126            .field("parent_instance", &self.parent_instance)
8127            .finish()
8128    }
8129}
8130
8131#[repr(C)]
8132#[allow(dead_code)]
8133pub struct GtkListHeader {
8134    _data: [u8; 0],
8135    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8136}
8137
8138impl ::std::fmt::Debug for GtkListHeader {
8139    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8140        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
8141            .finish()
8142    }
8143}
8144
8145#[repr(C)]
8146#[allow(dead_code)]
8147pub struct GtkListItem {
8148    _data: [u8; 0],
8149    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8150}
8151
8152impl ::std::fmt::Debug for GtkListItem {
8153    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8154        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
8155    }
8156}
8157
8158#[repr(C)]
8159#[allow(dead_code)]
8160pub struct GtkListItemFactory {
8161    _data: [u8; 0],
8162    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8163}
8164
8165impl ::std::fmt::Debug for GtkListItemFactory {
8166    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8167        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
8168            .finish()
8169    }
8170}
8171
8172#[derive(Copy, Clone)]
8173#[repr(C)]
8174pub struct GtkListStore {
8175    pub parent: gobject::GObject,
8176    pub priv_: *mut GtkListStorePrivate,
8177}
8178
8179impl ::std::fmt::Debug for GtkListStore {
8180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8181        f.debug_struct(&format!("GtkListStore @ {self:p}"))
8182            .field("parent", &self.parent)
8183            .finish()
8184    }
8185}
8186
8187#[repr(C)]
8188#[allow(dead_code)]
8189pub struct GtkListView {
8190    _data: [u8; 0],
8191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8192}
8193
8194impl ::std::fmt::Debug for GtkListView {
8195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8196        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
8197    }
8198}
8199
8200#[repr(C)]
8201#[allow(dead_code)]
8202pub struct GtkLockButton {
8203    _data: [u8; 0],
8204    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8205}
8206
8207impl ::std::fmt::Debug for GtkLockButton {
8208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8209        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
8210            .finish()
8211    }
8212}
8213
8214#[repr(C)]
8215#[allow(dead_code)]
8216pub struct GtkMapListModel {
8217    _data: [u8; 0],
8218    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8219}
8220
8221impl ::std::fmt::Debug for GtkMapListModel {
8222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8223        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
8224            .finish()
8225    }
8226}
8227
8228#[repr(C)]
8229#[allow(dead_code)]
8230pub struct GtkMediaControls {
8231    _data: [u8; 0],
8232    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8233}
8234
8235impl ::std::fmt::Debug for GtkMediaControls {
8236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8237        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
8238            .finish()
8239    }
8240}
8241
8242#[derive(Copy, Clone)]
8243#[repr(C)]
8244pub struct GtkMediaFile {
8245    pub parent_instance: GtkMediaStream,
8246}
8247
8248impl ::std::fmt::Debug for GtkMediaFile {
8249    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8250        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
8251            .field("parent_instance", &self.parent_instance)
8252            .finish()
8253    }
8254}
8255
8256#[derive(Copy, Clone)]
8257#[repr(C)]
8258pub struct GtkMediaStream {
8259    pub parent_instance: gobject::GObject,
8260}
8261
8262impl ::std::fmt::Debug for GtkMediaStream {
8263    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8264        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
8265            .field("parent_instance", &self.parent_instance)
8266            .finish()
8267    }
8268}
8269
8270#[repr(C)]
8271#[allow(dead_code)]
8272pub struct GtkMenuButton {
8273    _data: [u8; 0],
8274    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8275}
8276
8277impl ::std::fmt::Debug for GtkMenuButton {
8278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8279        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
8280            .finish()
8281    }
8282}
8283
8284#[derive(Copy, Clone)]
8285#[repr(C)]
8286pub struct GtkMessageDialog {
8287    pub parent_instance: GtkDialog,
8288}
8289
8290impl ::std::fmt::Debug for GtkMessageDialog {
8291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8292        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
8293            .field("parent_instance", &self.parent_instance)
8294            .finish()
8295    }
8296}
8297
8298#[repr(C)]
8299#[allow(dead_code)]
8300pub struct GtkMnemonicAction {
8301    _data: [u8; 0],
8302    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8303}
8304
8305impl ::std::fmt::Debug for GtkMnemonicAction {
8306    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8307        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
8308            .finish()
8309    }
8310}
8311
8312#[repr(C)]
8313#[allow(dead_code)]
8314pub struct GtkMnemonicTrigger {
8315    _data: [u8; 0],
8316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8317}
8318
8319impl ::std::fmt::Debug for GtkMnemonicTrigger {
8320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8321        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
8322            .finish()
8323    }
8324}
8325
8326#[derive(Copy, Clone)]
8327#[repr(C)]
8328pub struct GtkMountOperation {
8329    pub parent_instance: gio::GMountOperation,
8330    pub priv_: *mut GtkMountOperationPrivate,
8331}
8332
8333impl ::std::fmt::Debug for GtkMountOperation {
8334    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8335        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8336            .field("parent_instance", &self.parent_instance)
8337            .field("priv_", &self.priv_)
8338            .finish()
8339    }
8340}
8341
8342#[repr(C)]
8343#[allow(dead_code)]
8344pub struct GtkMultiFilter {
8345    _data: [u8; 0],
8346    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8347}
8348
8349impl ::std::fmt::Debug for GtkMultiFilter {
8350    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8351        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8352            .finish()
8353    }
8354}
8355
8356#[repr(C)]
8357#[allow(dead_code)]
8358pub struct GtkMultiSelection {
8359    _data: [u8; 0],
8360    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8361}
8362
8363impl ::std::fmt::Debug for GtkMultiSelection {
8364    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8365        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8366            .finish()
8367    }
8368}
8369
8370#[repr(C)]
8371#[allow(dead_code)]
8372pub struct GtkMultiSorter {
8373    _data: [u8; 0],
8374    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8375}
8376
8377impl ::std::fmt::Debug for GtkMultiSorter {
8378    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8379        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8380            .finish()
8381    }
8382}
8383
8384#[repr(C)]
8385#[allow(dead_code)]
8386pub struct GtkNamedAction {
8387    _data: [u8; 0],
8388    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8389}
8390
8391impl ::std::fmt::Debug for GtkNamedAction {
8392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8393        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8394            .finish()
8395    }
8396}
8397
8398#[derive(Copy, Clone)]
8399#[repr(C)]
8400pub struct GtkNativeDialog {
8401    pub parent_instance: gobject::GObject,
8402}
8403
8404impl ::std::fmt::Debug for GtkNativeDialog {
8405    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8406        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8407            .field("parent_instance", &self.parent_instance)
8408            .finish()
8409    }
8410}
8411
8412#[repr(C)]
8413#[allow(dead_code)]
8414pub struct GtkNeverTrigger {
8415    _data: [u8; 0],
8416    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8417}
8418
8419impl ::std::fmt::Debug for GtkNeverTrigger {
8420    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8421        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8422            .finish()
8423    }
8424}
8425
8426#[repr(C)]
8427#[allow(dead_code)]
8428pub struct GtkNoSelection {
8429    _data: [u8; 0],
8430    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8431}
8432
8433impl ::std::fmt::Debug for GtkNoSelection {
8434    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8435        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8436            .finish()
8437    }
8438}
8439
8440#[repr(C)]
8441#[allow(dead_code)]
8442pub struct GtkNotebook {
8443    _data: [u8; 0],
8444    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8445}
8446
8447impl ::std::fmt::Debug for GtkNotebook {
8448    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8449        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8450    }
8451}
8452
8453#[repr(C)]
8454#[allow(dead_code)]
8455pub struct GtkNotebookPage {
8456    _data: [u8; 0],
8457    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8458}
8459
8460impl ::std::fmt::Debug for GtkNotebookPage {
8461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8462        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8463            .finish()
8464    }
8465}
8466
8467#[repr(C)]
8468#[allow(dead_code)]
8469pub struct GtkNothingAction {
8470    _data: [u8; 0],
8471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8472}
8473
8474impl ::std::fmt::Debug for GtkNothingAction {
8475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8476        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8477            .finish()
8478    }
8479}
8480
8481#[repr(C)]
8482#[allow(dead_code)]
8483pub struct GtkNumericSorter {
8484    _data: [u8; 0],
8485    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8486}
8487
8488impl ::std::fmt::Debug for GtkNumericSorter {
8489    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8490        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8491            .finish()
8492    }
8493}
8494
8495#[repr(C)]
8496#[allow(dead_code)]
8497pub struct GtkObjectExpression {
8498    _data: [u8; 0],
8499    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8500}
8501
8502impl ::std::fmt::Debug for GtkObjectExpression {
8503    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8504        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8505            .finish()
8506    }
8507}
8508
8509#[repr(C)]
8510#[allow(dead_code)]
8511pub struct GtkOverlay {
8512    _data: [u8; 0],
8513    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8514}
8515
8516impl ::std::fmt::Debug for GtkOverlay {
8517    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8518        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8519    }
8520}
8521
8522#[repr(C)]
8523#[allow(dead_code)]
8524pub struct GtkOverlayLayout {
8525    _data: [u8; 0],
8526    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8527}
8528
8529impl ::std::fmt::Debug for GtkOverlayLayout {
8530    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8531        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8532            .finish()
8533    }
8534}
8535
8536#[repr(C)]
8537#[allow(dead_code)]
8538pub struct GtkOverlayLayoutChild {
8539    _data: [u8; 0],
8540    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8541}
8542
8543impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8544    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8545        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8546            .finish()
8547    }
8548}
8549
8550#[repr(C)]
8551#[allow(dead_code)]
8552pub struct GtkPadController {
8553    _data: [u8; 0],
8554    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8555}
8556
8557impl ::std::fmt::Debug for GtkPadController {
8558    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8559        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8560            .finish()
8561    }
8562}
8563
8564#[repr(C)]
8565#[allow(dead_code)]
8566pub struct GtkPageSetup {
8567    _data: [u8; 0],
8568    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8569}
8570
8571impl ::std::fmt::Debug for GtkPageSetup {
8572    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8573        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8574    }
8575}
8576
8577#[repr(C)]
8578#[allow(dead_code)]
8579pub struct GtkPageSetupUnixDialog {
8580    _data: [u8; 0],
8581    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8582}
8583
8584impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8585    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8586        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8587            .finish()
8588    }
8589}
8590
8591#[repr(C)]
8592#[allow(dead_code)]
8593pub struct GtkPaned {
8594    _data: [u8; 0],
8595    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8596}
8597
8598impl ::std::fmt::Debug for GtkPaned {
8599    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8600        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8601    }
8602}
8603
8604#[derive(Copy, Clone)]
8605#[repr(C)]
8606pub struct GtkParamSpecExpression {
8607    pub parent_instance: gobject::GParamSpec,
8608}
8609
8610impl ::std::fmt::Debug for GtkParamSpecExpression {
8611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8612        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8613            .finish()
8614    }
8615}
8616
8617#[repr(C)]
8618#[allow(dead_code)]
8619pub struct GtkPasswordEntry {
8620    _data: [u8; 0],
8621    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8622}
8623
8624impl ::std::fmt::Debug for GtkPasswordEntry {
8625    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8626        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8627            .finish()
8628    }
8629}
8630
8631#[repr(C)]
8632#[allow(dead_code)]
8633pub struct GtkPasswordEntryBuffer {
8634    _data: [u8; 0],
8635    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8636}
8637
8638impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8639    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8640        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8641            .finish()
8642    }
8643}
8644
8645#[repr(C)]
8646#[allow(dead_code)]
8647pub struct GtkPicture {
8648    _data: [u8; 0],
8649    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8650}
8651
8652impl ::std::fmt::Debug for GtkPicture {
8653    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8654        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8655    }
8656}
8657
8658#[derive(Copy, Clone)]
8659#[repr(C)]
8660pub struct GtkPopover {
8661    pub parent: GtkWidget,
8662}
8663
8664impl ::std::fmt::Debug for GtkPopover {
8665    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8666        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8667            .field("parent", &self.parent)
8668            .finish()
8669    }
8670}
8671
8672#[repr(C)]
8673#[allow(dead_code)]
8674pub struct GtkPopoverBin {
8675    _data: [u8; 0],
8676    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8677}
8678
8679impl ::std::fmt::Debug for GtkPopoverBin {
8680    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8681        f.debug_struct(&format!("GtkPopoverBin @ {self:p}"))
8682            .finish()
8683    }
8684}
8685
8686#[repr(C)]
8687#[allow(dead_code)]
8688pub struct GtkPopoverMenu {
8689    _data: [u8; 0],
8690    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8691}
8692
8693impl ::std::fmt::Debug for GtkPopoverMenu {
8694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8695        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8696            .finish()
8697    }
8698}
8699
8700#[repr(C)]
8701#[allow(dead_code)]
8702pub struct GtkPopoverMenuBar {
8703    _data: [u8; 0],
8704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8705}
8706
8707impl ::std::fmt::Debug for GtkPopoverMenuBar {
8708    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8709        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8710            .finish()
8711    }
8712}
8713
8714#[repr(C)]
8715#[allow(dead_code)]
8716pub struct GtkPrintContext {
8717    _data: [u8; 0],
8718    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8719}
8720
8721impl ::std::fmt::Debug for GtkPrintContext {
8722    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8723        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8724            .finish()
8725    }
8726}
8727
8728#[repr(C)]
8729#[allow(dead_code)]
8730pub struct GtkPrintDialog {
8731    _data: [u8; 0],
8732    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8733}
8734
8735impl ::std::fmt::Debug for GtkPrintDialog {
8736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8737        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8738            .finish()
8739    }
8740}
8741
8742#[repr(C)]
8743#[allow(dead_code)]
8744pub struct GtkPrintJob {
8745    _data: [u8; 0],
8746    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8747}
8748
8749impl ::std::fmt::Debug for GtkPrintJob {
8750    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8751        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8752    }
8753}
8754
8755#[derive(Copy, Clone)]
8756#[repr(C)]
8757pub struct GtkPrintOperation {
8758    pub parent_instance: gobject::GObject,
8759    pub priv_: *mut GtkPrintOperationPrivate,
8760}
8761
8762impl ::std::fmt::Debug for GtkPrintOperation {
8763    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8764        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8765            .field("parent_instance", &self.parent_instance)
8766            .finish()
8767    }
8768}
8769
8770#[repr(C)]
8771#[allow(dead_code)]
8772pub struct GtkPrintSettings {
8773    _data: [u8; 0],
8774    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8775}
8776
8777impl ::std::fmt::Debug for GtkPrintSettings {
8778    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8779        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8780            .finish()
8781    }
8782}
8783
8784#[repr(C)]
8785#[allow(dead_code)]
8786pub struct GtkPrintUnixDialog {
8787    _data: [u8; 0],
8788    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8789}
8790
8791impl ::std::fmt::Debug for GtkPrintUnixDialog {
8792    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8793        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8794            .finish()
8795    }
8796}
8797
8798#[repr(C)]
8799#[allow(dead_code)]
8800pub struct GtkPrinter {
8801    _data: [u8; 0],
8802    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8803}
8804
8805impl ::std::fmt::Debug for GtkPrinter {
8806    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8807        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8808    }
8809}
8810
8811#[repr(C)]
8812#[allow(dead_code)]
8813pub struct GtkProgressBar {
8814    _data: [u8; 0],
8815    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8816}
8817
8818impl ::std::fmt::Debug for GtkProgressBar {
8819    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8820        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8821            .finish()
8822    }
8823}
8824
8825#[repr(C)]
8826#[allow(dead_code)]
8827pub struct GtkPropertyExpression {
8828    _data: [u8; 0],
8829    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8830}
8831
8832impl ::std::fmt::Debug for GtkPropertyExpression {
8833    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8834        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8835            .finish()
8836    }
8837}
8838
8839#[derive(Copy, Clone)]
8840#[repr(C)]
8841pub struct GtkRange {
8842    pub parent_instance: GtkWidget,
8843}
8844
8845impl ::std::fmt::Debug for GtkRange {
8846    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8847        f.debug_struct(&format!("GtkRange @ {self:p}"))
8848            .field("parent_instance", &self.parent_instance)
8849            .finish()
8850    }
8851}
8852
8853#[derive(Copy, Clone)]
8854#[repr(C)]
8855pub struct GtkRecentManager {
8856    pub parent_instance: gobject::GObject,
8857    pub priv_: *mut GtkRecentManagerPrivate,
8858}
8859
8860impl ::std::fmt::Debug for GtkRecentManager {
8861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8862        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8863            .finish()
8864    }
8865}
8866
8867#[repr(C)]
8868#[allow(dead_code)]
8869pub struct GtkRevealer {
8870    _data: [u8; 0],
8871    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8872}
8873
8874impl ::std::fmt::Debug for GtkRevealer {
8875    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8876        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8877    }
8878}
8879
8880#[derive(Copy, Clone)]
8881#[repr(C)]
8882pub struct GtkScale {
8883    pub parent_instance: GtkRange,
8884}
8885
8886impl ::std::fmt::Debug for GtkScale {
8887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8888        f.debug_struct(&format!("GtkScale @ {self:p}"))
8889            .field("parent_instance", &self.parent_instance)
8890            .finish()
8891    }
8892}
8893
8894#[derive(Copy, Clone)]
8895#[repr(C)]
8896pub struct GtkScaleButton {
8897    pub parent_instance: GtkWidget,
8898}
8899
8900impl ::std::fmt::Debug for GtkScaleButton {
8901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8902        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8903            .field("parent_instance", &self.parent_instance)
8904            .finish()
8905    }
8906}
8907
8908#[repr(C)]
8909#[allow(dead_code)]
8910pub struct GtkScrollbar {
8911    _data: [u8; 0],
8912    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8913}
8914
8915impl ::std::fmt::Debug for GtkScrollbar {
8916    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8917        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8918    }
8919}
8920
8921#[repr(C)]
8922#[allow(dead_code)]
8923pub struct GtkScrolledWindow {
8924    _data: [u8; 0],
8925    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8926}
8927
8928impl ::std::fmt::Debug for GtkScrolledWindow {
8929    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8930        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8931            .finish()
8932    }
8933}
8934
8935#[repr(C)]
8936#[allow(dead_code)]
8937pub struct GtkSearchBar {
8938    _data: [u8; 0],
8939    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8940}
8941
8942impl ::std::fmt::Debug for GtkSearchBar {
8943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8944        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8945    }
8946}
8947
8948#[repr(C)]
8949#[allow(dead_code)]
8950pub struct GtkSearchEntry {
8951    _data: [u8; 0],
8952    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8953}
8954
8955impl ::std::fmt::Debug for GtkSearchEntry {
8956    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8957        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8958            .finish()
8959    }
8960}
8961
8962#[repr(C)]
8963#[allow(dead_code)]
8964pub struct GtkSelectionFilterModel {
8965    _data: [u8; 0],
8966    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8967}
8968
8969impl ::std::fmt::Debug for GtkSelectionFilterModel {
8970    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8971        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8972            .finish()
8973    }
8974}
8975
8976#[repr(C)]
8977#[allow(dead_code)]
8978pub struct GtkSeparator {
8979    _data: [u8; 0],
8980    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8981}
8982
8983impl ::std::fmt::Debug for GtkSeparator {
8984    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8985        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8986    }
8987}
8988
8989#[repr(C)]
8990#[allow(dead_code)]
8991pub struct GtkSettings {
8992    _data: [u8; 0],
8993    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8994}
8995
8996impl ::std::fmt::Debug for GtkSettings {
8997    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8998        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8999    }
9000}
9001
9002#[repr(C)]
9003#[allow(dead_code)]
9004pub struct GtkShortcut {
9005    _data: [u8; 0],
9006    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9007}
9008
9009impl ::std::fmt::Debug for GtkShortcut {
9010    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9011        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
9012    }
9013}
9014
9015#[repr(C)]
9016#[allow(dead_code)]
9017pub struct GtkShortcutAction {
9018    _data: [u8; 0],
9019    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9020}
9021
9022impl ::std::fmt::Debug for GtkShortcutAction {
9023    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9024        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
9025            .finish()
9026    }
9027}
9028
9029#[repr(C)]
9030#[allow(dead_code)]
9031pub struct GtkShortcutController {
9032    _data: [u8; 0],
9033    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9034}
9035
9036impl ::std::fmt::Debug for GtkShortcutController {
9037    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9038        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
9039            .finish()
9040    }
9041}
9042
9043#[repr(C)]
9044#[allow(dead_code)]
9045pub struct GtkShortcutLabel {
9046    _data: [u8; 0],
9047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9048}
9049
9050impl ::std::fmt::Debug for GtkShortcutLabel {
9051    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9052        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
9053            .finish()
9054    }
9055}
9056
9057#[repr(C)]
9058#[allow(dead_code)]
9059pub struct GtkShortcutTrigger {
9060    _data: [u8; 0],
9061    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9062}
9063
9064impl ::std::fmt::Debug for GtkShortcutTrigger {
9065    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9066        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
9067            .finish()
9068    }
9069}
9070
9071#[repr(C)]
9072#[allow(dead_code)]
9073pub struct GtkShortcutsGroup {
9074    _data: [u8; 0],
9075    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9076}
9077
9078impl ::std::fmt::Debug for GtkShortcutsGroup {
9079    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9080        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
9081            .finish()
9082    }
9083}
9084
9085#[repr(C)]
9086#[allow(dead_code)]
9087pub struct GtkShortcutsSection {
9088    _data: [u8; 0],
9089    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9090}
9091
9092impl ::std::fmt::Debug for GtkShortcutsSection {
9093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9094        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
9095            .finish()
9096    }
9097}
9098
9099#[repr(C)]
9100#[allow(dead_code)]
9101pub struct GtkShortcutsShortcut {
9102    _data: [u8; 0],
9103    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9104}
9105
9106impl ::std::fmt::Debug for GtkShortcutsShortcut {
9107    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9108        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
9109            .finish()
9110    }
9111}
9112
9113#[repr(C)]
9114#[allow(dead_code)]
9115pub struct GtkShortcutsWindow {
9116    _data: [u8; 0],
9117    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9118}
9119
9120impl ::std::fmt::Debug for GtkShortcutsWindow {
9121    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9122        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
9123            .finish()
9124    }
9125}
9126
9127#[repr(C)]
9128#[allow(dead_code)]
9129pub struct GtkSignalAction {
9130    _data: [u8; 0],
9131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9132}
9133
9134impl ::std::fmt::Debug for GtkSignalAction {
9135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9136        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
9137            .finish()
9138    }
9139}
9140
9141#[repr(C)]
9142#[allow(dead_code)]
9143pub struct GtkSignalListItemFactory {
9144    _data: [u8; 0],
9145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9146}
9147
9148impl ::std::fmt::Debug for GtkSignalListItemFactory {
9149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9150        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
9151            .finish()
9152    }
9153}
9154
9155#[repr(C)]
9156#[allow(dead_code)]
9157pub struct GtkSingleSelection {
9158    _data: [u8; 0],
9159    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9160}
9161
9162impl ::std::fmt::Debug for GtkSingleSelection {
9163    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9164        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
9165            .finish()
9166    }
9167}
9168
9169#[derive(Copy, Clone)]
9170#[repr(C)]
9171pub struct GtkSizeGroup {
9172    pub parent_instance: gobject::GObject,
9173}
9174
9175impl ::std::fmt::Debug for GtkSizeGroup {
9176    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9177        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
9178            .field("parent_instance", &self.parent_instance)
9179            .finish()
9180    }
9181}
9182
9183#[repr(C)]
9184#[allow(dead_code)]
9185pub struct GtkSliceListModel {
9186    _data: [u8; 0],
9187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9188}
9189
9190impl ::std::fmt::Debug for GtkSliceListModel {
9191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9192        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
9193            .finish()
9194    }
9195}
9196
9197#[repr(C)]
9198#[allow(dead_code)]
9199pub struct GtkSnapshot {
9200    _data: [u8; 0],
9201    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9202}
9203
9204impl ::std::fmt::Debug for GtkSnapshot {
9205    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9206        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
9207    }
9208}
9209
9210#[repr(C)]
9211#[allow(dead_code)]
9212pub struct GtkSortListModel {
9213    _data: [u8; 0],
9214    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9215}
9216
9217impl ::std::fmt::Debug for GtkSortListModel {
9218    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9219        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
9220            .finish()
9221    }
9222}
9223
9224#[derive(Copy, Clone)]
9225#[repr(C)]
9226pub struct GtkSorter {
9227    pub parent_instance: gobject::GObject,
9228}
9229
9230impl ::std::fmt::Debug for GtkSorter {
9231    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9232        f.debug_struct(&format!("GtkSorter @ {self:p}"))
9233            .field("parent_instance", &self.parent_instance)
9234            .finish()
9235    }
9236}
9237
9238#[repr(C)]
9239#[allow(dead_code)]
9240pub struct GtkSpinButton {
9241    _data: [u8; 0],
9242    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9243}
9244
9245impl ::std::fmt::Debug for GtkSpinButton {
9246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9247        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
9248            .finish()
9249    }
9250}
9251
9252#[repr(C)]
9253#[allow(dead_code)]
9254pub struct GtkSpinner {
9255    _data: [u8; 0],
9256    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9257}
9258
9259impl ::std::fmt::Debug for GtkSpinner {
9260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9261        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
9262    }
9263}
9264
9265#[repr(C)]
9266#[allow(dead_code)]
9267pub struct GtkStack {
9268    _data: [u8; 0],
9269    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9270}
9271
9272impl ::std::fmt::Debug for GtkStack {
9273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9274        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
9275    }
9276}
9277
9278#[repr(C)]
9279#[allow(dead_code)]
9280pub struct GtkStackPage {
9281    _data: [u8; 0],
9282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9283}
9284
9285impl ::std::fmt::Debug for GtkStackPage {
9286    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9287        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
9288    }
9289}
9290
9291#[repr(C)]
9292#[allow(dead_code)]
9293pub struct GtkStackSidebar {
9294    _data: [u8; 0],
9295    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9296}
9297
9298impl ::std::fmt::Debug for GtkStackSidebar {
9299    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9300        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
9301            .finish()
9302    }
9303}
9304
9305#[repr(C)]
9306#[allow(dead_code)]
9307pub struct GtkStackSwitcher {
9308    _data: [u8; 0],
9309    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9310}
9311
9312impl ::std::fmt::Debug for GtkStackSwitcher {
9313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9314        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
9315            .finish()
9316    }
9317}
9318
9319#[repr(C)]
9320#[allow(dead_code)]
9321pub struct GtkStatusbar {
9322    _data: [u8; 0],
9323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9324}
9325
9326impl ::std::fmt::Debug for GtkStatusbar {
9327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9328        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
9329    }
9330}
9331
9332#[repr(C)]
9333#[allow(dead_code)]
9334pub struct GtkStringFilter {
9335    _data: [u8; 0],
9336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9337}
9338
9339impl ::std::fmt::Debug for GtkStringFilter {
9340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9341        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9342            .finish()
9343    }
9344}
9345
9346#[repr(C)]
9347#[allow(dead_code)]
9348pub struct GtkStringList {
9349    _data: [u8; 0],
9350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9351}
9352
9353impl ::std::fmt::Debug for GtkStringList {
9354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9355        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9356            .finish()
9357    }
9358}
9359
9360#[repr(C)]
9361#[allow(dead_code)]
9362pub struct GtkStringObject {
9363    _data: [u8; 0],
9364    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9365}
9366
9367impl ::std::fmt::Debug for GtkStringObject {
9368    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9369        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9370            .finish()
9371    }
9372}
9373
9374#[repr(C)]
9375#[allow(dead_code)]
9376pub struct GtkStringSorter {
9377    _data: [u8; 0],
9378    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9379}
9380
9381impl ::std::fmt::Debug for GtkStringSorter {
9382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9383        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9384            .finish()
9385    }
9386}
9387
9388#[derive(Copy, Clone)]
9389#[repr(C)]
9390pub struct GtkStyleContext {
9391    pub parent_object: gobject::GObject,
9392}
9393
9394impl ::std::fmt::Debug for GtkStyleContext {
9395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9396        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9397            .field("parent_object", &self.parent_object)
9398            .finish()
9399    }
9400}
9401
9402#[repr(C)]
9403#[allow(dead_code)]
9404pub struct GtkSvg {
9405    _data: [u8; 0],
9406    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9407}
9408
9409impl ::std::fmt::Debug for GtkSvg {
9410    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9411        f.debug_struct(&format!("GtkSvg @ {self:p}")).finish()
9412    }
9413}
9414
9415#[repr(C)]
9416#[allow(dead_code)]
9417pub struct GtkSvgWidget {
9418    _data: [u8; 0],
9419    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9420}
9421
9422impl ::std::fmt::Debug for GtkSvgWidget {
9423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9424        f.debug_struct(&format!("GtkSvgWidget @ {self:p}")).finish()
9425    }
9426}
9427
9428#[repr(C)]
9429#[allow(dead_code)]
9430pub struct GtkSwitch {
9431    _data: [u8; 0],
9432    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9433}
9434
9435impl ::std::fmt::Debug for GtkSwitch {
9436    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9437        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9438    }
9439}
9440
9441#[derive(Copy, Clone)]
9442#[repr(C)]
9443pub struct GtkText {
9444    pub parent_instance: GtkWidget,
9445}
9446
9447impl ::std::fmt::Debug for GtkText {
9448    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9449        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9450    }
9451}
9452
9453#[derive(Copy, Clone)]
9454#[repr(C)]
9455pub struct GtkTextBuffer {
9456    pub parent_instance: gobject::GObject,
9457    pub priv_: *mut GtkTextBufferPrivate,
9458}
9459
9460impl ::std::fmt::Debug for GtkTextBuffer {
9461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9462        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9463            .field("parent_instance", &self.parent_instance)
9464            .field("priv_", &self.priv_)
9465            .finish()
9466    }
9467}
9468
9469#[derive(Copy, Clone)]
9470#[repr(C)]
9471pub struct GtkTextChildAnchor {
9472    pub parent_instance: gobject::GObject,
9473    pub segment: gpointer,
9474}
9475
9476impl ::std::fmt::Debug for GtkTextChildAnchor {
9477    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9478        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9479            .field("parent_instance", &self.parent_instance)
9480            .finish()
9481    }
9482}
9483
9484#[derive(Copy, Clone)]
9485#[repr(C)]
9486pub struct GtkTextMark {
9487    pub parent_instance: gobject::GObject,
9488    pub segment: gpointer,
9489}
9490
9491impl ::std::fmt::Debug for GtkTextMark {
9492    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9493        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9494            .field("parent_instance", &self.parent_instance)
9495            .finish()
9496    }
9497}
9498
9499#[derive(Copy, Clone)]
9500#[repr(C)]
9501pub struct GtkTextTag {
9502    pub parent_instance: gobject::GObject,
9503    pub priv_: *mut GtkTextTagPrivate,
9504}
9505
9506impl ::std::fmt::Debug for GtkTextTag {
9507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9508        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9509            .field("parent_instance", &self.parent_instance)
9510            .field("priv_", &self.priv_)
9511            .finish()
9512    }
9513}
9514
9515#[repr(C)]
9516#[allow(dead_code)]
9517pub struct GtkTextTagTable {
9518    _data: [u8; 0],
9519    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9520}
9521
9522impl ::std::fmt::Debug for GtkTextTagTable {
9523    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9524        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9525            .finish()
9526    }
9527}
9528
9529#[derive(Copy, Clone)]
9530#[repr(C)]
9531pub struct GtkTextView {
9532    pub parent_instance: GtkWidget,
9533    pub priv_: *mut GtkTextViewPrivate,
9534}
9535
9536impl ::std::fmt::Debug for GtkTextView {
9537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9538        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9539            .field("parent_instance", &self.parent_instance)
9540            .finish()
9541    }
9542}
9543
9544#[derive(Copy, Clone)]
9545#[repr(C)]
9546pub struct GtkToggleButton {
9547    pub button: GtkButton,
9548}
9549
9550impl ::std::fmt::Debug for GtkToggleButton {
9551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9552        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9553            .finish()
9554    }
9555}
9556
9557#[repr(C)]
9558#[allow(dead_code)]
9559pub struct GtkTooltip {
9560    _data: [u8; 0],
9561    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9562}
9563
9564impl ::std::fmt::Debug for GtkTooltip {
9565    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9566        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9567    }
9568}
9569
9570#[repr(C)]
9571#[allow(dead_code)]
9572pub struct GtkTreeExpander {
9573    _data: [u8; 0],
9574    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9575}
9576
9577impl ::std::fmt::Debug for GtkTreeExpander {
9578    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9579        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9580            .finish()
9581    }
9582}
9583
9584#[repr(C)]
9585#[allow(dead_code)]
9586pub struct GtkTreeListModel {
9587    _data: [u8; 0],
9588    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9589}
9590
9591impl ::std::fmt::Debug for GtkTreeListModel {
9592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9593        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9594            .finish()
9595    }
9596}
9597
9598#[repr(C)]
9599#[allow(dead_code)]
9600pub struct GtkTreeListRow {
9601    _data: [u8; 0],
9602    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9603}
9604
9605impl ::std::fmt::Debug for GtkTreeListRow {
9606    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9607        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9608            .finish()
9609    }
9610}
9611
9612#[repr(C)]
9613#[allow(dead_code)]
9614pub struct GtkTreeListRowSorter {
9615    _data: [u8; 0],
9616    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9617}
9618
9619impl ::std::fmt::Debug for GtkTreeListRowSorter {
9620    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9621        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9622            .finish()
9623    }
9624}
9625
9626#[derive(Copy, Clone)]
9627#[repr(C)]
9628pub struct GtkTreeModelFilter {
9629    pub parent: gobject::GObject,
9630    pub priv_: *mut GtkTreeModelFilterPrivate,
9631}
9632
9633impl ::std::fmt::Debug for GtkTreeModelFilter {
9634    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9635        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9636            .field("parent", &self.parent)
9637            .finish()
9638    }
9639}
9640
9641#[derive(Copy, Clone)]
9642#[repr(C)]
9643pub struct GtkTreeModelSort {
9644    pub parent: gobject::GObject,
9645    pub priv_: *mut GtkTreeModelSortPrivate,
9646}
9647
9648impl ::std::fmt::Debug for GtkTreeModelSort {
9649    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9650        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9651            .field("parent", &self.parent)
9652            .finish()
9653    }
9654}
9655
9656#[repr(C)]
9657#[allow(dead_code)]
9658pub struct GtkTreeSelection {
9659    _data: [u8; 0],
9660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9661}
9662
9663impl ::std::fmt::Debug for GtkTreeSelection {
9664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9665        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9666            .finish()
9667    }
9668}
9669
9670#[derive(Copy, Clone)]
9671#[repr(C)]
9672pub struct GtkTreeStore {
9673    pub parent: gobject::GObject,
9674    pub priv_: *mut GtkTreeStorePrivate,
9675}
9676
9677impl ::std::fmt::Debug for GtkTreeStore {
9678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9679        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9680            .field("parent", &self.parent)
9681            .field("priv_", &self.priv_)
9682            .finish()
9683    }
9684}
9685
9686#[derive(Copy, Clone)]
9687#[repr(C)]
9688pub struct GtkTreeView {
9689    pub parent_instance: GtkWidget,
9690}
9691
9692impl ::std::fmt::Debug for GtkTreeView {
9693    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9694        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9695            .field("parent_instance", &self.parent_instance)
9696            .finish()
9697    }
9698}
9699
9700#[repr(C)]
9701#[allow(dead_code)]
9702pub struct GtkTreeViewColumn {
9703    _data: [u8; 0],
9704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9705}
9706
9707impl ::std::fmt::Debug for GtkTreeViewColumn {
9708    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9709        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9710            .finish()
9711    }
9712}
9713
9714#[repr(C)]
9715#[allow(dead_code)]
9716pub struct GtkTryExpression {
9717    _data: [u8; 0],
9718    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9719}
9720
9721impl ::std::fmt::Debug for GtkTryExpression {
9722    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9723        f.debug_struct(&format!("GtkTryExpression @ {self:p}"))
9724            .finish()
9725    }
9726}
9727
9728#[repr(C)]
9729#[allow(dead_code)]
9730pub struct GtkUriLauncher {
9731    _data: [u8; 0],
9732    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9733}
9734
9735impl ::std::fmt::Debug for GtkUriLauncher {
9736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9737        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9738            .finish()
9739    }
9740}
9741
9742#[repr(C)]
9743#[allow(dead_code)]
9744pub struct GtkVideo {
9745    _data: [u8; 0],
9746    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9747}
9748
9749impl ::std::fmt::Debug for GtkVideo {
9750    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9751        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9752    }
9753}
9754
9755#[repr(C)]
9756#[allow(dead_code)]
9757pub struct GtkViewport {
9758    _data: [u8; 0],
9759    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9760}
9761
9762impl ::std::fmt::Debug for GtkViewport {
9763    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9764        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9765    }
9766}
9767
9768#[derive(Copy, Clone)]
9769#[repr(C)]
9770pub struct GtkVolumeButton {
9771    pub parent: GtkScaleButton,
9772}
9773
9774impl ::std::fmt::Debug for GtkVolumeButton {
9775    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9776        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9777            .field("parent", &self.parent)
9778            .finish()
9779    }
9780}
9781
9782#[derive(Copy, Clone)]
9783#[repr(C)]
9784pub struct GtkWidget {
9785    pub parent_instance: gobject::GInitiallyUnowned,
9786    pub priv_: *mut GtkWidgetPrivate,
9787}
9788
9789impl ::std::fmt::Debug for GtkWidget {
9790    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9791        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9792            .field("parent_instance", &self.parent_instance)
9793            .finish()
9794    }
9795}
9796
9797#[repr(C)]
9798#[allow(dead_code)]
9799pub struct GtkWidgetPaintable {
9800    _data: [u8; 0],
9801    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9802}
9803
9804impl ::std::fmt::Debug for GtkWidgetPaintable {
9805    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9806        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9807            .finish()
9808    }
9809}
9810
9811#[derive(Copy, Clone)]
9812#[repr(C)]
9813pub struct GtkWindow {
9814    pub parent_instance: GtkWidget,
9815}
9816
9817impl ::std::fmt::Debug for GtkWindow {
9818    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9819        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9820            .field("parent_instance", &self.parent_instance)
9821            .finish()
9822    }
9823}
9824
9825#[repr(C)]
9826#[allow(dead_code)]
9827pub struct GtkWindowControls {
9828    _data: [u8; 0],
9829    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9830}
9831
9832impl ::std::fmt::Debug for GtkWindowControls {
9833    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9834        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9835            .finish()
9836    }
9837}
9838
9839#[derive(Copy, Clone)]
9840#[repr(C)]
9841pub struct GtkWindowGroup {
9842    pub parent_instance: gobject::GObject,
9843    pub priv_: *mut GtkWindowGroupPrivate,
9844}
9845
9846impl ::std::fmt::Debug for GtkWindowGroup {
9847    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9848        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9849            .field("parent_instance", &self.parent_instance)
9850            .field("priv_", &self.priv_)
9851            .finish()
9852    }
9853}
9854
9855#[repr(C)]
9856#[allow(dead_code)]
9857pub struct GtkWindowHandle {
9858    _data: [u8; 0],
9859    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9860}
9861
9862impl ::std::fmt::Debug for GtkWindowHandle {
9863    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9864        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9865            .finish()
9866    }
9867}
9868
9869// Interfaces
9870#[repr(C)]
9871#[allow(dead_code)]
9872pub struct GtkAccessible {
9873    _data: [u8; 0],
9874    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9875}
9876
9877impl ::std::fmt::Debug for GtkAccessible {
9878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9879        write!(f, "GtkAccessible @ {self:p}")
9880    }
9881}
9882
9883#[repr(C)]
9884#[allow(dead_code)]
9885pub struct GtkAccessibleHypertext {
9886    _data: [u8; 0],
9887    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9888}
9889
9890impl ::std::fmt::Debug for GtkAccessibleHypertext {
9891    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9892        write!(f, "GtkAccessibleHypertext @ {self:p}")
9893    }
9894}
9895
9896#[repr(C)]
9897#[allow(dead_code)]
9898pub struct GtkAccessibleRange {
9899    _data: [u8; 0],
9900    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9901}
9902
9903impl ::std::fmt::Debug for GtkAccessibleRange {
9904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9905        write!(f, "GtkAccessibleRange @ {self:p}")
9906    }
9907}
9908
9909#[repr(C)]
9910#[allow(dead_code)]
9911pub struct GtkAccessibleText {
9912    _data: [u8; 0],
9913    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9914}
9915
9916impl ::std::fmt::Debug for GtkAccessibleText {
9917    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9918        write!(f, "GtkAccessibleText @ {self:p}")
9919    }
9920}
9921
9922#[repr(C)]
9923#[allow(dead_code)]
9924pub struct GtkActionable {
9925    _data: [u8; 0],
9926    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9927}
9928
9929impl ::std::fmt::Debug for GtkActionable {
9930    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9931        write!(f, "GtkActionable @ {self:p}")
9932    }
9933}
9934
9935#[repr(C)]
9936#[allow(dead_code)]
9937pub struct GtkAppChooser {
9938    _data: [u8; 0],
9939    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9940}
9941
9942impl ::std::fmt::Debug for GtkAppChooser {
9943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9944        write!(f, "GtkAppChooser @ {self:p}")
9945    }
9946}
9947
9948#[repr(C)]
9949#[allow(dead_code)]
9950pub struct GtkBuildable {
9951    _data: [u8; 0],
9952    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9953}
9954
9955impl ::std::fmt::Debug for GtkBuildable {
9956    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9957        write!(f, "GtkBuildable @ {self:p}")
9958    }
9959}
9960
9961#[repr(C)]
9962#[allow(dead_code)]
9963pub struct GtkBuilderScope {
9964    _data: [u8; 0],
9965    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9966}
9967
9968impl ::std::fmt::Debug for GtkBuilderScope {
9969    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9970        write!(f, "GtkBuilderScope @ {self:p}")
9971    }
9972}
9973
9974#[repr(C)]
9975#[allow(dead_code)]
9976pub struct GtkCellEditable {
9977    _data: [u8; 0],
9978    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9979}
9980
9981impl ::std::fmt::Debug for GtkCellEditable {
9982    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9983        write!(f, "GtkCellEditable @ {self:p}")
9984    }
9985}
9986
9987#[repr(C)]
9988#[allow(dead_code)]
9989pub struct GtkCellLayout {
9990    _data: [u8; 0],
9991    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9992}
9993
9994impl ::std::fmt::Debug for GtkCellLayout {
9995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9996        write!(f, "GtkCellLayout @ {self:p}")
9997    }
9998}
9999
10000#[repr(C)]
10001#[allow(dead_code)]
10002pub struct GtkColorChooser {
10003    _data: [u8; 0],
10004    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10005}
10006
10007impl ::std::fmt::Debug for GtkColorChooser {
10008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10009        write!(f, "GtkColorChooser @ {self:p}")
10010    }
10011}
10012
10013#[repr(C)]
10014#[allow(dead_code)]
10015pub struct GtkConstraintTarget {
10016    _data: [u8; 0],
10017    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10018}
10019
10020impl ::std::fmt::Debug for GtkConstraintTarget {
10021    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10022        write!(f, "GtkConstraintTarget @ {self:p}")
10023    }
10024}
10025
10026#[repr(C)]
10027#[allow(dead_code)]
10028pub struct GtkEditable {
10029    _data: [u8; 0],
10030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10031}
10032
10033impl ::std::fmt::Debug for GtkEditable {
10034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10035        write!(f, "GtkEditable @ {self:p}")
10036    }
10037}
10038
10039#[repr(C)]
10040#[allow(dead_code)]
10041pub struct GtkFileChooser {
10042    _data: [u8; 0],
10043    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10044}
10045
10046impl ::std::fmt::Debug for GtkFileChooser {
10047    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10048        write!(f, "GtkFileChooser @ {self:p}")
10049    }
10050}
10051
10052#[repr(C)]
10053#[allow(dead_code)]
10054pub struct GtkFontChooser {
10055    _data: [u8; 0],
10056    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10057}
10058
10059impl ::std::fmt::Debug for GtkFontChooser {
10060    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10061        write!(f, "GtkFontChooser @ {self:p}")
10062    }
10063}
10064
10065#[repr(C)]
10066#[allow(dead_code)]
10067pub struct GtkNative {
10068    _data: [u8; 0],
10069    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10070}
10071
10072impl ::std::fmt::Debug for GtkNative {
10073    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10074        write!(f, "GtkNative @ {self:p}")
10075    }
10076}
10077
10078#[repr(C)]
10079#[allow(dead_code)]
10080pub struct GtkOrientable {
10081    _data: [u8; 0],
10082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10083}
10084
10085impl ::std::fmt::Debug for GtkOrientable {
10086    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10087        write!(f, "GtkOrientable @ {self:p}")
10088    }
10089}
10090
10091#[repr(C)]
10092#[allow(dead_code)]
10093pub struct GtkPrintOperationPreview {
10094    _data: [u8; 0],
10095    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10096}
10097
10098impl ::std::fmt::Debug for GtkPrintOperationPreview {
10099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10100        write!(f, "GtkPrintOperationPreview @ {self:p}")
10101    }
10102}
10103
10104#[repr(C)]
10105#[allow(dead_code)]
10106pub struct GtkRoot {
10107    _data: [u8; 0],
10108    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10109}
10110
10111impl ::std::fmt::Debug for GtkRoot {
10112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10113        write!(f, "GtkRoot @ {self:p}")
10114    }
10115}
10116
10117#[repr(C)]
10118#[allow(dead_code)]
10119pub struct GtkScrollable {
10120    _data: [u8; 0],
10121    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10122}
10123
10124impl ::std::fmt::Debug for GtkScrollable {
10125    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10126        write!(f, "GtkScrollable @ {self:p}")
10127    }
10128}
10129
10130#[repr(C)]
10131#[allow(dead_code)]
10132pub struct GtkSectionModel {
10133    _data: [u8; 0],
10134    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10135}
10136
10137impl ::std::fmt::Debug for GtkSectionModel {
10138    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10139        write!(f, "GtkSectionModel @ {self:p}")
10140    }
10141}
10142
10143#[repr(C)]
10144#[allow(dead_code)]
10145pub struct GtkSelectionModel {
10146    _data: [u8; 0],
10147    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10148}
10149
10150impl ::std::fmt::Debug for GtkSelectionModel {
10151    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10152        write!(f, "GtkSelectionModel @ {self:p}")
10153    }
10154}
10155
10156#[repr(C)]
10157#[allow(dead_code)]
10158pub struct GtkShortcutManager {
10159    _data: [u8; 0],
10160    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10161}
10162
10163impl ::std::fmt::Debug for GtkShortcutManager {
10164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10165        write!(f, "GtkShortcutManager @ {self:p}")
10166    }
10167}
10168
10169#[repr(C)]
10170#[allow(dead_code)]
10171pub struct GtkStyleProvider {
10172    _data: [u8; 0],
10173    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10174}
10175
10176impl ::std::fmt::Debug for GtkStyleProvider {
10177    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10178        write!(f, "GtkStyleProvider @ {self:p}")
10179    }
10180}
10181
10182#[repr(C)]
10183#[allow(dead_code)]
10184pub struct GtkSymbolicPaintable {
10185    _data: [u8; 0],
10186    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10187}
10188
10189impl ::std::fmt::Debug for GtkSymbolicPaintable {
10190    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10191        write!(f, "GtkSymbolicPaintable @ {self:p}")
10192    }
10193}
10194
10195#[repr(C)]
10196#[allow(dead_code)]
10197pub struct GtkTreeDragDest {
10198    _data: [u8; 0],
10199    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10200}
10201
10202impl ::std::fmt::Debug for GtkTreeDragDest {
10203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10204        write!(f, "GtkTreeDragDest @ {self:p}")
10205    }
10206}
10207
10208#[repr(C)]
10209#[allow(dead_code)]
10210pub struct GtkTreeDragSource {
10211    _data: [u8; 0],
10212    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10213}
10214
10215impl ::std::fmt::Debug for GtkTreeDragSource {
10216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10217        write!(f, "GtkTreeDragSource @ {self:p}")
10218    }
10219}
10220
10221#[repr(C)]
10222#[allow(dead_code)]
10223pub struct GtkTreeModel {
10224    _data: [u8; 0],
10225    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10226}
10227
10228impl ::std::fmt::Debug for GtkTreeModel {
10229    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10230        write!(f, "GtkTreeModel @ {self:p}")
10231    }
10232}
10233
10234#[repr(C)]
10235#[allow(dead_code)]
10236pub struct GtkTreeSortable {
10237    _data: [u8; 0],
10238    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10239}
10240
10241impl ::std::fmt::Debug for GtkTreeSortable {
10242    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10243        write!(f, "GtkTreeSortable @ {self:p}")
10244    }
10245}
10246
10247unsafe extern "C" {
10248
10249    //=========================================================================
10250    // GtkAccessibleAnnouncementPriority
10251    //=========================================================================
10252    #[cfg(feature = "v4_14")]
10253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10254    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
10255
10256    //=========================================================================
10257    // GtkAccessibleAutocomplete
10258    //=========================================================================
10259    pub fn gtk_accessible_autocomplete_get_type() -> GType;
10260
10261    //=========================================================================
10262    // GtkAccessibleInvalidState
10263    //=========================================================================
10264    pub fn gtk_accessible_invalid_state_get_type() -> GType;
10265
10266    //=========================================================================
10267    // GtkAccessiblePlatformState
10268    //=========================================================================
10269    #[cfg(feature = "v4_10")]
10270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10271    pub fn gtk_accessible_platform_state_get_type() -> GType;
10272
10273    //=========================================================================
10274    // GtkAccessibleProperty
10275    //=========================================================================
10276    pub fn gtk_accessible_property_get_type() -> GType;
10277    pub fn gtk_accessible_property_init_value(
10278        property: GtkAccessibleProperty,
10279        value: *mut gobject::GValue,
10280    );
10281
10282    //=========================================================================
10283    // GtkAccessibleRelation
10284    //=========================================================================
10285    pub fn gtk_accessible_relation_get_type() -> GType;
10286    pub fn gtk_accessible_relation_init_value(
10287        relation: GtkAccessibleRelation,
10288        value: *mut gobject::GValue,
10289    );
10290
10291    //=========================================================================
10292    // GtkAccessibleRole
10293    //=========================================================================
10294    pub fn gtk_accessible_role_get_type() -> GType;
10295
10296    //=========================================================================
10297    // GtkAccessibleSort
10298    //=========================================================================
10299    pub fn gtk_accessible_sort_get_type() -> GType;
10300
10301    //=========================================================================
10302    // GtkAccessibleState
10303    //=========================================================================
10304    pub fn gtk_accessible_state_get_type() -> GType;
10305    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
10306
10307    //=========================================================================
10308    // GtkAccessibleTextContentChange
10309    //=========================================================================
10310    #[cfg(feature = "v4_14")]
10311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10312    pub fn gtk_accessible_text_content_change_get_type() -> GType;
10313
10314    //=========================================================================
10315    // GtkAccessibleTextGranularity
10316    //=========================================================================
10317    #[cfg(feature = "v4_14")]
10318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10319    pub fn gtk_accessible_text_granularity_get_type() -> GType;
10320
10321    //=========================================================================
10322    // GtkAccessibleTristate
10323    //=========================================================================
10324    pub fn gtk_accessible_tristate_get_type() -> GType;
10325
10326    //=========================================================================
10327    // GtkAlign
10328    //=========================================================================
10329    pub fn gtk_align_get_type() -> GType;
10330
10331    //=========================================================================
10332    // GtkArrowType
10333    //=========================================================================
10334    pub fn gtk_arrow_type_get_type() -> GType;
10335
10336    //=========================================================================
10337    // GtkAssistantPageType
10338    //=========================================================================
10339    pub fn gtk_assistant_page_type_get_type() -> GType;
10340
10341    //=========================================================================
10342    // GtkBaselinePosition
10343    //=========================================================================
10344    pub fn gtk_baseline_position_get_type() -> GType;
10345
10346    //=========================================================================
10347    // GtkBorderStyle
10348    //=========================================================================
10349    pub fn gtk_border_style_get_type() -> GType;
10350
10351    //=========================================================================
10352    // GtkBuilderError
10353    //=========================================================================
10354    pub fn gtk_builder_error_get_type() -> GType;
10355    pub fn gtk_builder_error_quark() -> glib::GQuark;
10356
10357    //=========================================================================
10358    // GtkButtonsType
10359    //=========================================================================
10360    pub fn gtk_buttons_type_get_type() -> GType;
10361
10362    //=========================================================================
10363    // GtkCellRendererAccelMode
10364    //=========================================================================
10365    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
10366
10367    //=========================================================================
10368    // GtkCellRendererMode
10369    //=========================================================================
10370    pub fn gtk_cell_renderer_mode_get_type() -> GType;
10371
10372    //=========================================================================
10373    // GtkCollation
10374    //=========================================================================
10375    #[cfg(feature = "v4_10")]
10376    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10377    pub fn gtk_collation_get_type() -> GType;
10378
10379    //=========================================================================
10380    // GtkConstraintAttribute
10381    //=========================================================================
10382    pub fn gtk_constraint_attribute_get_type() -> GType;
10383
10384    //=========================================================================
10385    // GtkConstraintRelation
10386    //=========================================================================
10387    pub fn gtk_constraint_relation_get_type() -> GType;
10388
10389    //=========================================================================
10390    // GtkConstraintStrength
10391    //=========================================================================
10392    pub fn gtk_constraint_strength_get_type() -> GType;
10393
10394    //=========================================================================
10395    // GtkConstraintVflParserError
10396    //=========================================================================
10397    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10398    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10399
10400    //=========================================================================
10401    // GtkContentFit
10402    //=========================================================================
10403    #[cfg(feature = "v4_8")]
10404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10405    pub fn gtk_content_fit_get_type() -> GType;
10406
10407    //=========================================================================
10408    // GtkCornerType
10409    //=========================================================================
10410    pub fn gtk_corner_type_get_type() -> GType;
10411
10412    //=========================================================================
10413    // GtkDeleteType
10414    //=========================================================================
10415    pub fn gtk_delete_type_get_type() -> GType;
10416
10417    //=========================================================================
10418    // GtkDialogError
10419    //=========================================================================
10420    #[cfg(feature = "v4_10")]
10421    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10422    pub fn gtk_dialog_error_get_type() -> GType;
10423    #[cfg(feature = "v4_10")]
10424    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10425    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10426
10427    //=========================================================================
10428    // GtkDirectionType
10429    //=========================================================================
10430    pub fn gtk_direction_type_get_type() -> GType;
10431
10432    //=========================================================================
10433    // GtkEditableProperties
10434    //=========================================================================
10435    pub fn gtk_editable_properties_get_type() -> GType;
10436
10437    //=========================================================================
10438    // GtkEntryIconPosition
10439    //=========================================================================
10440    pub fn gtk_entry_icon_position_get_type() -> GType;
10441
10442    //=========================================================================
10443    // GtkEventSequenceState
10444    //=========================================================================
10445    pub fn gtk_event_sequence_state_get_type() -> GType;
10446
10447    //=========================================================================
10448    // GtkFileChooserAction
10449    //=========================================================================
10450    pub fn gtk_file_chooser_action_get_type() -> GType;
10451
10452    //=========================================================================
10453    // GtkFileChooserError
10454    //=========================================================================
10455    pub fn gtk_file_chooser_error_get_type() -> GType;
10456    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10457
10458    //=========================================================================
10459    // GtkFilterChange
10460    //=========================================================================
10461    pub fn gtk_filter_change_get_type() -> GType;
10462
10463    //=========================================================================
10464    // GtkFilterMatch
10465    //=========================================================================
10466    pub fn gtk_filter_match_get_type() -> GType;
10467
10468    //=========================================================================
10469    // GtkFontLevel
10470    //=========================================================================
10471    #[cfg(feature = "v4_10")]
10472    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10473    pub fn gtk_font_level_get_type() -> GType;
10474
10475    //=========================================================================
10476    // GtkFontRendering
10477    //=========================================================================
10478    #[cfg(feature = "v4_16")]
10479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10480    pub fn gtk_font_rendering_get_type() -> GType;
10481
10482    //=========================================================================
10483    // GtkGraphicsOffloadEnabled
10484    //=========================================================================
10485    #[cfg(feature = "v4_14")]
10486    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10487    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10488
10489    //=========================================================================
10490    // GtkIconSize
10491    //=========================================================================
10492    pub fn gtk_icon_size_get_type() -> GType;
10493
10494    //=========================================================================
10495    // GtkIconThemeError
10496    //=========================================================================
10497    pub fn gtk_icon_theme_error_get_type() -> GType;
10498    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10499
10500    //=========================================================================
10501    // GtkIconViewDropPosition
10502    //=========================================================================
10503    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10504
10505    //=========================================================================
10506    // GtkImageType
10507    //=========================================================================
10508    pub fn gtk_image_type_get_type() -> GType;
10509
10510    //=========================================================================
10511    // GtkInputPurpose
10512    //=========================================================================
10513    pub fn gtk_input_purpose_get_type() -> GType;
10514
10515    //=========================================================================
10516    // GtkInscriptionOverflow
10517    //=========================================================================
10518    #[cfg(feature = "v4_8")]
10519    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10520    pub fn gtk_inscription_overflow_get_type() -> GType;
10521
10522    //=========================================================================
10523    // GtkInterfaceColorScheme
10524    //=========================================================================
10525    #[cfg(feature = "v4_20")]
10526    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10527    pub fn gtk_interface_color_scheme_get_type() -> GType;
10528
10529    //=========================================================================
10530    // GtkInterfaceContrast
10531    //=========================================================================
10532    #[cfg(feature = "v4_20")]
10533    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10534    pub fn gtk_interface_contrast_get_type() -> GType;
10535
10536    //=========================================================================
10537    // GtkJustification
10538    //=========================================================================
10539    pub fn gtk_justification_get_type() -> GType;
10540
10541    //=========================================================================
10542    // GtkLevelBarMode
10543    //=========================================================================
10544    pub fn gtk_level_bar_mode_get_type() -> GType;
10545
10546    //=========================================================================
10547    // GtkLicense
10548    //=========================================================================
10549    pub fn gtk_license_get_type() -> GType;
10550
10551    //=========================================================================
10552    // GtkListTabBehavior
10553    //=========================================================================
10554    #[cfg(feature = "v4_12")]
10555    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10556    pub fn gtk_list_tab_behavior_get_type() -> GType;
10557
10558    //=========================================================================
10559    // GtkMessageType
10560    //=========================================================================
10561    pub fn gtk_message_type_get_type() -> GType;
10562
10563    //=========================================================================
10564    // GtkMovementStep
10565    //=========================================================================
10566    pub fn gtk_movement_step_get_type() -> GType;
10567
10568    //=========================================================================
10569    // GtkNaturalWrapMode
10570    //=========================================================================
10571    #[cfg(feature = "v4_6")]
10572    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10573    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10574
10575    //=========================================================================
10576    // GtkNotebookTab
10577    //=========================================================================
10578    pub fn gtk_notebook_tab_get_type() -> GType;
10579
10580    //=========================================================================
10581    // GtkNumberUpLayout
10582    //=========================================================================
10583    pub fn gtk_number_up_layout_get_type() -> GType;
10584
10585    //=========================================================================
10586    // GtkOrdering
10587    //=========================================================================
10588    pub fn gtk_ordering_get_type() -> GType;
10589    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10590
10591    //=========================================================================
10592    // GtkOrientation
10593    //=========================================================================
10594    pub fn gtk_orientation_get_type() -> GType;
10595
10596    //=========================================================================
10597    // GtkOverflow
10598    //=========================================================================
10599    pub fn gtk_overflow_get_type() -> GType;
10600
10601    //=========================================================================
10602    // GtkPackType
10603    //=========================================================================
10604    pub fn gtk_pack_type_get_type() -> GType;
10605
10606    //=========================================================================
10607    // GtkPadActionType
10608    //=========================================================================
10609    pub fn gtk_pad_action_type_get_type() -> GType;
10610
10611    //=========================================================================
10612    // GtkPageOrientation
10613    //=========================================================================
10614    pub fn gtk_page_orientation_get_type() -> GType;
10615
10616    //=========================================================================
10617    // GtkPageSet
10618    //=========================================================================
10619    pub fn gtk_page_set_get_type() -> GType;
10620
10621    //=========================================================================
10622    // GtkPanDirection
10623    //=========================================================================
10624    pub fn gtk_pan_direction_get_type() -> GType;
10625
10626    //=========================================================================
10627    // GtkPolicyType
10628    //=========================================================================
10629    pub fn gtk_policy_type_get_type() -> GType;
10630
10631    //=========================================================================
10632    // GtkPositionType
10633    //=========================================================================
10634    pub fn gtk_position_type_get_type() -> GType;
10635
10636    //=========================================================================
10637    // GtkPrintDuplex
10638    //=========================================================================
10639    pub fn gtk_print_duplex_get_type() -> GType;
10640
10641    //=========================================================================
10642    // GtkPrintError
10643    //=========================================================================
10644    pub fn gtk_print_error_get_type() -> GType;
10645    pub fn gtk_print_error_quark() -> glib::GQuark;
10646
10647    //=========================================================================
10648    // GtkPrintOperationAction
10649    //=========================================================================
10650    pub fn gtk_print_operation_action_get_type() -> GType;
10651
10652    //=========================================================================
10653    // GtkPrintOperationResult
10654    //=========================================================================
10655    pub fn gtk_print_operation_result_get_type() -> GType;
10656
10657    //=========================================================================
10658    // GtkPrintPages
10659    //=========================================================================
10660    pub fn gtk_print_pages_get_type() -> GType;
10661
10662    //=========================================================================
10663    // GtkPrintQuality
10664    //=========================================================================
10665    pub fn gtk_print_quality_get_type() -> GType;
10666
10667    //=========================================================================
10668    // GtkPrintStatus
10669    //=========================================================================
10670    pub fn gtk_print_status_get_type() -> GType;
10671
10672    //=========================================================================
10673    // GtkPropagationLimit
10674    //=========================================================================
10675    pub fn gtk_propagation_limit_get_type() -> GType;
10676
10677    //=========================================================================
10678    // GtkPropagationPhase
10679    //=========================================================================
10680    pub fn gtk_propagation_phase_get_type() -> GType;
10681
10682    //=========================================================================
10683    // GtkRecentManagerError
10684    //=========================================================================
10685    pub fn gtk_recent_manager_error_get_type() -> GType;
10686    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10687
10688    //=========================================================================
10689    // GtkReducedMotion
10690    //=========================================================================
10691    #[cfg(feature = "v4_22")]
10692    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10693    pub fn gtk_reduced_motion_get_type() -> GType;
10694
10695    //=========================================================================
10696    // GtkResponseType
10697    //=========================================================================
10698    pub fn gtk_response_type_get_type() -> GType;
10699
10700    //=========================================================================
10701    // GtkRestoreReason
10702    //=========================================================================
10703    #[cfg(feature = "v4_24")]
10704    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10705    pub fn gtk_restore_reason_get_type() -> GType;
10706
10707    //=========================================================================
10708    // GtkRevealerTransitionType
10709    //=========================================================================
10710    pub fn gtk_revealer_transition_type_get_type() -> GType;
10711
10712    //=========================================================================
10713    // GtkScrollStep
10714    //=========================================================================
10715    pub fn gtk_scroll_step_get_type() -> GType;
10716
10717    //=========================================================================
10718    // GtkScrollType
10719    //=========================================================================
10720    pub fn gtk_scroll_type_get_type() -> GType;
10721
10722    //=========================================================================
10723    // GtkScrollablePolicy
10724    //=========================================================================
10725    pub fn gtk_scrollable_policy_get_type() -> GType;
10726
10727    //=========================================================================
10728    // GtkSelectionMode
10729    //=========================================================================
10730    pub fn gtk_selection_mode_get_type() -> GType;
10731
10732    //=========================================================================
10733    // GtkSensitivityType
10734    //=========================================================================
10735    pub fn gtk_sensitivity_type_get_type() -> GType;
10736
10737    //=========================================================================
10738    // GtkShortcutScope
10739    //=========================================================================
10740    pub fn gtk_shortcut_scope_get_type() -> GType;
10741
10742    //=========================================================================
10743    // GtkShortcutType
10744    //=========================================================================
10745    pub fn gtk_shortcut_type_get_type() -> GType;
10746
10747    //=========================================================================
10748    // GtkSizeGroupMode
10749    //=========================================================================
10750    pub fn gtk_size_group_mode_get_type() -> GType;
10751
10752    //=========================================================================
10753    // GtkSizeRequestMode
10754    //=========================================================================
10755    pub fn gtk_size_request_mode_get_type() -> GType;
10756
10757    //=========================================================================
10758    // GtkSortType
10759    //=========================================================================
10760    pub fn gtk_sort_type_get_type() -> GType;
10761
10762    //=========================================================================
10763    // GtkSorterChange
10764    //=========================================================================
10765    pub fn gtk_sorter_change_get_type() -> GType;
10766
10767    //=========================================================================
10768    // GtkSorterOrder
10769    //=========================================================================
10770    pub fn gtk_sorter_order_get_type() -> GType;
10771
10772    //=========================================================================
10773    // GtkSpinButtonUpdatePolicy
10774    //=========================================================================
10775    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10776
10777    //=========================================================================
10778    // GtkSpinType
10779    //=========================================================================
10780    pub fn gtk_spin_type_get_type() -> GType;
10781
10782    //=========================================================================
10783    // GtkStackTransitionType
10784    //=========================================================================
10785    pub fn gtk_stack_transition_type_get_type() -> GType;
10786
10787    //=========================================================================
10788    // GtkStringFilterMatchMode
10789    //=========================================================================
10790    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10791
10792    //=========================================================================
10793    // GtkSvgError
10794    //=========================================================================
10795    #[cfg(feature = "v4_22")]
10796    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10797    pub fn gtk_svg_error_get_type() -> GType;
10798    #[cfg(feature = "v4_22")]
10799    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10800    pub fn gtk_svg_error_get_attribute(error: *const glib::GError) -> *const c_char;
10801    #[cfg(feature = "v4_22")]
10802    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10803    pub fn gtk_svg_error_get_element(error: *const glib::GError) -> *const c_char;
10804    #[cfg(feature = "v4_22")]
10805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10806    pub fn gtk_svg_error_get_end(error: *const glib::GError) -> *const GtkSvgLocation;
10807    #[cfg(feature = "v4_24")]
10808    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10809    pub fn gtk_svg_error_get_input(error: *const glib::GError) -> *const c_char;
10810    #[cfg(feature = "v4_22")]
10811    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10812    pub fn gtk_svg_error_get_start(error: *const glib::GError) -> *const GtkSvgLocation;
10813    #[cfg(feature = "v4_22")]
10814    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10815    pub fn gtk_svg_error_quark() -> glib::GQuark;
10816
10817    //=========================================================================
10818    // GtkSymbolicColor
10819    //=========================================================================
10820    #[cfg(feature = "v4_6")]
10821    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10822    pub fn gtk_symbolic_color_get_type() -> GType;
10823
10824    //=========================================================================
10825    // GtkSystemSetting
10826    //=========================================================================
10827    pub fn gtk_system_setting_get_type() -> GType;
10828
10829    //=========================================================================
10830    // GtkTextDirection
10831    //=========================================================================
10832    pub fn gtk_text_direction_get_type() -> GType;
10833
10834    //=========================================================================
10835    // GtkTextExtendSelection
10836    //=========================================================================
10837    pub fn gtk_text_extend_selection_get_type() -> GType;
10838
10839    //=========================================================================
10840    // GtkTextViewLayer
10841    //=========================================================================
10842    pub fn gtk_text_view_layer_get_type() -> GType;
10843
10844    //=========================================================================
10845    // GtkTextWindowType
10846    //=========================================================================
10847    pub fn gtk_text_window_type_get_type() -> GType;
10848
10849    //=========================================================================
10850    // GtkTreeViewColumnSizing
10851    //=========================================================================
10852    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10853
10854    //=========================================================================
10855    // GtkTreeViewDropPosition
10856    //=========================================================================
10857    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10858
10859    //=========================================================================
10860    // GtkTreeViewGridLines
10861    //=========================================================================
10862    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10863
10864    //=========================================================================
10865    // GtkUnit
10866    //=========================================================================
10867    pub fn gtk_unit_get_type() -> GType;
10868
10869    //=========================================================================
10870    // GtkWindowGravity
10871    //=========================================================================
10872    #[cfg(feature = "v4_20")]
10873    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10874    pub fn gtk_window_gravity_get_type() -> GType;
10875
10876    //=========================================================================
10877    // GtkWrapMode
10878    //=========================================================================
10879    pub fn gtk_wrap_mode_get_type() -> GType;
10880
10881    //=========================================================================
10882    // GtkApplicationInhibitFlags
10883    //=========================================================================
10884    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10885
10886    //=========================================================================
10887    // GtkBuilderClosureFlags
10888    //=========================================================================
10889    pub fn gtk_builder_closure_flags_get_type() -> GType;
10890
10891    //=========================================================================
10892    // GtkCellRendererState
10893    //=========================================================================
10894    pub fn gtk_cell_renderer_state_get_type() -> GType;
10895
10896    //=========================================================================
10897    // GtkDebugFlags
10898    //=========================================================================
10899    pub fn gtk_debug_flags_get_type() -> GType;
10900
10901    //=========================================================================
10902    // GtkDialogFlags
10903    //=========================================================================
10904    pub fn gtk_dialog_flags_get_type() -> GType;
10905
10906    //=========================================================================
10907    // GtkEventControllerScrollFlags
10908    //=========================================================================
10909    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10910
10911    //=========================================================================
10912    // GtkFontChooserLevel
10913    //=========================================================================
10914    pub fn gtk_font_chooser_level_get_type() -> GType;
10915
10916    //=========================================================================
10917    // GtkIconLookupFlags
10918    //=========================================================================
10919    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10920
10921    //=========================================================================
10922    // GtkInputHints
10923    //=========================================================================
10924    pub fn gtk_input_hints_get_type() -> GType;
10925
10926    //=========================================================================
10927    // GtkListScrollFlags
10928    //=========================================================================
10929    #[cfg(feature = "v4_12")]
10930    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10931    pub fn gtk_list_scroll_flags_get_type() -> GType;
10932
10933    //=========================================================================
10934    // GtkPickFlags
10935    //=========================================================================
10936    pub fn gtk_pick_flags_get_type() -> GType;
10937
10938    //=========================================================================
10939    // GtkPopoverMenuFlags
10940    //=========================================================================
10941    pub fn gtk_popover_menu_flags_get_type() -> GType;
10942
10943    //=========================================================================
10944    // GtkPrintCapabilities
10945    //=========================================================================
10946    pub fn gtk_print_capabilities_get_type() -> GType;
10947
10948    //=========================================================================
10949    // GtkShortcutActionFlags
10950    //=========================================================================
10951    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10952
10953    //=========================================================================
10954    // GtkStateFlags
10955    //=========================================================================
10956    pub fn gtk_state_flags_get_type() -> GType;
10957
10958    //=========================================================================
10959    // GtkStyleContextPrintFlags
10960    //=========================================================================
10961    pub fn gtk_style_context_print_flags_get_type() -> GType;
10962
10963    //=========================================================================
10964    // GtkSvgFeatures
10965    //=========================================================================
10966    #[cfg(feature = "v4_22")]
10967    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10968    pub fn gtk_svg_features_get_type() -> GType;
10969
10970    //=========================================================================
10971    // GtkTextBufferNotifyFlags
10972    //=========================================================================
10973    #[cfg(feature = "v4_16")]
10974    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10975    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10976
10977    //=========================================================================
10978    // GtkTextSearchFlags
10979    //=========================================================================
10980    pub fn gtk_text_search_flags_get_type() -> GType;
10981
10982    //=========================================================================
10983    // GtkTreeModelFlags
10984    //=========================================================================
10985    pub fn gtk_tree_model_flags_get_type() -> GType;
10986
10987    //=========================================================================
10988    // GtkAccessibleList
10989    //=========================================================================
10990    #[cfg(feature = "v4_14")]
10991    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10992    pub fn gtk_accessible_list_get_type() -> GType;
10993    #[cfg(feature = "v4_14")]
10994    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10995    pub fn gtk_accessible_list_new_from_array(
10996        accessibles: *mut *mut GtkAccessible,
10997        n_accessibles: size_t,
10998    ) -> *mut GtkAccessibleList;
10999    #[cfg(feature = "v4_14")]
11000    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11001    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
11002    #[cfg(feature = "v4_14")]
11003    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11004    pub fn gtk_accessible_list_get_objects(
11005        accessible_list: *mut GtkAccessibleList,
11006    ) -> *mut glib::GList;
11007
11008    //=========================================================================
11009    // GtkBitset
11010    //=========================================================================
11011    pub fn gtk_bitset_get_type() -> GType;
11012    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
11013    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
11014    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11015    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11016    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11017    pub fn gtk_bitset_add_rectangle(
11018        self_: *mut GtkBitset,
11019        start: c_uint,
11020        width: c_uint,
11021        height: c_uint,
11022        stride: c_uint,
11023    );
11024    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
11025    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
11026    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
11027    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
11028    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
11029    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
11030    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
11031    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
11032    pub fn gtk_bitset_get_size_in_range(
11033        self_: *const GtkBitset,
11034        first: c_uint,
11035        last: c_uint,
11036    ) -> u64;
11037    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
11038    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
11039    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
11040    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11041    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
11042    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11043    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11044    pub fn gtk_bitset_remove_rectangle(
11045        self_: *mut GtkBitset,
11046        start: c_uint,
11047        width: c_uint,
11048        height: c_uint,
11049        stride: c_uint,
11050    );
11051    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
11052    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
11053    pub fn gtk_bitset_splice(
11054        self_: *mut GtkBitset,
11055        position: c_uint,
11056        removed: c_uint,
11057        added: c_uint,
11058    );
11059    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
11060    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
11061    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
11062
11063    //=========================================================================
11064    // GtkBitsetIter
11065    //=========================================================================
11066    pub fn gtk_bitset_iter_get_type() -> GType;
11067    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
11068    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
11069    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11070    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11071    pub fn gtk_bitset_iter_init_at(
11072        iter: *mut GtkBitsetIter,
11073        set: *const GtkBitset,
11074        target: c_uint,
11075        value: *mut c_uint,
11076    ) -> gboolean;
11077    pub fn gtk_bitset_iter_init_first(
11078        iter: *mut GtkBitsetIter,
11079        set: *const GtkBitset,
11080        value: *mut c_uint,
11081    ) -> gboolean;
11082    pub fn gtk_bitset_iter_init_last(
11083        iter: *mut GtkBitsetIter,
11084        set: *const GtkBitset,
11085        value: *mut c_uint,
11086    ) -> gboolean;
11087
11088    //=========================================================================
11089    // GtkBorder
11090    //=========================================================================
11091    pub fn gtk_border_get_type() -> GType;
11092    pub fn gtk_border_new() -> *mut GtkBorder;
11093    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
11094    pub fn gtk_border_free(border_: *mut GtkBorder);
11095
11096    //=========================================================================
11097    // GtkBuildableParseContext
11098    //=========================================================================
11099    pub fn gtk_buildable_parse_context_get_element(
11100        context: *mut GtkBuildableParseContext,
11101    ) -> *const c_char;
11102    pub fn gtk_buildable_parse_context_get_element_stack(
11103        context: *mut GtkBuildableParseContext,
11104    ) -> *mut glib::GPtrArray;
11105    pub fn gtk_buildable_parse_context_get_position(
11106        context: *mut GtkBuildableParseContext,
11107        line_number: *mut c_int,
11108        char_number: *mut c_int,
11109    );
11110    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
11111    pub fn gtk_buildable_parse_context_push(
11112        context: *mut GtkBuildableParseContext,
11113        parser: *const GtkBuildableParser,
11114        user_data: gpointer,
11115    );
11116
11117    //=========================================================================
11118    // GtkCellAreaClass
11119    //=========================================================================
11120    pub fn gtk_cell_area_class_find_cell_property(
11121        aclass: *mut GtkCellAreaClass,
11122        property_name: *const c_char,
11123    ) -> *mut gobject::GParamSpec;
11124    pub fn gtk_cell_area_class_install_cell_property(
11125        aclass: *mut GtkCellAreaClass,
11126        property_id: c_uint,
11127        pspec: *mut gobject::GParamSpec,
11128    );
11129    pub fn gtk_cell_area_class_list_cell_properties(
11130        aclass: *mut GtkCellAreaClass,
11131        n_properties: *mut c_uint,
11132    ) -> *mut *mut gobject::GParamSpec;
11133
11134    //=========================================================================
11135    // GtkCssSection
11136    //=========================================================================
11137    pub fn gtk_css_section_get_type() -> GType;
11138    pub fn gtk_css_section_new(
11139        file: *mut gio::GFile,
11140        start: *const GtkCssLocation,
11141        end: *const GtkCssLocation,
11142    ) -> *mut GtkCssSection;
11143    #[cfg(feature = "v4_16")]
11144    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11145    pub fn gtk_css_section_new_with_bytes(
11146        file: *mut gio::GFile,
11147        bytes: *mut glib::GBytes,
11148        start: *const GtkCssLocation,
11149        end: *const GtkCssLocation,
11150    ) -> *mut GtkCssSection;
11151    #[cfg(feature = "v4_16")]
11152    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11153    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
11154    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
11155    -> *const GtkCssLocation;
11156    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
11157    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
11158    pub fn gtk_css_section_get_start_location(
11159        section: *const GtkCssSection,
11160    ) -> *const GtkCssLocation;
11161    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
11162    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
11163    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
11164    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
11165
11166    //=========================================================================
11167    // GtkExpressionWatch
11168    //=========================================================================
11169    #[cfg(feature = "v4_2")]
11170    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
11171    pub fn gtk_expression_watch_get_type() -> GType;
11172    pub fn gtk_expression_watch_evaluate(
11173        watch: *mut GtkExpressionWatch,
11174        value: *mut gobject::GValue,
11175    ) -> gboolean;
11176    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
11177    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
11178    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
11179
11180    //=========================================================================
11181    // GtkPaperSize
11182    //=========================================================================
11183    pub fn gtk_paper_size_get_type() -> GType;
11184    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
11185    pub fn gtk_paper_size_new_custom(
11186        name: *const c_char,
11187        display_name: *const c_char,
11188        width: c_double,
11189        height: c_double,
11190        unit: GtkUnit,
11191    ) -> *mut GtkPaperSize;
11192    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
11193    pub fn gtk_paper_size_new_from_ipp(
11194        ipp_name: *const c_char,
11195        width: c_double,
11196        height: c_double,
11197    ) -> *mut GtkPaperSize;
11198    pub fn gtk_paper_size_new_from_key_file(
11199        key_file: *mut glib::GKeyFile,
11200        group_name: *const c_char,
11201        error: *mut *mut glib::GError,
11202    ) -> *mut GtkPaperSize;
11203    pub fn gtk_paper_size_new_from_ppd(
11204        ppd_name: *const c_char,
11205        ppd_display_name: *const c_char,
11206        width: c_double,
11207        height: c_double,
11208    ) -> *mut GtkPaperSize;
11209    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
11210    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
11211    pub fn gtk_paper_size_get_default_bottom_margin(
11212        size: *mut GtkPaperSize,
11213        unit: GtkUnit,
11214    ) -> c_double;
11215    pub fn gtk_paper_size_get_default_left_margin(
11216        size: *mut GtkPaperSize,
11217        unit: GtkUnit,
11218    ) -> c_double;
11219    pub fn gtk_paper_size_get_default_right_margin(
11220        size: *mut GtkPaperSize,
11221        unit: GtkUnit,
11222    ) -> c_double;
11223    pub fn gtk_paper_size_get_default_top_margin(
11224        size: *mut GtkPaperSize,
11225        unit: GtkUnit,
11226    ) -> c_double;
11227    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
11228    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11229    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
11230    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
11231    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11232    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
11233    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
11234    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
11235    pub fn gtk_paper_size_set_size(
11236        size: *mut GtkPaperSize,
11237        width: c_double,
11238        height: c_double,
11239        unit: GtkUnit,
11240    );
11241    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
11242    pub fn gtk_paper_size_to_key_file(
11243        size: *mut GtkPaperSize,
11244        key_file: *mut glib::GKeyFile,
11245        group_name: *const c_char,
11246    );
11247    pub fn gtk_paper_size_get_default() -> *const c_char;
11248    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
11249
11250    //=========================================================================
11251    // GtkPrintSetup
11252    //=========================================================================
11253    #[cfg(feature = "v4_14")]
11254    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11255    pub fn gtk_print_setup_get_type() -> GType;
11256    #[cfg(feature = "v4_14")]
11257    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11258    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
11259    #[cfg(feature = "v4_14")]
11260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11261    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
11262    #[cfg(feature = "v4_14")]
11263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11264    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
11265    #[cfg(feature = "v4_14")]
11266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11267    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
11268
11269    //=========================================================================
11270    // GtkRecentInfo
11271    //=========================================================================
11272    pub fn gtk_recent_info_get_type() -> GType;
11273    pub fn gtk_recent_info_create_app_info(
11274        info: *mut GtkRecentInfo,
11275        app_name: *const c_char,
11276        error: *mut *mut glib::GError,
11277    ) -> *mut gio::GAppInfo;
11278    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
11279    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11280    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
11281    pub fn gtk_recent_info_get_application_info(
11282        info: *mut GtkRecentInfo,
11283        app_name: *const c_char,
11284        app_exec: *mut *const c_char,
11285        count: *mut c_uint,
11286        stamp: *mut *mut glib::GDateTime,
11287    ) -> gboolean;
11288    pub fn gtk_recent_info_get_applications(
11289        info: *mut GtkRecentInfo,
11290        length: *mut size_t,
11291    ) -> *mut *mut c_char;
11292    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
11293    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
11294    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
11295    pub fn gtk_recent_info_get_groups(
11296        info: *mut GtkRecentInfo,
11297        length: *mut size_t,
11298    ) -> *mut *mut c_char;
11299    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
11300    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11301    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
11302    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
11303    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
11304    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
11305    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11306    pub fn gtk_recent_info_has_application(
11307        info: *mut GtkRecentInfo,
11308        app_name: *const c_char,
11309    ) -> gboolean;
11310    pub fn gtk_recent_info_has_group(
11311        info: *mut GtkRecentInfo,
11312        group_name: *const c_char,
11313    ) -> gboolean;
11314    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
11315    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
11316    pub fn gtk_recent_info_match(
11317        info_a: *mut GtkRecentInfo,
11318        info_b: *mut GtkRecentInfo,
11319    ) -> gboolean;
11320    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
11321    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
11322
11323    //=========================================================================
11324    // GtkRequisition
11325    //=========================================================================
11326    pub fn gtk_requisition_get_type() -> GType;
11327    pub fn gtk_requisition_new() -> *mut GtkRequisition;
11328    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
11329    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
11330
11331    //=========================================================================
11332    // GtkScrollInfo
11333    //=========================================================================
11334    #[cfg(feature = "v4_12")]
11335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11336    pub fn gtk_scroll_info_get_type() -> GType;
11337    #[cfg(feature = "v4_12")]
11338    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11339    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
11340    #[cfg(feature = "v4_12")]
11341    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11342    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
11343    #[cfg(feature = "v4_12")]
11344    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11345    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
11346    #[cfg(feature = "v4_12")]
11347    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11348    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
11349    #[cfg(feature = "v4_12")]
11350    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11351    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
11352    #[cfg(feature = "v4_12")]
11353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11354    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
11355    #[cfg(feature = "v4_12")]
11356    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11357    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
11358
11359    //=========================================================================
11360    // GtkTextIter
11361    //=========================================================================
11362    pub fn gtk_text_iter_get_type() -> GType;
11363    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
11364    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
11365    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11366    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11367    pub fn gtk_text_iter_backward_cursor_positions(
11368        iter: *mut GtkTextIter,
11369        count: c_int,
11370    ) -> gboolean;
11371    pub fn gtk_text_iter_backward_find_char(
11372        iter: *mut GtkTextIter,
11373        pred: GtkTextCharPredicate,
11374        user_data: gpointer,
11375        limit: *const GtkTextIter,
11376    ) -> gboolean;
11377    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
11378    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11379    pub fn gtk_text_iter_backward_search(
11380        iter: *const GtkTextIter,
11381        str: *const c_char,
11382        flags: GtkTextSearchFlags,
11383        match_start: *mut GtkTextIter,
11384        match_end: *mut GtkTextIter,
11385        limit: *const GtkTextIter,
11386    ) -> gboolean;
11387    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
11388    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
11389    -> gboolean;
11390    pub fn gtk_text_iter_backward_to_tag_toggle(
11391        iter: *mut GtkTextIter,
11392        tag: *mut GtkTextTag,
11393    ) -> gboolean;
11394    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11395    pub fn gtk_text_iter_backward_visible_cursor_positions(
11396        iter: *mut GtkTextIter,
11397        count: c_int,
11398    ) -> gboolean;
11399    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11400    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11401    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
11402    pub fn gtk_text_iter_backward_visible_word_starts(
11403        iter: *mut GtkTextIter,
11404        count: c_int,
11405    ) -> gboolean;
11406    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
11407    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11408    pub fn gtk_text_iter_can_insert(
11409        iter: *const GtkTextIter,
11410        default_editability: gboolean,
11411    ) -> gboolean;
11412    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
11413    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
11414    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
11415    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
11416    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
11417    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11418    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
11419    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
11420    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
11421    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11422    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11423    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
11424    -> gboolean;
11425    pub fn gtk_text_iter_forward_find_char(
11426        iter: *mut GtkTextIter,
11427        pred: GtkTextCharPredicate,
11428        user_data: gpointer,
11429        limit: *const GtkTextIter,
11430    ) -> gboolean;
11431    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
11432    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11433    pub fn gtk_text_iter_forward_search(
11434        iter: *const GtkTextIter,
11435        str: *const c_char,
11436        flags: GtkTextSearchFlags,
11437        match_start: *mut GtkTextIter,
11438        match_end: *mut GtkTextIter,
11439        limit: *const GtkTextIter,
11440    ) -> gboolean;
11441    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
11442    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11443    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
11444    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
11445    pub fn gtk_text_iter_forward_to_tag_toggle(
11446        iter: *mut GtkTextIter,
11447        tag: *mut GtkTextTag,
11448    ) -> gboolean;
11449    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11450    pub fn gtk_text_iter_forward_visible_cursor_positions(
11451        iter: *mut GtkTextIter,
11452        count: c_int,
11453    ) -> gboolean;
11454    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11455    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11456    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
11457    pub fn gtk_text_iter_forward_visible_word_ends(
11458        iter: *mut GtkTextIter,
11459        count: c_int,
11460    ) -> gboolean;
11461    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11462    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11463    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11464    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11465    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11466    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11467    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11468    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11469    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11470    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11471    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11472    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11473    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11474    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11475    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11476    pub fn gtk_text_iter_get_slice(
11477        start: *const GtkTextIter,
11478        end: *const GtkTextIter,
11479    ) -> *mut c_char;
11480    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11481    pub fn gtk_text_iter_get_text(
11482        start: *const GtkTextIter,
11483        end: *const GtkTextIter,
11484    ) -> *mut c_char;
11485    pub fn gtk_text_iter_get_toggled_tags(
11486        iter: *const GtkTextIter,
11487        toggled_on: gboolean,
11488    ) -> *mut glib::GSList;
11489    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11490    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11491    pub fn gtk_text_iter_get_visible_slice(
11492        start: *const GtkTextIter,
11493        end: *const GtkTextIter,
11494    ) -> *mut c_char;
11495    pub fn gtk_text_iter_get_visible_text(
11496        start: *const GtkTextIter,
11497        end: *const GtkTextIter,
11498    ) -> *mut c_char;
11499    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11500    pub fn gtk_text_iter_in_range(
11501        iter: *const GtkTextIter,
11502        start: *const GtkTextIter,
11503        end: *const GtkTextIter,
11504    ) -> gboolean;
11505    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11506    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11507    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11508    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11509    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11510    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11511    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11512    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11513    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11514    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11515    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11516    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11517    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11518    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11519    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11520    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11521    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11522
11523    //=========================================================================
11524    // GtkTreeIter
11525    //=========================================================================
11526    pub fn gtk_tree_iter_get_type() -> GType;
11527    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11528    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11529
11530    //=========================================================================
11531    // GtkTreePath
11532    //=========================================================================
11533    pub fn gtk_tree_path_get_type() -> GType;
11534    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11535    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11536    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11537    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11538    -> *mut GtkTreePath;
11539    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11540    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11541    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11542    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11543    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11544    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11545    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11546    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11547    pub fn gtk_tree_path_get_indices_with_depth(
11548        path: *mut GtkTreePath,
11549        depth: *mut c_int,
11550    ) -> *mut c_int;
11551    pub fn gtk_tree_path_is_ancestor(
11552        path: *mut GtkTreePath,
11553        descendant: *mut GtkTreePath,
11554    ) -> gboolean;
11555    pub fn gtk_tree_path_is_descendant(
11556        path: *mut GtkTreePath,
11557        ancestor: *mut GtkTreePath,
11558    ) -> gboolean;
11559    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11560    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11561    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11562    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11563    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11564
11565    //=========================================================================
11566    // GtkTreeRowReference
11567    //=========================================================================
11568    pub fn gtk_tree_row_reference_get_type() -> GType;
11569    pub fn gtk_tree_row_reference_new(
11570        model: *mut GtkTreeModel,
11571        path: *mut GtkTreePath,
11572    ) -> *mut GtkTreeRowReference;
11573    pub fn gtk_tree_row_reference_new_proxy(
11574        proxy: *mut gobject::GObject,
11575        model: *mut GtkTreeModel,
11576        path: *mut GtkTreePath,
11577    ) -> *mut GtkTreeRowReference;
11578    pub fn gtk_tree_row_reference_copy(
11579        reference: *mut GtkTreeRowReference,
11580    ) -> *mut GtkTreeRowReference;
11581    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11582    pub fn gtk_tree_row_reference_get_model(
11583        reference: *mut GtkTreeRowReference,
11584    ) -> *mut GtkTreeModel;
11585    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11586    -> *mut GtkTreePath;
11587    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11588    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11589    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11590    pub fn gtk_tree_row_reference_reordered(
11591        proxy: *mut gobject::GObject,
11592        path: *mut GtkTreePath,
11593        iter: *mut GtkTreeIter,
11594        new_order: *mut c_int,
11595    );
11596
11597    //=========================================================================
11598    // GtkWidgetClass
11599    //=========================================================================
11600    pub fn gtk_widget_class_add_binding(
11601        widget_class: *mut GtkWidgetClass,
11602        keyval: c_uint,
11603        mods: gdk::GdkModifierType,
11604        callback: GtkShortcutFunc,
11605        format_string: *const c_char,
11606        ...
11607    );
11608    pub fn gtk_widget_class_add_binding_action(
11609        widget_class: *mut GtkWidgetClass,
11610        keyval: c_uint,
11611        mods: gdk::GdkModifierType,
11612        action_name: *const c_char,
11613        format_string: *const c_char,
11614        ...
11615    );
11616    pub fn gtk_widget_class_add_binding_signal(
11617        widget_class: *mut GtkWidgetClass,
11618        keyval: c_uint,
11619        mods: gdk::GdkModifierType,
11620        signal: *const c_char,
11621        format_string: *const c_char,
11622        ...
11623    );
11624    pub fn gtk_widget_class_add_shortcut(
11625        widget_class: *mut GtkWidgetClass,
11626        shortcut: *mut GtkShortcut,
11627    );
11628    pub fn gtk_widget_class_bind_template_callback_full(
11629        widget_class: *mut GtkWidgetClass,
11630        callback_name: *const c_char,
11631        callback_symbol: gobject::GCallback,
11632    );
11633    pub fn gtk_widget_class_bind_template_child_full(
11634        widget_class: *mut GtkWidgetClass,
11635        name: *const c_char,
11636        internal_child: gboolean,
11637        struct_offset: ssize_t,
11638    );
11639    pub fn gtk_widget_class_get_accessible_role(
11640        widget_class: *mut GtkWidgetClass,
11641    ) -> GtkAccessibleRole;
11642    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11643    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11644    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11645    pub fn gtk_widget_class_install_action(
11646        widget_class: *mut GtkWidgetClass,
11647        action_name: *const c_char,
11648        parameter_type: *const c_char,
11649        activate: GtkWidgetActionActivateFunc,
11650    );
11651    pub fn gtk_widget_class_install_property_action(
11652        widget_class: *mut GtkWidgetClass,
11653        action_name: *const c_char,
11654        property_name: *const c_char,
11655    );
11656    pub fn gtk_widget_class_query_action(
11657        widget_class: *mut GtkWidgetClass,
11658        index_: c_uint,
11659        owner: *mut GType,
11660        action_name: *mut *const c_char,
11661        parameter_type: *mut *const glib::GVariantType,
11662        property_name: *mut *const c_char,
11663    ) -> gboolean;
11664    pub fn gtk_widget_class_set_accessible_role(
11665        widget_class: *mut GtkWidgetClass,
11666        accessible_role: GtkAccessibleRole,
11667    );
11668    pub fn gtk_widget_class_set_activate_signal(
11669        widget_class: *mut GtkWidgetClass,
11670        signal_id: c_uint,
11671    );
11672    pub fn gtk_widget_class_set_activate_signal_from_name(
11673        widget_class: *mut GtkWidgetClass,
11674        signal_name: *const c_char,
11675    );
11676    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11677    pub fn gtk_widget_class_set_layout_manager_type(
11678        widget_class: *mut GtkWidgetClass,
11679        type_: GType,
11680    );
11681    pub fn gtk_widget_class_set_template(
11682        widget_class: *mut GtkWidgetClass,
11683        template_bytes: *mut glib::GBytes,
11684    );
11685    pub fn gtk_widget_class_set_template_from_resource(
11686        widget_class: *mut GtkWidgetClass,
11687        resource_name: *const c_char,
11688    );
11689    pub fn gtk_widget_class_set_template_scope(
11690        widget_class: *mut GtkWidgetClass,
11691        scope: *mut GtkBuilderScope,
11692    );
11693
11694    //=========================================================================
11695    // GtkATContext
11696    //=========================================================================
11697    pub fn gtk_at_context_get_type() -> GType;
11698    #[cfg(feature = "v4_10")]
11699    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11700    pub fn gtk_at_context_create(
11701        accessible_role: GtkAccessibleRole,
11702        accessible: *mut GtkAccessible,
11703        display: *mut gdk::GdkDisplay,
11704    ) -> *mut GtkATContext;
11705    #[cfg(feature = "v4_10")]
11706    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11707    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11708    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11709
11710    //=========================================================================
11711    // GtkAboutDialog
11712    //=========================================================================
11713    pub fn gtk_about_dialog_get_type() -> GType;
11714    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11715    pub fn gtk_about_dialog_add_credit_section(
11716        about: *mut GtkAboutDialog,
11717        section_name: *const c_char,
11718        people: *mut *const c_char,
11719    );
11720    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11721    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11722    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11723    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11724    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11725    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11726    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11727    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11728    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11729    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11730    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11731    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11732    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11733    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11734    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11735    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11736    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11737    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11738    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11739    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11740    pub fn gtk_about_dialog_set_documenters(
11741        about: *mut GtkAboutDialog,
11742        documenters: *mut *const c_char,
11743    );
11744    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11745    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11746    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11747    pub fn gtk_about_dialog_set_logo_icon_name(
11748        about: *mut GtkAboutDialog,
11749        icon_name: *const c_char,
11750    );
11751    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11752    pub fn gtk_about_dialog_set_system_information(
11753        about: *mut GtkAboutDialog,
11754        system_information: *const c_char,
11755    );
11756    pub fn gtk_about_dialog_set_translator_credits(
11757        about: *mut GtkAboutDialog,
11758        translator_credits: *const c_char,
11759    );
11760    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11761    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11762    pub fn gtk_about_dialog_set_website_label(
11763        about: *mut GtkAboutDialog,
11764        website_label: *const c_char,
11765    );
11766    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11767
11768    //=========================================================================
11769    // GtkAccessibleHyperlink
11770    //=========================================================================
11771    #[cfg(feature = "v4_22")]
11772    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11773    pub fn gtk_accessible_hyperlink_get_type() -> GType;
11774    #[cfg(feature = "v4_22")]
11775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11776    pub fn gtk_accessible_hyperlink_new(
11777        parent: *mut GtkAccessibleHypertext,
11778        index: c_uint,
11779        uri: *const c_char,
11780        bounds: *mut GtkAccessibleTextRange,
11781    ) -> *mut GtkAccessibleHyperlink;
11782    #[cfg(feature = "v4_22")]
11783    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11784    pub fn gtk_accessible_hyperlink_set_platform_state(
11785        self_: *mut GtkAccessibleHyperlink,
11786        state: GtkAccessiblePlatformState,
11787        enabled: gboolean,
11788    );
11789
11790    //=========================================================================
11791    // GtkActionBar
11792    //=========================================================================
11793    pub fn gtk_action_bar_get_type() -> GType;
11794    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11795    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11796    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11797    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11798    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11799    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11800    pub fn gtk_action_bar_set_center_widget(
11801        action_bar: *mut GtkActionBar,
11802        center_widget: *mut GtkWidget,
11803    );
11804    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11805
11806    //=========================================================================
11807    // GtkActivateAction
11808    //=========================================================================
11809    pub fn gtk_activate_action_get_type() -> GType;
11810    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11811
11812    //=========================================================================
11813    // GtkAdjustment
11814    //=========================================================================
11815    pub fn gtk_adjustment_get_type() -> GType;
11816    pub fn gtk_adjustment_new(
11817        value: c_double,
11818        lower: c_double,
11819        upper: c_double,
11820        step_increment: c_double,
11821        page_increment: c_double,
11822        page_size: c_double,
11823    ) -> *mut GtkAdjustment;
11824    pub fn gtk_adjustment_clamp_page(
11825        adjustment: *mut GtkAdjustment,
11826        lower: c_double,
11827        upper: c_double,
11828    );
11829    pub fn gtk_adjustment_configure(
11830        adjustment: *mut GtkAdjustment,
11831        value: c_double,
11832        lower: c_double,
11833        upper: c_double,
11834        step_increment: c_double,
11835        page_increment: c_double,
11836        page_size: c_double,
11837    );
11838    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11839    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11840    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11841    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11842    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11843    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11844    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11845    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11846    pub fn gtk_adjustment_set_page_increment(
11847        adjustment: *mut GtkAdjustment,
11848        page_increment: c_double,
11849    );
11850    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11851    pub fn gtk_adjustment_set_step_increment(
11852        adjustment: *mut GtkAdjustment,
11853        step_increment: c_double,
11854    );
11855    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11856    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11857
11858    //=========================================================================
11859    // GtkAlertDialog
11860    //=========================================================================
11861    #[cfg(feature = "v4_10")]
11862    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11863    pub fn gtk_alert_dialog_get_type() -> GType;
11864    #[cfg(feature = "v4_10")]
11865    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11866    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11867    #[cfg(feature = "v4_10")]
11868    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11869    pub fn gtk_alert_dialog_choose(
11870        self_: *mut GtkAlertDialog,
11871        parent: *mut GtkWindow,
11872        cancellable: *mut gio::GCancellable,
11873        callback: gio::GAsyncReadyCallback,
11874        user_data: gpointer,
11875    );
11876    #[cfg(feature = "v4_10")]
11877    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11878    pub fn gtk_alert_dialog_choose_finish(
11879        self_: *mut GtkAlertDialog,
11880        result: *mut gio::GAsyncResult,
11881        error: *mut *mut glib::GError,
11882    ) -> c_int;
11883    #[cfg(feature = "v4_10")]
11884    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11885    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11886    #[cfg(feature = "v4_10")]
11887    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11888    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11889    #[cfg(feature = "v4_10")]
11890    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11891    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11892    #[cfg(feature = "v4_10")]
11893    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11894    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11895    #[cfg(feature = "v4_10")]
11896    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11897    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11898    #[cfg(feature = "v4_10")]
11899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11900    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11901    #[cfg(feature = "v4_10")]
11902    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11903    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11904    #[cfg(feature = "v4_10")]
11905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11906    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11907    #[cfg(feature = "v4_10")]
11908    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11909    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11910    #[cfg(feature = "v4_10")]
11911    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11912    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11913    #[cfg(feature = "v4_10")]
11914    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11915    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11916    #[cfg(feature = "v4_10")]
11917    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11918    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11919    #[cfg(feature = "v4_10")]
11920    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11921    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11922
11923    //=========================================================================
11924    // GtkAlternativeTrigger
11925    //=========================================================================
11926    pub fn gtk_alternative_trigger_get_type() -> GType;
11927    pub fn gtk_alternative_trigger_new(
11928        first: *mut GtkShortcutTrigger,
11929        second: *mut GtkShortcutTrigger,
11930    ) -> *mut GtkShortcutTrigger;
11931    #[cfg(feature = "v4_24")]
11932    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
11933    pub fn gtk_alternative_trigger_newv(
11934        triggers: *mut *mut GtkShortcutTrigger,
11935        n_triggers: size_t,
11936    ) -> *mut GtkShortcutTrigger;
11937    pub fn gtk_alternative_trigger_get_first(
11938        self_: *mut GtkAlternativeTrigger,
11939    ) -> *mut GtkShortcutTrigger;
11940    pub fn gtk_alternative_trigger_get_second(
11941        self_: *mut GtkAlternativeTrigger,
11942    ) -> *mut GtkShortcutTrigger;
11943
11944    //=========================================================================
11945    // GtkAnyFilter
11946    //=========================================================================
11947    pub fn gtk_any_filter_get_type() -> GType;
11948    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11949
11950    //=========================================================================
11951    // GtkAppChooserButton
11952    //=========================================================================
11953    pub fn gtk_app_chooser_button_get_type() -> GType;
11954    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11955    pub fn gtk_app_chooser_button_append_custom_item(
11956        self_: *mut GtkAppChooserButton,
11957        name: *const c_char,
11958        label: *const c_char,
11959        icon: *mut gio::GIcon,
11960    );
11961    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11962    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11963    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11964    pub fn gtk_app_chooser_button_get_show_default_item(
11965        self_: *mut GtkAppChooserButton,
11966    ) -> gboolean;
11967    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11968    -> gboolean;
11969    pub fn gtk_app_chooser_button_set_active_custom_item(
11970        self_: *mut GtkAppChooserButton,
11971        name: *const c_char,
11972    );
11973    pub fn gtk_app_chooser_button_set_heading(
11974        self_: *mut GtkAppChooserButton,
11975        heading: *const c_char,
11976    );
11977    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11978    pub fn gtk_app_chooser_button_set_show_default_item(
11979        self_: *mut GtkAppChooserButton,
11980        setting: gboolean,
11981    );
11982    pub fn gtk_app_chooser_button_set_show_dialog_item(
11983        self_: *mut GtkAppChooserButton,
11984        setting: gboolean,
11985    );
11986
11987    //=========================================================================
11988    // GtkAppChooserDialog
11989    //=========================================================================
11990    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11991    pub fn gtk_app_chooser_dialog_new(
11992        parent: *mut GtkWindow,
11993        flags: GtkDialogFlags,
11994        file: *mut gio::GFile,
11995    ) -> *mut GtkWidget;
11996    pub fn gtk_app_chooser_dialog_new_for_content_type(
11997        parent: *mut GtkWindow,
11998        flags: GtkDialogFlags,
11999        content_type: *const c_char,
12000    ) -> *mut GtkWidget;
12001    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
12002    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
12003    pub fn gtk_app_chooser_dialog_set_heading(
12004        self_: *mut GtkAppChooserDialog,
12005        heading: *const c_char,
12006    );
12007
12008    //=========================================================================
12009    // GtkAppChooserWidget
12010    //=========================================================================
12011    pub fn gtk_app_chooser_widget_get_type() -> GType;
12012    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
12013    pub fn gtk_app_chooser_widget_get_default_text(
12014        self_: *mut GtkAppChooserWidget,
12015    ) -> *const c_char;
12016    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
12017    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
12018    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
12019    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
12020    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
12021    -> gboolean;
12022    pub fn gtk_app_chooser_widget_set_default_text(
12023        self_: *mut GtkAppChooserWidget,
12024        text: *const c_char,
12025    );
12026    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
12027    pub fn gtk_app_chooser_widget_set_show_default(
12028        self_: *mut GtkAppChooserWidget,
12029        setting: gboolean,
12030    );
12031    pub fn gtk_app_chooser_widget_set_show_fallback(
12032        self_: *mut GtkAppChooserWidget,
12033        setting: gboolean,
12034    );
12035    pub fn gtk_app_chooser_widget_set_show_other(
12036        self_: *mut GtkAppChooserWidget,
12037        setting: gboolean,
12038    );
12039    pub fn gtk_app_chooser_widget_set_show_recommended(
12040        self_: *mut GtkAppChooserWidget,
12041        setting: gboolean,
12042    );
12043
12044    //=========================================================================
12045    // GtkApplication
12046    //=========================================================================
12047    pub fn gtk_application_get_type() -> GType;
12048    pub fn gtk_application_new(
12049        application_id: *const c_char,
12050        flags: gio::GApplicationFlags,
12051    ) -> *mut GtkApplication;
12052    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
12053    #[cfg(feature = "v4_24")]
12054    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12055    pub fn gtk_application_forget(application: *mut GtkApplication);
12056    pub fn gtk_application_get_accels_for_action(
12057        application: *mut GtkApplication,
12058        detailed_action_name: *const c_char,
12059    ) -> *mut *mut c_char;
12060    pub fn gtk_application_get_actions_for_accel(
12061        application: *mut GtkApplication,
12062        accel: *const c_char,
12063    ) -> *mut *mut c_char;
12064    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
12065    pub fn gtk_application_get_menu_by_id(
12066        application: *mut GtkApplication,
12067        id: *const c_char,
12068    ) -> *mut gio::GMenu;
12069    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
12070    pub fn gtk_application_get_window_by_id(
12071        application: *mut GtkApplication,
12072        id: c_uint,
12073    ) -> *mut GtkWindow;
12074    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
12075    pub fn gtk_application_inhibit(
12076        application: *mut GtkApplication,
12077        window: *mut GtkWindow,
12078        flags: GtkApplicationInhibitFlags,
12079        reason: *const c_char,
12080    ) -> c_uint;
12081    pub fn gtk_application_list_action_descriptions(
12082        application: *mut GtkApplication,
12083    ) -> *mut *mut c_char;
12084    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
12085    #[cfg(feature = "v4_24")]
12086    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12087    pub fn gtk_application_save(application: *mut GtkApplication);
12088    pub fn gtk_application_set_accels_for_action(
12089        application: *mut GtkApplication,
12090        detailed_action_name: *const c_char,
12091        accels: *const *const c_char,
12092    );
12093    pub fn gtk_application_set_menubar(
12094        application: *mut GtkApplication,
12095        menubar: *mut gio::GMenuModel,
12096    );
12097    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
12098
12099    //=========================================================================
12100    // GtkApplicationWindow
12101    //=========================================================================
12102    pub fn gtk_application_window_get_type() -> GType;
12103    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12104    pub fn gtk_application_window_get_help_overlay(
12105        window: *mut GtkApplicationWindow,
12106    ) -> *mut GtkShortcutsWindow;
12107    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12108    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12109    pub fn gtk_application_window_set_help_overlay(
12110        window: *mut GtkApplicationWindow,
12111        help_overlay: *mut GtkShortcutsWindow,
12112    );
12113    pub fn gtk_application_window_set_show_menubar(
12114        window: *mut GtkApplicationWindow,
12115        show_menubar: gboolean,
12116    );
12117
12118    //=========================================================================
12119    // GtkAspectFrame
12120    //=========================================================================
12121    pub fn gtk_aspect_frame_get_type() -> GType;
12122    pub fn gtk_aspect_frame_new(
12123        xalign: c_float,
12124        yalign: c_float,
12125        ratio: c_float,
12126        obey_child: gboolean,
12127    ) -> *mut GtkWidget;
12128    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12129    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12130    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12131    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12132    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12133    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12134    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12135    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12136    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12137    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12138
12139    //=========================================================================
12140    // GtkAssistant
12141    //=========================================================================
12142    pub fn gtk_assistant_get_type() -> GType;
12143    pub fn gtk_assistant_new() -> *mut GtkWidget;
12144    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12145    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12146    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12147    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12148    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12149    pub fn gtk_assistant_get_nth_page(
12150        assistant: *mut GtkAssistant,
12151        page_num: c_int,
12152    ) -> *mut GtkWidget;
12153    pub fn gtk_assistant_get_page(
12154        assistant: *mut GtkAssistant,
12155        child: *mut GtkWidget,
12156    ) -> *mut GtkAssistantPage;
12157    pub fn gtk_assistant_get_page_complete(
12158        assistant: *mut GtkAssistant,
12159        page: *mut GtkWidget,
12160    ) -> gboolean;
12161    pub fn gtk_assistant_get_page_title(
12162        assistant: *mut GtkAssistant,
12163        page: *mut GtkWidget,
12164    ) -> *const c_char;
12165    pub fn gtk_assistant_get_page_type(
12166        assistant: *mut GtkAssistant,
12167        page: *mut GtkWidget,
12168    ) -> GtkAssistantPageType;
12169    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12170    pub fn gtk_assistant_insert_page(
12171        assistant: *mut GtkAssistant,
12172        page: *mut GtkWidget,
12173        position: c_int,
12174    ) -> c_int;
12175    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12176    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12177    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12178    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12179    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12180    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12181    pub fn gtk_assistant_set_forward_page_func(
12182        assistant: *mut GtkAssistant,
12183        page_func: GtkAssistantPageFunc,
12184        data: gpointer,
12185        destroy: glib::GDestroyNotify,
12186    );
12187    pub fn gtk_assistant_set_page_complete(
12188        assistant: *mut GtkAssistant,
12189        page: *mut GtkWidget,
12190        complete: gboolean,
12191    );
12192    pub fn gtk_assistant_set_page_title(
12193        assistant: *mut GtkAssistant,
12194        page: *mut GtkWidget,
12195        title: *const c_char,
12196    );
12197    pub fn gtk_assistant_set_page_type(
12198        assistant: *mut GtkAssistant,
12199        page: *mut GtkWidget,
12200        type_: GtkAssistantPageType,
12201    );
12202    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12203
12204    //=========================================================================
12205    // GtkAssistantPage
12206    //=========================================================================
12207    pub fn gtk_assistant_page_get_type() -> GType;
12208    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12209
12210    //=========================================================================
12211    // GtkBinLayout
12212    //=========================================================================
12213    pub fn gtk_bin_layout_get_type() -> GType;
12214    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12215
12216    //=========================================================================
12217    // GtkBookmarkList
12218    //=========================================================================
12219    pub fn gtk_bookmark_list_get_type() -> GType;
12220    pub fn gtk_bookmark_list_new(
12221        filename: *const c_char,
12222        attributes: *const c_char,
12223    ) -> *mut GtkBookmarkList;
12224    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12225    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12226    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12227    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12228    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12229    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12230
12231    //=========================================================================
12232    // GtkBoolFilter
12233    //=========================================================================
12234    pub fn gtk_bool_filter_get_type() -> GType;
12235    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12236    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12237    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12238    pub fn gtk_bool_filter_set_expression(
12239        self_: *mut GtkBoolFilter,
12240        expression: *mut GtkExpression,
12241    );
12242    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12243
12244    //=========================================================================
12245    // GtkBox
12246    //=========================================================================
12247    pub fn gtk_box_get_type() -> GType;
12248    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12249    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12250    #[cfg(feature = "v4_12")]
12251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12252    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12253    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12254    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12255    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12256    pub fn gtk_box_insert_child_after(
12257        box_: *mut GtkBox,
12258        child: *mut GtkWidget,
12259        sibling: *mut GtkWidget,
12260    );
12261    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12262    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12263    pub fn gtk_box_reorder_child_after(
12264        box_: *mut GtkBox,
12265        child: *mut GtkWidget,
12266        sibling: *mut GtkWidget,
12267    );
12268    #[cfg(feature = "v4_12")]
12269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12270    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12271    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12272    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12273    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12274
12275    //=========================================================================
12276    // GtkBoxLayout
12277    //=========================================================================
12278    pub fn gtk_box_layout_get_type() -> GType;
12279    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12280    #[cfg(feature = "v4_12")]
12281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12282    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12283    pub fn gtk_box_layout_get_baseline_position(
12284        box_layout: *mut GtkBoxLayout,
12285    ) -> GtkBaselinePosition;
12286    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12287    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12288    #[cfg(feature = "v4_12")]
12289    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12290    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12291    pub fn gtk_box_layout_set_baseline_position(
12292        box_layout: *mut GtkBoxLayout,
12293        position: GtkBaselinePosition,
12294    );
12295    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12296    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12297
12298    //=========================================================================
12299    // GtkBuilder
12300    //=========================================================================
12301    pub fn gtk_builder_get_type() -> GType;
12302    pub fn gtk_builder_new() -> *mut GtkBuilder;
12303    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12304    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12305    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12306    pub fn gtk_builder_add_from_file(
12307        builder: *mut GtkBuilder,
12308        filename: *const c_char,
12309        error: *mut *mut glib::GError,
12310    ) -> gboolean;
12311    pub fn gtk_builder_add_from_resource(
12312        builder: *mut GtkBuilder,
12313        resource_path: *const c_char,
12314        error: *mut *mut glib::GError,
12315    ) -> gboolean;
12316    pub fn gtk_builder_add_from_string(
12317        builder: *mut GtkBuilder,
12318        buffer: *const c_char,
12319        length: ssize_t,
12320        error: *mut *mut glib::GError,
12321    ) -> gboolean;
12322    pub fn gtk_builder_add_objects_from_file(
12323        builder: *mut GtkBuilder,
12324        filename: *const c_char,
12325        object_ids: *mut *const c_char,
12326        error: *mut *mut glib::GError,
12327    ) -> gboolean;
12328    pub fn gtk_builder_add_objects_from_resource(
12329        builder: *mut GtkBuilder,
12330        resource_path: *const c_char,
12331        object_ids: *mut *const c_char,
12332        error: *mut *mut glib::GError,
12333    ) -> gboolean;
12334    pub fn gtk_builder_add_objects_from_string(
12335        builder: *mut GtkBuilder,
12336        buffer: *const c_char,
12337        length: ssize_t,
12338        object_ids: *mut *const c_char,
12339        error: *mut *mut glib::GError,
12340    ) -> gboolean;
12341    pub fn gtk_builder_create_closure(
12342        builder: *mut GtkBuilder,
12343        function_name: *const c_char,
12344        flags: GtkBuilderClosureFlags,
12345        object: *mut gobject::GObject,
12346        error: *mut *mut glib::GError,
12347    ) -> *mut gobject::GClosure;
12348    pub fn gtk_builder_expose_object(
12349        builder: *mut GtkBuilder,
12350        name: *const c_char,
12351        object: *mut gobject::GObject,
12352    );
12353    pub fn gtk_builder_extend_with_template(
12354        builder: *mut GtkBuilder,
12355        object: *mut gobject::GObject,
12356        template_type: GType,
12357        buffer: *const c_char,
12358        length: ssize_t,
12359        error: *mut *mut glib::GError,
12360    ) -> gboolean;
12361    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12362    pub fn gtk_builder_get_object(
12363        builder: *mut GtkBuilder,
12364        name: *const c_char,
12365    ) -> *mut gobject::GObject;
12366    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12367    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12368    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12369    pub fn gtk_builder_get_type_from_name(
12370        builder: *mut GtkBuilder,
12371        type_name: *const c_char,
12372    ) -> GType;
12373    pub fn gtk_builder_set_current_object(
12374        builder: *mut GtkBuilder,
12375        current_object: *mut gobject::GObject,
12376    );
12377    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12378    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12379    pub fn gtk_builder_value_from_string(
12380        builder: *mut GtkBuilder,
12381        pspec: *mut gobject::GParamSpec,
12382        string: *const c_char,
12383        value: *mut gobject::GValue,
12384        error: *mut *mut glib::GError,
12385    ) -> gboolean;
12386    pub fn gtk_builder_value_from_string_type(
12387        builder: *mut GtkBuilder,
12388        type_: GType,
12389        string: *const c_char,
12390        value: *mut gobject::GValue,
12391        error: *mut *mut glib::GError,
12392    ) -> gboolean;
12393
12394    //=========================================================================
12395    // GtkBuilderCScope
12396    //=========================================================================
12397    pub fn gtk_builder_cscope_get_type() -> GType;
12398    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12399    pub fn gtk_builder_cscope_add_callback_symbol(
12400        self_: *mut GtkBuilderCScope,
12401        callback_name: *const c_char,
12402        callback_symbol: gobject::GCallback,
12403    );
12404    pub fn gtk_builder_cscope_add_callback_symbols(
12405        self_: *mut GtkBuilderCScope,
12406        first_callback_name: *const c_char,
12407        first_callback_symbol: gobject::GCallback,
12408        ...
12409    );
12410    pub fn gtk_builder_cscope_lookup_callback_symbol(
12411        self_: *mut GtkBuilderCScope,
12412        callback_name: *const c_char,
12413    ) -> gobject::GCallback;
12414
12415    //=========================================================================
12416    // GtkBuilderListItemFactory
12417    //=========================================================================
12418    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12419    pub fn gtk_builder_list_item_factory_new_from_bytes(
12420        scope: *mut GtkBuilderScope,
12421        bytes: *mut glib::GBytes,
12422    ) -> *mut GtkListItemFactory;
12423    pub fn gtk_builder_list_item_factory_new_from_resource(
12424        scope: *mut GtkBuilderScope,
12425        resource_path: *const c_char,
12426    ) -> *mut GtkListItemFactory;
12427    pub fn gtk_builder_list_item_factory_get_bytes(
12428        self_: *mut GtkBuilderListItemFactory,
12429    ) -> *mut glib::GBytes;
12430    pub fn gtk_builder_list_item_factory_get_resource(
12431        self_: *mut GtkBuilderListItemFactory,
12432    ) -> *const c_char;
12433    pub fn gtk_builder_list_item_factory_get_scope(
12434        self_: *mut GtkBuilderListItemFactory,
12435    ) -> *mut GtkBuilderScope;
12436
12437    //=========================================================================
12438    // GtkButton
12439    //=========================================================================
12440    pub fn gtk_button_get_type() -> GType;
12441    pub fn gtk_button_new() -> *mut GtkWidget;
12442    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12443    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12444    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12445    #[cfg(feature = "v4_12")]
12446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12447    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12448    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12449    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12450    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12451    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12452    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12453    #[cfg(feature = "v4_12")]
12454    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12455    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12456    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12457    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12458    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12459    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12460    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12461
12462    //=========================================================================
12463    // GtkCClosureExpression
12464    //=========================================================================
12465    pub fn gtk_cclosure_expression_get_type() -> GType;
12466    pub fn gtk_cclosure_expression_new(
12467        value_type: GType,
12468        marshal: gobject::GClosureMarshal,
12469        n_params: c_uint,
12470        params: *mut *mut GtkExpression,
12471        callback_func: gobject::GCallback,
12472        user_data: gpointer,
12473        user_destroy: gobject::GClosureNotify,
12474    ) -> *mut GtkCClosureExpression;
12475
12476    //=========================================================================
12477    // GtkCalendar
12478    //=========================================================================
12479    pub fn gtk_calendar_get_type() -> GType;
12480    pub fn gtk_calendar_new() -> *mut GtkWidget;
12481    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12482    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12483    #[cfg(feature = "v4_14")]
12484    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12485    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12486    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12487    #[cfg(feature = "v4_14")]
12488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12489    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12490    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12491    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12492    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12493    #[cfg(feature = "v4_14")]
12494    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12495    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12496    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12497    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12498    #[cfg(feature = "v4_20")]
12499    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12500    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12501    #[cfg(feature = "v4_14")]
12502    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12503    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12504    #[cfg(feature = "v4_14")]
12505    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12506    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12507    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12508    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12509    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12510    #[cfg(feature = "v4_14")]
12511    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12512    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12513    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12514
12515    //=========================================================================
12516    // GtkCallbackAction
12517    //=========================================================================
12518    pub fn gtk_callback_action_get_type() -> GType;
12519    pub fn gtk_callback_action_new(
12520        callback: GtkShortcutFunc,
12521        data: gpointer,
12522        destroy: glib::GDestroyNotify,
12523    ) -> *mut GtkCallbackAction;
12524
12525    //=========================================================================
12526    // GtkCellArea
12527    //=========================================================================
12528    pub fn gtk_cell_area_get_type() -> GType;
12529    pub fn gtk_cell_area_activate(
12530        area: *mut GtkCellArea,
12531        context: *mut GtkCellAreaContext,
12532        widget: *mut GtkWidget,
12533        cell_area: *const gdk::GdkRectangle,
12534        flags: GtkCellRendererState,
12535        edit_only: gboolean,
12536    ) -> gboolean;
12537    pub fn gtk_cell_area_activate_cell(
12538        area: *mut GtkCellArea,
12539        widget: *mut GtkWidget,
12540        renderer: *mut GtkCellRenderer,
12541        event: *mut gdk::GdkEvent,
12542        cell_area: *const gdk::GdkRectangle,
12543        flags: GtkCellRendererState,
12544    ) -> gboolean;
12545    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12546    pub fn gtk_cell_area_add_focus_sibling(
12547        area: *mut GtkCellArea,
12548        renderer: *mut GtkCellRenderer,
12549        sibling: *mut GtkCellRenderer,
12550    );
12551    pub fn gtk_cell_area_add_with_properties(
12552        area: *mut GtkCellArea,
12553        renderer: *mut GtkCellRenderer,
12554        first_prop_name: *const c_char,
12555        ...
12556    );
12557    pub fn gtk_cell_area_apply_attributes(
12558        area: *mut GtkCellArea,
12559        tree_model: *mut GtkTreeModel,
12560        iter: *mut GtkTreeIter,
12561        is_expander: gboolean,
12562        is_expanded: gboolean,
12563    );
12564    pub fn gtk_cell_area_attribute_connect(
12565        area: *mut GtkCellArea,
12566        renderer: *mut GtkCellRenderer,
12567        attribute: *const c_char,
12568        column: c_int,
12569    );
12570    pub fn gtk_cell_area_attribute_disconnect(
12571        area: *mut GtkCellArea,
12572        renderer: *mut GtkCellRenderer,
12573        attribute: *const c_char,
12574    );
12575    pub fn gtk_cell_area_attribute_get_column(
12576        area: *mut GtkCellArea,
12577        renderer: *mut GtkCellRenderer,
12578        attribute: *const c_char,
12579    ) -> c_int;
12580    pub fn gtk_cell_area_cell_get(
12581        area: *mut GtkCellArea,
12582        renderer: *mut GtkCellRenderer,
12583        first_prop_name: *const c_char,
12584        ...
12585    );
12586    pub fn gtk_cell_area_cell_get_property(
12587        area: *mut GtkCellArea,
12588        renderer: *mut GtkCellRenderer,
12589        property_name: *const c_char,
12590        value: *mut gobject::GValue,
12591    );
12592    //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);
12593    pub fn gtk_cell_area_cell_set(
12594        area: *mut GtkCellArea,
12595        renderer: *mut GtkCellRenderer,
12596        first_prop_name: *const c_char,
12597        ...
12598    );
12599    pub fn gtk_cell_area_cell_set_property(
12600        area: *mut GtkCellArea,
12601        renderer: *mut GtkCellRenderer,
12602        property_name: *const c_char,
12603        value: *const gobject::GValue,
12604    );
12605    //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);
12606    pub fn gtk_cell_area_copy_context(
12607        area: *mut GtkCellArea,
12608        context: *mut GtkCellAreaContext,
12609    ) -> *mut GtkCellAreaContext;
12610    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12611    pub fn gtk_cell_area_event(
12612        area: *mut GtkCellArea,
12613        context: *mut GtkCellAreaContext,
12614        widget: *mut GtkWidget,
12615        event: *mut gdk::GdkEvent,
12616        cell_area: *const gdk::GdkRectangle,
12617        flags: GtkCellRendererState,
12618    ) -> c_int;
12619    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12620    pub fn gtk_cell_area_foreach(
12621        area: *mut GtkCellArea,
12622        callback: GtkCellCallback,
12623        callback_data: gpointer,
12624    );
12625    pub fn gtk_cell_area_foreach_alloc(
12626        area: *mut GtkCellArea,
12627        context: *mut GtkCellAreaContext,
12628        widget: *mut GtkWidget,
12629        cell_area: *const gdk::GdkRectangle,
12630        background_area: *const gdk::GdkRectangle,
12631        callback: GtkCellAllocCallback,
12632        callback_data: gpointer,
12633    );
12634    pub fn gtk_cell_area_get_cell_allocation(
12635        area: *mut GtkCellArea,
12636        context: *mut GtkCellAreaContext,
12637        widget: *mut GtkWidget,
12638        renderer: *mut GtkCellRenderer,
12639        cell_area: *const gdk::GdkRectangle,
12640        allocation: *mut gdk::GdkRectangle,
12641    );
12642    pub fn gtk_cell_area_get_cell_at_position(
12643        area: *mut GtkCellArea,
12644        context: *mut GtkCellAreaContext,
12645        widget: *mut GtkWidget,
12646        cell_area: *const gdk::GdkRectangle,
12647        x: c_int,
12648        y: c_int,
12649        alloc_area: *mut gdk::GdkRectangle,
12650    ) -> *mut GtkCellRenderer;
12651    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12652    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12653    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12654    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12655    pub fn gtk_cell_area_get_focus_from_sibling(
12656        area: *mut GtkCellArea,
12657        renderer: *mut GtkCellRenderer,
12658    ) -> *mut GtkCellRenderer;
12659    pub fn gtk_cell_area_get_focus_siblings(
12660        area: *mut GtkCellArea,
12661        renderer: *mut GtkCellRenderer,
12662    ) -> *const glib::GList;
12663    pub fn gtk_cell_area_get_preferred_height(
12664        area: *mut GtkCellArea,
12665        context: *mut GtkCellAreaContext,
12666        widget: *mut GtkWidget,
12667        minimum_height: *mut c_int,
12668        natural_height: *mut c_int,
12669    );
12670    pub fn gtk_cell_area_get_preferred_height_for_width(
12671        area: *mut GtkCellArea,
12672        context: *mut GtkCellAreaContext,
12673        widget: *mut GtkWidget,
12674        width: c_int,
12675        minimum_height: *mut c_int,
12676        natural_height: *mut c_int,
12677    );
12678    pub fn gtk_cell_area_get_preferred_width(
12679        area: *mut GtkCellArea,
12680        context: *mut GtkCellAreaContext,
12681        widget: *mut GtkWidget,
12682        minimum_width: *mut c_int,
12683        natural_width: *mut c_int,
12684    );
12685    pub fn gtk_cell_area_get_preferred_width_for_height(
12686        area: *mut GtkCellArea,
12687        context: *mut GtkCellAreaContext,
12688        widget: *mut GtkWidget,
12689        height: c_int,
12690        minimum_width: *mut c_int,
12691        natural_width: *mut c_int,
12692    );
12693    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12694    pub fn gtk_cell_area_has_renderer(
12695        area: *mut GtkCellArea,
12696        renderer: *mut GtkCellRenderer,
12697    ) -> gboolean;
12698    pub fn gtk_cell_area_inner_cell_area(
12699        area: *mut GtkCellArea,
12700        widget: *mut GtkWidget,
12701        cell_area: *const gdk::GdkRectangle,
12702        inner_area: *mut gdk::GdkRectangle,
12703    );
12704    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12705    pub fn gtk_cell_area_is_focus_sibling(
12706        area: *mut GtkCellArea,
12707        renderer: *mut GtkCellRenderer,
12708        sibling: *mut GtkCellRenderer,
12709    ) -> gboolean;
12710    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12711    pub fn gtk_cell_area_remove_focus_sibling(
12712        area: *mut GtkCellArea,
12713        renderer: *mut GtkCellRenderer,
12714        sibling: *mut GtkCellRenderer,
12715    );
12716    pub fn gtk_cell_area_request_renderer(
12717        area: *mut GtkCellArea,
12718        renderer: *mut GtkCellRenderer,
12719        orientation: GtkOrientation,
12720        widget: *mut GtkWidget,
12721        for_size: c_int,
12722        minimum_size: *mut c_int,
12723        natural_size: *mut c_int,
12724    );
12725    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12726    pub fn gtk_cell_area_snapshot(
12727        area: *mut GtkCellArea,
12728        context: *mut GtkCellAreaContext,
12729        widget: *mut GtkWidget,
12730        snapshot: *mut GtkSnapshot,
12731        background_area: *const gdk::GdkRectangle,
12732        cell_area: *const gdk::GdkRectangle,
12733        flags: GtkCellRendererState,
12734        paint_focus: gboolean,
12735    );
12736    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12737
12738    //=========================================================================
12739    // GtkCellAreaBox
12740    //=========================================================================
12741    pub fn gtk_cell_area_box_get_type() -> GType;
12742    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12743    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12744    pub fn gtk_cell_area_box_pack_end(
12745        box_: *mut GtkCellAreaBox,
12746        renderer: *mut GtkCellRenderer,
12747        expand: gboolean,
12748        align: gboolean,
12749        fixed: gboolean,
12750    );
12751    pub fn gtk_cell_area_box_pack_start(
12752        box_: *mut GtkCellAreaBox,
12753        renderer: *mut GtkCellRenderer,
12754        expand: gboolean,
12755        align: gboolean,
12756        fixed: gboolean,
12757    );
12758    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12759
12760    //=========================================================================
12761    // GtkCellAreaContext
12762    //=========================================================================
12763    pub fn gtk_cell_area_context_get_type() -> GType;
12764    pub fn gtk_cell_area_context_allocate(
12765        context: *mut GtkCellAreaContext,
12766        width: c_int,
12767        height: c_int,
12768    );
12769    pub fn gtk_cell_area_context_get_allocation(
12770        context: *mut GtkCellAreaContext,
12771        width: *mut c_int,
12772        height: *mut c_int,
12773    );
12774    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12775    pub fn gtk_cell_area_context_get_preferred_height(
12776        context: *mut GtkCellAreaContext,
12777        minimum_height: *mut c_int,
12778        natural_height: *mut c_int,
12779    );
12780    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12781        context: *mut GtkCellAreaContext,
12782        width: c_int,
12783        minimum_height: *mut c_int,
12784        natural_height: *mut c_int,
12785    );
12786    pub fn gtk_cell_area_context_get_preferred_width(
12787        context: *mut GtkCellAreaContext,
12788        minimum_width: *mut c_int,
12789        natural_width: *mut c_int,
12790    );
12791    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12792        context: *mut GtkCellAreaContext,
12793        height: c_int,
12794        minimum_width: *mut c_int,
12795        natural_width: *mut c_int,
12796    );
12797    pub fn gtk_cell_area_context_push_preferred_height(
12798        context: *mut GtkCellAreaContext,
12799        minimum_height: c_int,
12800        natural_height: c_int,
12801    );
12802    pub fn gtk_cell_area_context_push_preferred_width(
12803        context: *mut GtkCellAreaContext,
12804        minimum_width: c_int,
12805        natural_width: c_int,
12806    );
12807    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12808
12809    //=========================================================================
12810    // GtkCellRenderer
12811    //=========================================================================
12812    pub fn gtk_cell_renderer_get_type() -> GType;
12813    pub fn gtk_cell_renderer_activate(
12814        cell: *mut GtkCellRenderer,
12815        event: *mut gdk::GdkEvent,
12816        widget: *mut GtkWidget,
12817        path: *const c_char,
12818        background_area: *const gdk::GdkRectangle,
12819        cell_area: *const gdk::GdkRectangle,
12820        flags: GtkCellRendererState,
12821    ) -> gboolean;
12822    pub fn gtk_cell_renderer_get_aligned_area(
12823        cell: *mut GtkCellRenderer,
12824        widget: *mut GtkWidget,
12825        flags: GtkCellRendererState,
12826        cell_area: *const gdk::GdkRectangle,
12827        aligned_area: *mut gdk::GdkRectangle,
12828    );
12829    pub fn gtk_cell_renderer_get_alignment(
12830        cell: *mut GtkCellRenderer,
12831        xalign: *mut c_float,
12832        yalign: *mut c_float,
12833    );
12834    pub fn gtk_cell_renderer_get_fixed_size(
12835        cell: *mut GtkCellRenderer,
12836        width: *mut c_int,
12837        height: *mut c_int,
12838    );
12839    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12840    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12841    pub fn gtk_cell_renderer_get_padding(
12842        cell: *mut GtkCellRenderer,
12843        xpad: *mut c_int,
12844        ypad: *mut c_int,
12845    );
12846    pub fn gtk_cell_renderer_get_preferred_height(
12847        cell: *mut GtkCellRenderer,
12848        widget: *mut GtkWidget,
12849        minimum_size: *mut c_int,
12850        natural_size: *mut c_int,
12851    );
12852    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12853        cell: *mut GtkCellRenderer,
12854        widget: *mut GtkWidget,
12855        width: c_int,
12856        minimum_height: *mut c_int,
12857        natural_height: *mut c_int,
12858    );
12859    pub fn gtk_cell_renderer_get_preferred_size(
12860        cell: *mut GtkCellRenderer,
12861        widget: *mut GtkWidget,
12862        minimum_size: *mut GtkRequisition,
12863        natural_size: *mut GtkRequisition,
12864    );
12865    pub fn gtk_cell_renderer_get_preferred_width(
12866        cell: *mut GtkCellRenderer,
12867        widget: *mut GtkWidget,
12868        minimum_size: *mut c_int,
12869        natural_size: *mut c_int,
12870    );
12871    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12872        cell: *mut GtkCellRenderer,
12873        widget: *mut GtkWidget,
12874        height: c_int,
12875        minimum_width: *mut c_int,
12876        natural_width: *mut c_int,
12877    );
12878    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12879    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12880    pub fn gtk_cell_renderer_get_state(
12881        cell: *mut GtkCellRenderer,
12882        widget: *mut GtkWidget,
12883        cell_state: GtkCellRendererState,
12884    ) -> GtkStateFlags;
12885    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12886    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12887    pub fn gtk_cell_renderer_set_alignment(
12888        cell: *mut GtkCellRenderer,
12889        xalign: c_float,
12890        yalign: c_float,
12891    );
12892    pub fn gtk_cell_renderer_set_fixed_size(
12893        cell: *mut GtkCellRenderer,
12894        width: c_int,
12895        height: c_int,
12896    );
12897    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12898    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12899    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12900    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12901    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12902    pub fn gtk_cell_renderer_snapshot(
12903        cell: *mut GtkCellRenderer,
12904        snapshot: *mut GtkSnapshot,
12905        widget: *mut GtkWidget,
12906        background_area: *const gdk::GdkRectangle,
12907        cell_area: *const gdk::GdkRectangle,
12908        flags: GtkCellRendererState,
12909    );
12910    pub fn gtk_cell_renderer_start_editing(
12911        cell: *mut GtkCellRenderer,
12912        event: *mut gdk::GdkEvent,
12913        widget: *mut GtkWidget,
12914        path: *const c_char,
12915        background_area: *const gdk::GdkRectangle,
12916        cell_area: *const gdk::GdkRectangle,
12917        flags: GtkCellRendererState,
12918    ) -> *mut GtkCellEditable;
12919    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12920
12921    //=========================================================================
12922    // GtkCellRendererAccel
12923    //=========================================================================
12924    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12925    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12926
12927    //=========================================================================
12928    // GtkCellRendererCombo
12929    //=========================================================================
12930    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12931    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12932
12933    //=========================================================================
12934    // GtkCellRendererPixbuf
12935    //=========================================================================
12936    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12937    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12938
12939    //=========================================================================
12940    // GtkCellRendererProgress
12941    //=========================================================================
12942    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12943    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12944
12945    //=========================================================================
12946    // GtkCellRendererSpin
12947    //=========================================================================
12948    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12949    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12950
12951    //=========================================================================
12952    // GtkCellRendererSpinner
12953    //=========================================================================
12954    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12955    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12956
12957    //=========================================================================
12958    // GtkCellRendererText
12959    //=========================================================================
12960    pub fn gtk_cell_renderer_text_get_type() -> GType;
12961    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12962    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12963        renderer: *mut GtkCellRendererText,
12964        number_of_rows: c_int,
12965    );
12966
12967    //=========================================================================
12968    // GtkCellRendererToggle
12969    //=========================================================================
12970    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12971    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12972    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12973    -> gboolean;
12974    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12975    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12976    pub fn gtk_cell_renderer_toggle_set_activatable(
12977        toggle: *mut GtkCellRendererToggle,
12978        setting: gboolean,
12979    );
12980    pub fn gtk_cell_renderer_toggle_set_active(
12981        toggle: *mut GtkCellRendererToggle,
12982        setting: gboolean,
12983    );
12984    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12985
12986    //=========================================================================
12987    // GtkCellView
12988    //=========================================================================
12989    pub fn gtk_cell_view_get_type() -> GType;
12990    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12991    pub fn gtk_cell_view_new_with_context(
12992        area: *mut GtkCellArea,
12993        context: *mut GtkCellAreaContext,
12994    ) -> *mut GtkWidget;
12995    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12996    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12997    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12998    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12999    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
13000    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
13001    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
13002    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
13003    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
13004    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
13005    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
13006
13007    //=========================================================================
13008    // GtkCenterBox
13009    //=========================================================================
13010    pub fn gtk_center_box_get_type() -> GType;
13011    pub fn gtk_center_box_new() -> *mut GtkWidget;
13012    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
13013    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13014    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13015    #[cfg(feature = "v4_12")]
13016    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13017    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
13018    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13019    pub fn gtk_center_box_set_baseline_position(
13020        self_: *mut GtkCenterBox,
13021        position: GtkBaselinePosition,
13022    );
13023    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13024    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13025    #[cfg(feature = "v4_12")]
13026    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13027    pub fn gtk_center_box_set_shrink_center_last(
13028        self_: *mut GtkCenterBox,
13029        shrink_center_last: gboolean,
13030    );
13031    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13032
13033    //=========================================================================
13034    // GtkCenterLayout
13035    //=========================================================================
13036    pub fn gtk_center_layout_get_type() -> GType;
13037    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
13038    pub fn gtk_center_layout_get_baseline_position(
13039        self_: *mut GtkCenterLayout,
13040    ) -> GtkBaselinePosition;
13041    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13042    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13043    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
13044    #[cfg(feature = "v4_12")]
13045    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13046    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
13047    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13048    pub fn gtk_center_layout_set_baseline_position(
13049        self_: *mut GtkCenterLayout,
13050        baseline_position: GtkBaselinePosition,
13051    );
13052    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13053    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13054    pub fn gtk_center_layout_set_orientation(
13055        self_: *mut GtkCenterLayout,
13056        orientation: GtkOrientation,
13057    );
13058    #[cfg(feature = "v4_12")]
13059    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13060    pub fn gtk_center_layout_set_shrink_center_last(
13061        self_: *mut GtkCenterLayout,
13062        shrink_center_last: gboolean,
13063    );
13064    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13065
13066    //=========================================================================
13067    // GtkCheckButton
13068    //=========================================================================
13069    pub fn gtk_check_button_get_type() -> GType;
13070    pub fn gtk_check_button_new() -> *mut GtkWidget;
13071    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
13072    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13073    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
13074    #[cfg(feature = "v4_8")]
13075    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13076    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
13077    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
13078    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
13079    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
13080    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
13081    #[cfg(feature = "v4_8")]
13082    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13083    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
13084    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
13085    pub fn gtk_check_button_set_inconsistent(
13086        check_button: *mut GtkCheckButton,
13087        inconsistent: gboolean,
13088    );
13089    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
13090    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
13091
13092    //=========================================================================
13093    // GtkClosureExpression
13094    //=========================================================================
13095    pub fn gtk_closure_expression_get_type() -> GType;
13096    pub fn gtk_closure_expression_new(
13097        value_type: GType,
13098        closure: *mut gobject::GClosure,
13099        n_params: c_uint,
13100        params: *mut *mut GtkExpression,
13101    ) -> *mut GtkClosureExpression;
13102
13103    //=========================================================================
13104    // GtkColorButton
13105    //=========================================================================
13106    pub fn gtk_color_button_get_type() -> GType;
13107    pub fn gtk_color_button_new() -> *mut GtkWidget;
13108    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13109    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13110    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13111    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13112    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13113
13114    //=========================================================================
13115    // GtkColorChooserDialog
13116    //=========================================================================
13117    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13118    pub fn gtk_color_chooser_dialog_new(
13119        title: *const c_char,
13120        parent: *mut GtkWindow,
13121    ) -> *mut GtkWidget;
13122
13123    //=========================================================================
13124    // GtkColorChooserWidget
13125    //=========================================================================
13126    pub fn gtk_color_chooser_widget_get_type() -> GType;
13127    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13128
13129    //=========================================================================
13130    // GtkColorDialog
13131    //=========================================================================
13132    #[cfg(feature = "v4_10")]
13133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13134    pub fn gtk_color_dialog_get_type() -> GType;
13135    #[cfg(feature = "v4_10")]
13136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13137    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13138    #[cfg(feature = "v4_10")]
13139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13140    pub fn gtk_color_dialog_choose_rgba(
13141        self_: *mut GtkColorDialog,
13142        parent: *mut GtkWindow,
13143        initial_color: *const gdk::GdkRGBA,
13144        cancellable: *mut gio::GCancellable,
13145        callback: gio::GAsyncReadyCallback,
13146        user_data: gpointer,
13147    );
13148    #[cfg(feature = "v4_10")]
13149    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13150    pub fn gtk_color_dialog_choose_rgba_finish(
13151        self_: *mut GtkColorDialog,
13152        result: *mut gio::GAsyncResult,
13153        error: *mut *mut glib::GError,
13154    ) -> *mut gdk::GdkRGBA;
13155    #[cfg(feature = "v4_10")]
13156    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13157    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13158    #[cfg(feature = "v4_10")]
13159    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13160    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13161    #[cfg(feature = "v4_10")]
13162    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13163    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13164    #[cfg(feature = "v4_10")]
13165    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13166    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13167    #[cfg(feature = "v4_10")]
13168    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13169    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13170    #[cfg(feature = "v4_10")]
13171    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13172    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13173
13174    //=========================================================================
13175    // GtkColorDialogButton
13176    //=========================================================================
13177    #[cfg(feature = "v4_10")]
13178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13179    pub fn gtk_color_dialog_button_get_type() -> GType;
13180    #[cfg(feature = "v4_10")]
13181    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13182    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13183    #[cfg(feature = "v4_10")]
13184    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13185    pub fn gtk_color_dialog_button_get_dialog(
13186        self_: *mut GtkColorDialogButton,
13187    ) -> *mut GtkColorDialog;
13188    #[cfg(feature = "v4_10")]
13189    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13190    pub fn gtk_color_dialog_button_get_rgba(
13191        self_: *mut GtkColorDialogButton,
13192    ) -> *const gdk::GdkRGBA;
13193    #[cfg(feature = "v4_10")]
13194    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13195    pub fn gtk_color_dialog_button_set_dialog(
13196        self_: *mut GtkColorDialogButton,
13197        dialog: *mut GtkColorDialog,
13198    );
13199    #[cfg(feature = "v4_10")]
13200    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13201    pub fn gtk_color_dialog_button_set_rgba(
13202        self_: *mut GtkColorDialogButton,
13203        color: *const gdk::GdkRGBA,
13204    );
13205
13206    //=========================================================================
13207    // GtkColumnView
13208    //=========================================================================
13209    pub fn gtk_column_view_get_type() -> GType;
13210    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13211    pub fn gtk_column_view_append_column(
13212        self_: *mut GtkColumnView,
13213        column: *mut GtkColumnViewColumn,
13214    );
13215    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13216    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13217    #[cfg(feature = "v4_12")]
13218    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13219    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13220    -> *mut GtkListItemFactory;
13221    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13222    pub fn gtk_column_view_get_reorderable(self_: *mut GtkColumnView) -> gboolean;
13223    #[cfg(feature = "v4_12")]
13224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13225    pub fn gtk_column_view_get_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13226    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13227    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13228    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13229    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13230    #[cfg(feature = "v4_12")]
13231    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13232    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13233    pub fn gtk_column_view_insert_column(
13234        self_: *mut GtkColumnView,
13235        position: c_uint,
13236        column: *mut GtkColumnViewColumn,
13237    );
13238    pub fn gtk_column_view_remove_column(
13239        self_: *mut GtkColumnView,
13240        column: *mut GtkColumnViewColumn,
13241    );
13242    #[cfg(feature = "v4_12")]
13243    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13244    pub fn gtk_column_view_scroll_to(
13245        self_: *mut GtkColumnView,
13246        pos: c_uint,
13247        column: *mut GtkColumnViewColumn,
13248        flags: GtkListScrollFlags,
13249        scroll: *mut GtkScrollInfo,
13250    );
13251    pub fn gtk_column_view_set_enable_rubberband(
13252        self_: *mut GtkColumnView,
13253        enable_rubberband: gboolean,
13254    );
13255    #[cfg(feature = "v4_12")]
13256    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13257    pub fn gtk_column_view_set_header_factory(
13258        self_: *mut GtkColumnView,
13259        factory: *mut GtkListItemFactory,
13260    );
13261    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13262    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13263    #[cfg(feature = "v4_12")]
13264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13265    pub fn gtk_column_view_set_row_factory(
13266        self_: *mut GtkColumnView,
13267        factory: *mut GtkListItemFactory,
13268    );
13269    pub fn gtk_column_view_set_show_column_separators(
13270        self_: *mut GtkColumnView,
13271        show_column_separators: gboolean,
13272    );
13273    pub fn gtk_column_view_set_show_row_separators(
13274        self_: *mut GtkColumnView,
13275        show_row_separators: gboolean,
13276    );
13277    pub fn gtk_column_view_set_single_click_activate(
13278        self_: *mut GtkColumnView,
13279        single_click_activate: gboolean,
13280    );
13281    #[cfg(feature = "v4_12")]
13282    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13283    pub fn gtk_column_view_set_tab_behavior(
13284        self_: *mut GtkColumnView,
13285        tab_behavior: GtkListTabBehavior,
13286    );
13287    pub fn gtk_column_view_sort_by_column(
13288        self_: *mut GtkColumnView,
13289        column: *mut GtkColumnViewColumn,
13290        direction: GtkSortType,
13291    );
13292
13293    //=========================================================================
13294    // GtkColumnViewCell
13295    //=========================================================================
13296    #[cfg(feature = "v4_12")]
13297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13298    pub fn gtk_column_view_cell_get_type() -> GType;
13299    #[cfg(feature = "v4_12")]
13300    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13301    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13302    #[cfg(feature = "v4_12")]
13303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13304    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13305    #[cfg(feature = "v4_12")]
13306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13307    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13308    #[cfg(feature = "v4_12")]
13309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13310    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13311    #[cfg(feature = "v4_12")]
13312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13313    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13314    #[cfg(feature = "v4_12")]
13315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13316    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13317    #[cfg(feature = "v4_12")]
13318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13319    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13320
13321    //=========================================================================
13322    // GtkColumnViewColumn
13323    //=========================================================================
13324    pub fn gtk_column_view_column_get_type() -> GType;
13325    pub fn gtk_column_view_column_new(
13326        title: *const c_char,
13327        factory: *mut GtkListItemFactory,
13328    ) -> *mut GtkColumnViewColumn;
13329    pub fn gtk_column_view_column_get_column_view(
13330        self_: *mut GtkColumnViewColumn,
13331    ) -> *mut GtkColumnView;
13332    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13333    pub fn gtk_column_view_column_get_factory(
13334        self_: *mut GtkColumnViewColumn,
13335    ) -> *mut GtkListItemFactory;
13336    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13337    pub fn gtk_column_view_column_get_header_menu(
13338        self_: *mut GtkColumnViewColumn,
13339    ) -> *mut gio::GMenuModel;
13340    #[cfg(feature = "v4_10")]
13341    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13342    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13343    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13344    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13345    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13346    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13347    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13348    pub fn gtk_column_view_column_set_factory(
13349        self_: *mut GtkColumnViewColumn,
13350        factory: *mut GtkListItemFactory,
13351    );
13352    pub fn gtk_column_view_column_set_fixed_width(
13353        self_: *mut GtkColumnViewColumn,
13354        fixed_width: c_int,
13355    );
13356    pub fn gtk_column_view_column_set_header_menu(
13357        self_: *mut GtkColumnViewColumn,
13358        menu: *mut gio::GMenuModel,
13359    );
13360    #[cfg(feature = "v4_10")]
13361    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13362    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13363    pub fn gtk_column_view_column_set_resizable(
13364        self_: *mut GtkColumnViewColumn,
13365        resizable: gboolean,
13366    );
13367    pub fn gtk_column_view_column_set_sorter(
13368        self_: *mut GtkColumnViewColumn,
13369        sorter: *mut GtkSorter,
13370    );
13371    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13372    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13373
13374    //=========================================================================
13375    // GtkColumnViewRow
13376    //=========================================================================
13377    #[cfg(feature = "v4_12")]
13378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13379    pub fn gtk_column_view_row_get_type() -> GType;
13380    #[cfg(feature = "v4_12")]
13381    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13382    pub fn gtk_column_view_row_get_accessible_description(
13383        self_: *mut GtkColumnViewRow,
13384    ) -> *const c_char;
13385    #[cfg(feature = "v4_12")]
13386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13387    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13388    #[cfg(feature = "v4_12")]
13389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13390    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13391    #[cfg(feature = "v4_12")]
13392    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13393    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13394    #[cfg(feature = "v4_12")]
13395    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13396    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13397    #[cfg(feature = "v4_12")]
13398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13399    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13400    #[cfg(feature = "v4_12")]
13401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13402    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13403    #[cfg(feature = "v4_12")]
13404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13405    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13406    #[cfg(feature = "v4_12")]
13407    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13408    pub fn gtk_column_view_row_set_accessible_description(
13409        self_: *mut GtkColumnViewRow,
13410        description: *const c_char,
13411    );
13412    #[cfg(feature = "v4_12")]
13413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13414    pub fn gtk_column_view_row_set_accessible_label(
13415        self_: *mut GtkColumnViewRow,
13416        label: *const c_char,
13417    );
13418    #[cfg(feature = "v4_12")]
13419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13420    pub fn gtk_column_view_row_set_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13421    #[cfg(feature = "v4_12")]
13422    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13423    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13424    #[cfg(feature = "v4_12")]
13425    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13426    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13427
13428    //=========================================================================
13429    // GtkColumnViewSorter
13430    //=========================================================================
13431    #[cfg(feature = "v4_10")]
13432    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13433    pub fn gtk_column_view_sorter_get_type() -> GType;
13434    #[cfg(feature = "v4_10")]
13435    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13436    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13437    #[cfg(feature = "v4_10")]
13438    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13439    pub fn gtk_column_view_sorter_get_nth_sort_column(
13440        self_: *mut GtkColumnViewSorter,
13441        position: c_uint,
13442        sort_order: *mut GtkSortType,
13443    ) -> *mut GtkColumnViewColumn;
13444    #[cfg(feature = "v4_10")]
13445    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13446    pub fn gtk_column_view_sorter_get_primary_sort_column(
13447        self_: *mut GtkColumnViewSorter,
13448    ) -> *mut GtkColumnViewColumn;
13449    #[cfg(feature = "v4_10")]
13450    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13451    pub fn gtk_column_view_sorter_get_primary_sort_order(
13452        self_: *mut GtkColumnViewSorter,
13453    ) -> GtkSortType;
13454
13455    //=========================================================================
13456    // GtkComboBox
13457    //=========================================================================
13458    pub fn gtk_combo_box_get_type() -> GType;
13459    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13460    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13461    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13462    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13463    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13464    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13465    pub fn gtk_combo_box_get_active_iter(
13466        combo_box: *mut GtkComboBox,
13467        iter: *mut GtkTreeIter,
13468    ) -> gboolean;
13469    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13470    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13471    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13472    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13473    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13474    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13475    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13476    pub fn gtk_combo_box_get_row_separator_func(
13477        combo_box: *mut GtkComboBox,
13478    ) -> GtkTreeViewRowSeparatorFunc;
13479    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13480    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13481    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13482    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13483    pub fn gtk_combo_box_set_active_id(
13484        combo_box: *mut GtkComboBox,
13485        active_id: *const c_char,
13486    ) -> gboolean;
13487    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13488    pub fn gtk_combo_box_set_button_sensitivity(
13489        combo_box: *mut GtkComboBox,
13490        sensitivity: GtkSensitivityType,
13491    );
13492    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13493    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13494    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13495    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13496    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13497    pub fn gtk_combo_box_set_row_separator_func(
13498        combo_box: *mut GtkComboBox,
13499        func: GtkTreeViewRowSeparatorFunc,
13500        data: gpointer,
13501        destroy: glib::GDestroyNotify,
13502    );
13503
13504    //=========================================================================
13505    // GtkComboBoxText
13506    //=========================================================================
13507    pub fn gtk_combo_box_text_get_type() -> GType;
13508    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13509    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13510    pub fn gtk_combo_box_text_append(
13511        combo_box: *mut GtkComboBoxText,
13512        id: *const c_char,
13513        text: *const c_char,
13514    );
13515    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13516    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13517    pub fn gtk_combo_box_text_insert(
13518        combo_box: *mut GtkComboBoxText,
13519        position: c_int,
13520        id: *const c_char,
13521        text: *const c_char,
13522    );
13523    pub fn gtk_combo_box_text_insert_text(
13524        combo_box: *mut GtkComboBoxText,
13525        position: c_int,
13526        text: *const c_char,
13527    );
13528    pub fn gtk_combo_box_text_prepend(
13529        combo_box: *mut GtkComboBoxText,
13530        id: *const c_char,
13531        text: *const c_char,
13532    );
13533    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13534    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13535    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13536
13537    //=========================================================================
13538    // GtkConstantExpression
13539    //=========================================================================
13540    pub fn gtk_constant_expression_get_type() -> GType;
13541    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13542    pub fn gtk_constant_expression_new_for_value(
13543        value: *const gobject::GValue,
13544    ) -> *mut GtkConstantExpression;
13545    pub fn gtk_constant_expression_get_value(
13546        expression: *mut GtkConstantExpression,
13547    ) -> *const gobject::GValue;
13548
13549    //=========================================================================
13550    // GtkConstraint
13551    //=========================================================================
13552    pub fn gtk_constraint_get_type() -> GType;
13553    pub fn gtk_constraint_new(
13554        target: *mut GtkConstraintTarget,
13555        target_attribute: GtkConstraintAttribute,
13556        relation: GtkConstraintRelation,
13557        source: *mut GtkConstraintTarget,
13558        source_attribute: GtkConstraintAttribute,
13559        multiplier: c_double,
13560        constant: c_double,
13561        strength: c_int,
13562    ) -> *mut GtkConstraint;
13563    pub fn gtk_constraint_new_constant(
13564        target: *mut GtkConstraintTarget,
13565        target_attribute: GtkConstraintAttribute,
13566        relation: GtkConstraintRelation,
13567        constant: c_double,
13568        strength: c_int,
13569    ) -> *mut GtkConstraint;
13570    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13571    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13572    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13573    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13574    pub fn gtk_constraint_get_source_attribute(
13575        constraint: *mut GtkConstraint,
13576    ) -> GtkConstraintAttribute;
13577    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13578    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13579    pub fn gtk_constraint_get_target_attribute(
13580        constraint: *mut GtkConstraint,
13581    ) -> GtkConstraintAttribute;
13582    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13583    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13584    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13585
13586    //=========================================================================
13587    // GtkConstraintGuide
13588    //=========================================================================
13589    pub fn gtk_constraint_guide_get_type() -> GType;
13590    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13591    pub fn gtk_constraint_guide_get_max_size(
13592        guide: *mut GtkConstraintGuide,
13593        width: *mut c_int,
13594        height: *mut c_int,
13595    );
13596    pub fn gtk_constraint_guide_get_min_size(
13597        guide: *mut GtkConstraintGuide,
13598        width: *mut c_int,
13599        height: *mut c_int,
13600    );
13601    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13602    pub fn gtk_constraint_guide_get_nat_size(
13603        guide: *mut GtkConstraintGuide,
13604        width: *mut c_int,
13605        height: *mut c_int,
13606    );
13607    pub fn gtk_constraint_guide_get_strength(
13608        guide: *mut GtkConstraintGuide,
13609    ) -> GtkConstraintStrength;
13610    pub fn gtk_constraint_guide_set_max_size(
13611        guide: *mut GtkConstraintGuide,
13612        width: c_int,
13613        height: c_int,
13614    );
13615    pub fn gtk_constraint_guide_set_min_size(
13616        guide: *mut GtkConstraintGuide,
13617        width: c_int,
13618        height: c_int,
13619    );
13620    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13621    pub fn gtk_constraint_guide_set_nat_size(
13622        guide: *mut GtkConstraintGuide,
13623        width: c_int,
13624        height: c_int,
13625    );
13626    pub fn gtk_constraint_guide_set_strength(
13627        guide: *mut GtkConstraintGuide,
13628        strength: GtkConstraintStrength,
13629    );
13630
13631    //=========================================================================
13632    // GtkConstraintLayout
13633    //=========================================================================
13634    pub fn gtk_constraint_layout_get_type() -> GType;
13635    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13636    pub fn gtk_constraint_layout_add_constraint(
13637        layout: *mut GtkConstraintLayout,
13638        constraint: *mut GtkConstraint,
13639    );
13640    pub fn gtk_constraint_layout_add_constraints_from_description(
13641        layout: *mut GtkConstraintLayout,
13642        lines: *const *const c_char,
13643        n_lines: size_t,
13644        hspacing: c_int,
13645        vspacing: c_int,
13646        error: *mut *mut glib::GError,
13647        first_view: *const c_char,
13648        ...
13649    ) -> *mut glib::GList;
13650    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13651        layout: *mut GtkConstraintLayout,
13652        lines: *const *const c_char,
13653        n_lines: size_t,
13654        hspacing: c_int,
13655        vspacing: c_int,
13656        views: *mut glib::GHashTable,
13657        error: *mut *mut glib::GError,
13658    ) -> *mut glib::GList;
13659    pub fn gtk_constraint_layout_add_guide(
13660        layout: *mut GtkConstraintLayout,
13661        guide: *mut GtkConstraintGuide,
13662    );
13663    pub fn gtk_constraint_layout_observe_constraints(
13664        layout: *mut GtkConstraintLayout,
13665    ) -> *mut gio::GListModel;
13666    pub fn gtk_constraint_layout_observe_guides(
13667        layout: *mut GtkConstraintLayout,
13668    ) -> *mut gio::GListModel;
13669    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13670    pub fn gtk_constraint_layout_remove_constraint(
13671        layout: *mut GtkConstraintLayout,
13672        constraint: *mut GtkConstraint,
13673    );
13674    pub fn gtk_constraint_layout_remove_guide(
13675        layout: *mut GtkConstraintLayout,
13676        guide: *mut GtkConstraintGuide,
13677    );
13678
13679    //=========================================================================
13680    // GtkConstraintLayoutChild
13681    //=========================================================================
13682    pub fn gtk_constraint_layout_child_get_type() -> GType;
13683
13684    //=========================================================================
13685    // GtkCssProvider
13686    //=========================================================================
13687    pub fn gtk_css_provider_get_type() -> GType;
13688    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13689    #[cfg(feature = "v4_12")]
13690    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13691    pub fn gtk_css_provider_load_from_bytes(
13692        css_provider: *mut GtkCssProvider,
13693        data: *mut glib::GBytes,
13694    );
13695    pub fn gtk_css_provider_load_from_data(
13696        css_provider: *mut GtkCssProvider,
13697        data: *const c_char,
13698        length: ssize_t,
13699    );
13700    pub fn gtk_css_provider_load_from_file(
13701        css_provider: *mut GtkCssProvider,
13702        file: *mut gio::GFile,
13703    );
13704    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13705    pub fn gtk_css_provider_load_from_resource(
13706        css_provider: *mut GtkCssProvider,
13707        resource_path: *const c_char,
13708    );
13709    #[cfg(feature = "v4_12")]
13710    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13711    pub fn gtk_css_provider_load_from_string(
13712        css_provider: *mut GtkCssProvider,
13713        string: *const c_char,
13714    );
13715    pub fn gtk_css_provider_load_named(
13716        provider: *mut GtkCssProvider,
13717        name: *const c_char,
13718        variant: *const c_char,
13719    );
13720    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13721
13722    //=========================================================================
13723    // GtkCustomFilter
13724    //=========================================================================
13725    pub fn gtk_custom_filter_get_type() -> GType;
13726    pub fn gtk_custom_filter_new(
13727        match_func: GtkCustomFilterFunc,
13728        user_data: gpointer,
13729        user_destroy: glib::GDestroyNotify,
13730    ) -> *mut GtkCustomFilter;
13731    pub fn gtk_custom_filter_set_filter_func(
13732        self_: *mut GtkCustomFilter,
13733        match_func: GtkCustomFilterFunc,
13734        user_data: gpointer,
13735        user_destroy: glib::GDestroyNotify,
13736    );
13737
13738    //=========================================================================
13739    // GtkCustomLayout
13740    //=========================================================================
13741    pub fn gtk_custom_layout_get_type() -> GType;
13742    pub fn gtk_custom_layout_new(
13743        request_mode: GtkCustomRequestModeFunc,
13744        measure: GtkCustomMeasureFunc,
13745        allocate: GtkCustomAllocateFunc,
13746    ) -> *mut GtkLayoutManager;
13747
13748    //=========================================================================
13749    // GtkCustomSorter
13750    //=========================================================================
13751    pub fn gtk_custom_sorter_get_type() -> GType;
13752    pub fn gtk_custom_sorter_new(
13753        sort_func: glib::GCompareDataFunc,
13754        user_data: gpointer,
13755        user_destroy: glib::GDestroyNotify,
13756    ) -> *mut GtkCustomSorter;
13757    pub fn gtk_custom_sorter_set_sort_func(
13758        self_: *mut GtkCustomSorter,
13759        sort_func: glib::GCompareDataFunc,
13760        user_data: gpointer,
13761        user_destroy: glib::GDestroyNotify,
13762    );
13763
13764    //=========================================================================
13765    // GtkDialog
13766    //=========================================================================
13767    pub fn gtk_dialog_get_type() -> GType;
13768    pub fn gtk_dialog_new() -> *mut GtkWidget;
13769    pub fn gtk_dialog_new_with_buttons(
13770        title: *const c_char,
13771        parent: *mut GtkWindow,
13772        flags: GtkDialogFlags,
13773        first_button_text: *const c_char,
13774        ...
13775    ) -> *mut GtkWidget;
13776    pub fn gtk_dialog_add_action_widget(
13777        dialog: *mut GtkDialog,
13778        child: *mut GtkWidget,
13779        response_id: GtkResponseType,
13780    );
13781    pub fn gtk_dialog_add_button(
13782        dialog: *mut GtkDialog,
13783        button_text: *const c_char,
13784        response_id: GtkResponseType,
13785    ) -> *mut GtkWidget;
13786    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13787    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13788    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13789    pub fn gtk_dialog_get_response_for_widget(
13790        dialog: *mut GtkDialog,
13791        widget: *mut GtkWidget,
13792    ) -> c_int;
13793    pub fn gtk_dialog_get_widget_for_response(
13794        dialog: *mut GtkDialog,
13795        response_id: GtkResponseType,
13796    ) -> *mut GtkWidget;
13797    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13798    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13799    pub fn gtk_dialog_set_response_sensitive(
13800        dialog: *mut GtkDialog,
13801        response_id: GtkResponseType,
13802        setting: gboolean,
13803    );
13804
13805    //=========================================================================
13806    // GtkDirectoryList
13807    //=========================================================================
13808    pub fn gtk_directory_list_get_type() -> GType;
13809    pub fn gtk_directory_list_new(
13810        attributes: *const c_char,
13811        file: *mut gio::GFile,
13812    ) -> *mut GtkDirectoryList;
13813    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13814    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13815    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13816    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13817    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13818    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13819    pub fn gtk_directory_list_set_attributes(
13820        self_: *mut GtkDirectoryList,
13821        attributes: *const c_char,
13822    );
13823    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13824    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13825    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13826
13827    //=========================================================================
13828    // GtkDragIcon
13829    //=========================================================================
13830    pub fn gtk_drag_icon_get_type() -> GType;
13831    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13832    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13833    pub fn gtk_drag_icon_set_from_paintable(
13834        drag: *mut gdk::GdkDrag,
13835        paintable: *mut gdk::GdkPaintable,
13836        hot_x: c_int,
13837        hot_y: c_int,
13838    );
13839    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13840    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13841
13842    //=========================================================================
13843    // GtkDragSource
13844    //=========================================================================
13845    pub fn gtk_drag_source_get_type() -> GType;
13846    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13847    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13848    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13849    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13850    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13851    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13852    pub fn gtk_drag_source_set_content(
13853        source: *mut GtkDragSource,
13854        content: *mut gdk::GdkContentProvider,
13855    );
13856    pub fn gtk_drag_source_set_icon(
13857        source: *mut GtkDragSource,
13858        paintable: *mut gdk::GdkPaintable,
13859        hot_x: c_int,
13860        hot_y: c_int,
13861    );
13862
13863    //=========================================================================
13864    // GtkDrawingArea
13865    //=========================================================================
13866    pub fn gtk_drawing_area_get_type() -> GType;
13867    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13868    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13869    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13870    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13871    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13872    pub fn gtk_drawing_area_set_draw_func(
13873        self_: *mut GtkDrawingArea,
13874        draw_func: GtkDrawingAreaDrawFunc,
13875        user_data: gpointer,
13876        destroy: glib::GDestroyNotify,
13877    );
13878
13879    //=========================================================================
13880    // GtkDropControllerMotion
13881    //=========================================================================
13882    pub fn gtk_drop_controller_motion_get_type() -> GType;
13883    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13884    pub fn gtk_drop_controller_motion_contains_pointer(
13885        self_: *mut GtkDropControllerMotion,
13886    ) -> gboolean;
13887    pub fn gtk_drop_controller_motion_get_drop(
13888        self_: *mut GtkDropControllerMotion,
13889    ) -> *mut gdk::GdkDrop;
13890    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13891
13892    //=========================================================================
13893    // GtkDropDown
13894    //=========================================================================
13895    pub fn gtk_drop_down_get_type() -> GType;
13896    pub fn gtk_drop_down_new(
13897        model: *mut gio::GListModel,
13898        expression: *mut GtkExpression,
13899    ) -> *mut GtkWidget;
13900    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13901    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13902    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13903    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13904    #[cfg(feature = "v4_12")]
13905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13906    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13907    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13908    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13909    #[cfg(feature = "v4_12")]
13910    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13911    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13912    -> GtkStringFilterMatchMode;
13913    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13914    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13915    #[cfg(feature = "v4_6")]
13916    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13917    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13918    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13919    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13920    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13921    #[cfg(feature = "v4_12")]
13922    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13923    pub fn gtk_drop_down_set_header_factory(
13924        self_: *mut GtkDropDown,
13925        factory: *mut GtkListItemFactory,
13926    );
13927    pub fn gtk_drop_down_set_list_factory(
13928        self_: *mut GtkDropDown,
13929        factory: *mut GtkListItemFactory,
13930    );
13931    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13932    #[cfg(feature = "v4_12")]
13933    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13934    pub fn gtk_drop_down_set_search_match_mode(
13935        self_: *mut GtkDropDown,
13936        search_match_mode: GtkStringFilterMatchMode,
13937    );
13938    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13939    #[cfg(feature = "v4_6")]
13940    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13941    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13942
13943    //=========================================================================
13944    // GtkDropTarget
13945    //=========================================================================
13946    pub fn gtk_drop_target_get_type() -> GType;
13947    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13948    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13949    #[cfg(feature = "v4_4")]
13950    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13951    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13952    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13953    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13954    pub fn gtk_drop_target_get_gtypes(
13955        self_: *mut GtkDropTarget,
13956        n_types: *mut size_t,
13957    ) -> *const GType;
13958    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13959    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13960    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13961    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13962    pub fn gtk_drop_target_set_gtypes(
13963        self_: *mut GtkDropTarget,
13964        types: *mut GType,
13965        n_types: size_t,
13966    );
13967    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13968
13969    //=========================================================================
13970    // GtkDropTargetAsync
13971    //=========================================================================
13972    pub fn gtk_drop_target_async_get_type() -> GType;
13973    pub fn gtk_drop_target_async_new(
13974        formats: *mut gdk::GdkContentFormats,
13975        actions: gdk::GdkDragAction,
13976    ) -> *mut GtkDropTargetAsync;
13977    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13978    pub fn gtk_drop_target_async_get_formats(
13979        self_: *mut GtkDropTargetAsync,
13980    ) -> *mut gdk::GdkContentFormats;
13981    pub fn gtk_drop_target_async_reject_drop(
13982        self_: *mut GtkDropTargetAsync,
13983        drop: *mut gdk::GdkDrop,
13984    );
13985    pub fn gtk_drop_target_async_set_actions(
13986        self_: *mut GtkDropTargetAsync,
13987        actions: gdk::GdkDragAction,
13988    );
13989    pub fn gtk_drop_target_async_set_formats(
13990        self_: *mut GtkDropTargetAsync,
13991        formats: *mut gdk::GdkContentFormats,
13992    );
13993
13994    //=========================================================================
13995    // GtkEditableLabel
13996    //=========================================================================
13997    pub fn gtk_editable_label_get_type() -> GType;
13998    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13999    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
14000    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
14001    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
14002
14003    //=========================================================================
14004    // GtkEmojiChooser
14005    //=========================================================================
14006    pub fn gtk_emoji_chooser_get_type() -> GType;
14007    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
14008
14009    //=========================================================================
14010    // GtkEntry
14011    //=========================================================================
14012    pub fn gtk_entry_get_type() -> GType;
14013    pub fn gtk_entry_new() -> *mut GtkWidget;
14014    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
14015    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
14016    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
14017    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
14018    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
14019    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
14020    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
14021    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
14022    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
14023    pub fn gtk_entry_get_icon_activatable(
14024        entry: *mut GtkEntry,
14025        icon_pos: GtkEntryIconPosition,
14026    ) -> gboolean;
14027    pub fn gtk_entry_get_icon_area(
14028        entry: *mut GtkEntry,
14029        icon_pos: GtkEntryIconPosition,
14030        icon_area: *mut gdk::GdkRectangle,
14031    );
14032    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
14033    pub fn gtk_entry_get_icon_gicon(
14034        entry: *mut GtkEntry,
14035        icon_pos: GtkEntryIconPosition,
14036    ) -> *mut gio::GIcon;
14037    pub fn gtk_entry_get_icon_name(
14038        entry: *mut GtkEntry,
14039        icon_pos: GtkEntryIconPosition,
14040    ) -> *const c_char;
14041    pub fn gtk_entry_get_icon_paintable(
14042        entry: *mut GtkEntry,
14043        icon_pos: GtkEntryIconPosition,
14044    ) -> *mut gdk::GdkPaintable;
14045    pub fn gtk_entry_get_icon_sensitive(
14046        entry: *mut GtkEntry,
14047        icon_pos: GtkEntryIconPosition,
14048    ) -> gboolean;
14049    pub fn gtk_entry_get_icon_storage_type(
14050        entry: *mut GtkEntry,
14051        icon_pos: GtkEntryIconPosition,
14052    ) -> GtkImageType;
14053    pub fn gtk_entry_get_icon_tooltip_markup(
14054        entry: *mut GtkEntry,
14055        icon_pos: GtkEntryIconPosition,
14056    ) -> *mut c_char;
14057    pub fn gtk_entry_get_icon_tooltip_text(
14058        entry: *mut GtkEntry,
14059        icon_pos: GtkEntryIconPosition,
14060    ) -> *mut c_char;
14061    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
14062    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
14063    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
14064    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
14065    #[cfg(feature = "v4_20")]
14066    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14067    pub fn gtk_entry_get_menu_entry_icon_text(
14068        entry: *mut GtkEntry,
14069        icon_pos: GtkEntryIconPosition,
14070    ) -> *const c_char;
14071    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
14072    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
14073    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
14074    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
14075    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
14076    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
14077    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
14078    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
14079    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
14080    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
14081    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
14082    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
14083    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
14084    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
14085    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
14086    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
14087    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
14088    pub fn gtk_entry_set_icon_activatable(
14089        entry: *mut GtkEntry,
14090        icon_pos: GtkEntryIconPosition,
14091        activatable: gboolean,
14092    );
14093    pub fn gtk_entry_set_icon_drag_source(
14094        entry: *mut GtkEntry,
14095        icon_pos: GtkEntryIconPosition,
14096        provider: *mut gdk::GdkContentProvider,
14097        actions: gdk::GdkDragAction,
14098    );
14099    pub fn gtk_entry_set_icon_from_gicon(
14100        entry: *mut GtkEntry,
14101        icon_pos: GtkEntryIconPosition,
14102        icon: *mut gio::GIcon,
14103    );
14104    pub fn gtk_entry_set_icon_from_icon_name(
14105        entry: *mut GtkEntry,
14106        icon_pos: GtkEntryIconPosition,
14107        icon_name: *const c_char,
14108    );
14109    pub fn gtk_entry_set_icon_from_paintable(
14110        entry: *mut GtkEntry,
14111        icon_pos: GtkEntryIconPosition,
14112        paintable: *mut gdk::GdkPaintable,
14113    );
14114    pub fn gtk_entry_set_icon_sensitive(
14115        entry: *mut GtkEntry,
14116        icon_pos: GtkEntryIconPosition,
14117        sensitive: gboolean,
14118    );
14119    pub fn gtk_entry_set_icon_tooltip_markup(
14120        entry: *mut GtkEntry,
14121        icon_pos: GtkEntryIconPosition,
14122        tooltip: *const c_char,
14123    );
14124    pub fn gtk_entry_set_icon_tooltip_text(
14125        entry: *mut GtkEntry,
14126        icon_pos: GtkEntryIconPosition,
14127        tooltip: *const c_char,
14128    );
14129    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14130    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14131    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14132    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14133    #[cfg(feature = "v4_20")]
14134    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14135    pub fn gtk_entry_set_menu_entry_icon_text(
14136        entry: *mut GtkEntry,
14137        icon_pos: GtkEntryIconPosition,
14138        text: *const c_char,
14139    );
14140    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14141    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14142    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14143    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14144    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14145    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14146    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14147
14148    //=========================================================================
14149    // GtkEntryBuffer
14150    //=========================================================================
14151    pub fn gtk_entry_buffer_get_type() -> GType;
14152    pub fn gtk_entry_buffer_new(
14153        initial_chars: *const c_char,
14154        n_initial_chars: c_int,
14155    ) -> *mut GtkEntryBuffer;
14156    pub fn gtk_entry_buffer_delete_text(
14157        buffer: *mut GtkEntryBuffer,
14158        position: c_uint,
14159        n_chars: c_int,
14160    ) -> c_uint;
14161    pub fn gtk_entry_buffer_emit_deleted_text(
14162        buffer: *mut GtkEntryBuffer,
14163        position: c_uint,
14164        n_chars: c_uint,
14165    );
14166    pub fn gtk_entry_buffer_emit_inserted_text(
14167        buffer: *mut GtkEntryBuffer,
14168        position: c_uint,
14169        chars: *const c_char,
14170        n_chars: c_uint,
14171    );
14172    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14173    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14174    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14175    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14176    pub fn gtk_entry_buffer_insert_text(
14177        buffer: *mut GtkEntryBuffer,
14178        position: c_uint,
14179        chars: *const c_char,
14180        n_chars: c_int,
14181    ) -> c_uint;
14182    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14183    pub fn gtk_entry_buffer_set_text(
14184        buffer: *mut GtkEntryBuffer,
14185        chars: *const c_char,
14186        n_chars: c_int,
14187    );
14188
14189    //=========================================================================
14190    // GtkEntryCompletion
14191    //=========================================================================
14192    pub fn gtk_entry_completion_get_type() -> GType;
14193    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14194    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14195    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14196    pub fn gtk_entry_completion_compute_prefix(
14197        completion: *mut GtkEntryCompletion,
14198        key: *const c_char,
14199    ) -> *mut c_char;
14200    pub fn gtk_entry_completion_get_completion_prefix(
14201        completion: *mut GtkEntryCompletion,
14202    ) -> *const c_char;
14203    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14204    pub fn gtk_entry_completion_get_inline_completion(
14205        completion: *mut GtkEntryCompletion,
14206    ) -> gboolean;
14207    pub fn gtk_entry_completion_get_inline_selection(
14208        completion: *mut GtkEntryCompletion,
14209    ) -> gboolean;
14210    pub fn gtk_entry_completion_get_minimum_key_length(
14211        completion: *mut GtkEntryCompletion,
14212    ) -> c_int;
14213    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14214    -> *mut GtkTreeModel;
14215    pub fn gtk_entry_completion_get_popup_completion(
14216        completion: *mut GtkEntryCompletion,
14217    ) -> gboolean;
14218    pub fn gtk_entry_completion_get_popup_set_width(
14219        completion: *mut GtkEntryCompletion,
14220    ) -> gboolean;
14221    pub fn gtk_entry_completion_get_popup_single_match(
14222        completion: *mut GtkEntryCompletion,
14223    ) -> gboolean;
14224    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14225    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14226    pub fn gtk_entry_completion_set_inline_completion(
14227        completion: *mut GtkEntryCompletion,
14228        inline_completion: gboolean,
14229    );
14230    pub fn gtk_entry_completion_set_inline_selection(
14231        completion: *mut GtkEntryCompletion,
14232        inline_selection: gboolean,
14233    );
14234    pub fn gtk_entry_completion_set_match_func(
14235        completion: *mut GtkEntryCompletion,
14236        func: GtkEntryCompletionMatchFunc,
14237        func_data: gpointer,
14238        func_notify: glib::GDestroyNotify,
14239    );
14240    pub fn gtk_entry_completion_set_minimum_key_length(
14241        completion: *mut GtkEntryCompletion,
14242        length: c_int,
14243    );
14244    pub fn gtk_entry_completion_set_model(
14245        completion: *mut GtkEntryCompletion,
14246        model: *mut GtkTreeModel,
14247    );
14248    pub fn gtk_entry_completion_set_popup_completion(
14249        completion: *mut GtkEntryCompletion,
14250        popup_completion: gboolean,
14251    );
14252    pub fn gtk_entry_completion_set_popup_set_width(
14253        completion: *mut GtkEntryCompletion,
14254        popup_set_width: gboolean,
14255    );
14256    pub fn gtk_entry_completion_set_popup_single_match(
14257        completion: *mut GtkEntryCompletion,
14258        popup_single_match: gboolean,
14259    );
14260    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14261
14262    //=========================================================================
14263    // GtkEnumList
14264    //=========================================================================
14265    #[cfg(feature = "v4_24")]
14266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14267    pub fn gtk_enum_list_get_type() -> GType;
14268    #[cfg(feature = "v4_24")]
14269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14270    pub fn gtk_enum_list_new(enum_type: GType) -> *mut GtkEnumList;
14271    #[cfg(feature = "v4_24")]
14272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14273    pub fn gtk_enum_list_find(self_: *mut GtkEnumList, value: c_int) -> c_uint;
14274    #[cfg(feature = "v4_24")]
14275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14276    pub fn gtk_enum_list_get_enum_type(self_: *mut GtkEnumList) -> GType;
14277
14278    //=========================================================================
14279    // GtkEnumListItem
14280    //=========================================================================
14281    #[cfg(feature = "v4_24")]
14282    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14283    pub fn gtk_enum_list_item_get_type() -> GType;
14284    #[cfg(feature = "v4_24")]
14285    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14286    pub fn gtk_enum_list_item_get_name(self_: *mut GtkEnumListItem) -> *const c_char;
14287    #[cfg(feature = "v4_24")]
14288    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14289    pub fn gtk_enum_list_item_get_nick(self_: *mut GtkEnumListItem) -> *const c_char;
14290    #[cfg(feature = "v4_24")]
14291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14292    pub fn gtk_enum_list_item_get_value(self_: *mut GtkEnumListItem) -> c_int;
14293
14294    //=========================================================================
14295    // GtkEventController
14296    //=========================================================================
14297    pub fn gtk_event_controller_get_type() -> GType;
14298    pub fn gtk_event_controller_get_current_event(
14299        controller: *mut GtkEventController,
14300    ) -> *mut gdk::GdkEvent;
14301    pub fn gtk_event_controller_get_current_event_device(
14302        controller: *mut GtkEventController,
14303    ) -> *mut gdk::GdkDevice;
14304    pub fn gtk_event_controller_get_current_event_state(
14305        controller: *mut GtkEventController,
14306    ) -> gdk::GdkModifierType;
14307    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14308    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14309    pub fn gtk_event_controller_get_propagation_limit(
14310        controller: *mut GtkEventController,
14311    ) -> GtkPropagationLimit;
14312    pub fn gtk_event_controller_get_propagation_phase(
14313        controller: *mut GtkEventController,
14314    ) -> GtkPropagationPhase;
14315    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14316    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14317    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14318    pub fn gtk_event_controller_set_propagation_limit(
14319        controller: *mut GtkEventController,
14320        limit: GtkPropagationLimit,
14321    );
14322    pub fn gtk_event_controller_set_propagation_phase(
14323        controller: *mut GtkEventController,
14324        phase: GtkPropagationPhase,
14325    );
14326    #[cfg(feature = "v4_8")]
14327    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14328    pub fn gtk_event_controller_set_static_name(
14329        controller: *mut GtkEventController,
14330        name: *const c_char,
14331    );
14332
14333    //=========================================================================
14334    // GtkEventControllerFocus
14335    //=========================================================================
14336    pub fn gtk_event_controller_focus_get_type() -> GType;
14337    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14338    pub fn gtk_event_controller_focus_contains_focus(
14339        self_: *mut GtkEventControllerFocus,
14340    ) -> gboolean;
14341    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14342
14343    //=========================================================================
14344    // GtkEventControllerKey
14345    //=========================================================================
14346    pub fn gtk_event_controller_key_get_type() -> GType;
14347    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14348    pub fn gtk_event_controller_key_forward(
14349        controller: *mut GtkEventControllerKey,
14350        widget: *mut GtkWidget,
14351    ) -> gboolean;
14352    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14353    pub fn gtk_event_controller_key_get_im_context(
14354        controller: *mut GtkEventControllerKey,
14355    ) -> *mut GtkIMContext;
14356    pub fn gtk_event_controller_key_set_im_context(
14357        controller: *mut GtkEventControllerKey,
14358        im_context: *mut GtkIMContext,
14359    );
14360
14361    //=========================================================================
14362    // GtkEventControllerLegacy
14363    //=========================================================================
14364    pub fn gtk_event_controller_legacy_get_type() -> GType;
14365    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14366
14367    //=========================================================================
14368    // GtkEventControllerMotion
14369    //=========================================================================
14370    pub fn gtk_event_controller_motion_get_type() -> GType;
14371    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14372    pub fn gtk_event_controller_motion_contains_pointer(
14373        self_: *mut GtkEventControllerMotion,
14374    ) -> gboolean;
14375    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14376    -> gboolean;
14377
14378    //=========================================================================
14379    // GtkEventControllerScroll
14380    //=========================================================================
14381    pub fn gtk_event_controller_scroll_get_type() -> GType;
14382    pub fn gtk_event_controller_scroll_new(
14383        flags: GtkEventControllerScrollFlags,
14384    ) -> *mut GtkEventController;
14385    pub fn gtk_event_controller_scroll_get_flags(
14386        scroll: *mut GtkEventControllerScroll,
14387    ) -> GtkEventControllerScrollFlags;
14388    #[cfg(feature = "v4_8")]
14389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14390    pub fn gtk_event_controller_scroll_get_unit(
14391        scroll: *mut GtkEventControllerScroll,
14392    ) -> gdk::GdkScrollUnit;
14393    pub fn gtk_event_controller_scroll_set_flags(
14394        scroll: *mut GtkEventControllerScroll,
14395        flags: GtkEventControllerScrollFlags,
14396    );
14397
14398    //=========================================================================
14399    // GtkEveryFilter
14400    //=========================================================================
14401    pub fn gtk_every_filter_get_type() -> GType;
14402    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14403
14404    //=========================================================================
14405    // GtkExpander
14406    //=========================================================================
14407    pub fn gtk_expander_get_type() -> GType;
14408    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14409    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14410    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14411    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14412    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14413    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14414    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14415    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14416    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14417    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14418    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14419    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14420    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14421    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14422    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14423    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14424
14425    //=========================================================================
14426    // GtkExpression
14427    //=========================================================================
14428    pub fn gtk_expression_get_type() -> GType;
14429    pub fn gtk_expression_bind(
14430        self_: *mut GtkExpression,
14431        target: *mut gobject::GObject,
14432        property: *const c_char,
14433        this_: *mut gobject::GObject,
14434    ) -> *mut GtkExpressionWatch;
14435    pub fn gtk_expression_evaluate(
14436        self_: *mut GtkExpression,
14437        this_: *mut gobject::GObject,
14438        value: *mut gobject::GValue,
14439    ) -> gboolean;
14440    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14441    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14442    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14443    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14444    pub fn gtk_expression_watch(
14445        self_: *mut GtkExpression,
14446        this_: *mut gobject::GObject,
14447        notify: GtkExpressionNotify,
14448        user_data: gpointer,
14449        user_destroy: glib::GDestroyNotify,
14450    ) -> *mut GtkExpressionWatch;
14451
14452    //=========================================================================
14453    // GtkFileChooserDialog
14454    //=========================================================================
14455    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14456    pub fn gtk_file_chooser_dialog_new(
14457        title: *const c_char,
14458        parent: *mut GtkWindow,
14459        action: GtkFileChooserAction,
14460        first_button_text: *const c_char,
14461        ...
14462    ) -> *mut GtkWidget;
14463
14464    //=========================================================================
14465    // GtkFileChooserNative
14466    //=========================================================================
14467    pub fn gtk_file_chooser_native_get_type() -> GType;
14468    pub fn gtk_file_chooser_native_new(
14469        title: *const c_char,
14470        parent: *mut GtkWindow,
14471        action: GtkFileChooserAction,
14472        accept_label: *const c_char,
14473        cancel_label: *const c_char,
14474    ) -> *mut GtkFileChooserNative;
14475    pub fn gtk_file_chooser_native_get_accept_label(
14476        self_: *mut GtkFileChooserNative,
14477    ) -> *const c_char;
14478    pub fn gtk_file_chooser_native_get_cancel_label(
14479        self_: *mut GtkFileChooserNative,
14480    ) -> *const c_char;
14481    pub fn gtk_file_chooser_native_set_accept_label(
14482        self_: *mut GtkFileChooserNative,
14483        accept_label: *const c_char,
14484    );
14485    pub fn gtk_file_chooser_native_set_cancel_label(
14486        self_: *mut GtkFileChooserNative,
14487        cancel_label: *const c_char,
14488    );
14489
14490    //=========================================================================
14491    // GtkFileChooserWidget
14492    //=========================================================================
14493    pub fn gtk_file_chooser_widget_get_type() -> GType;
14494    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14495
14496    //=========================================================================
14497    // GtkFileDialog
14498    //=========================================================================
14499    #[cfg(feature = "v4_10")]
14500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14501    pub fn gtk_file_dialog_get_type() -> GType;
14502    #[cfg(feature = "v4_10")]
14503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14504    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14505    #[cfg(feature = "v4_10")]
14506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14507    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14508    #[cfg(feature = "v4_10")]
14509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14510    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14511    #[cfg(feature = "v4_10")]
14512    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14513    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14514    #[cfg(feature = "v4_10")]
14515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14516    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14517    #[cfg(feature = "v4_10")]
14518    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14519    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14520    #[cfg(feature = "v4_10")]
14521    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14522    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14523    #[cfg(feature = "v4_10")]
14524    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14525    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14526    #[cfg(feature = "v4_10")]
14527    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14528    pub fn gtk_file_dialog_get_title(self_: *mut GtkFileDialog) -> *const c_char;
14529    #[cfg(feature = "v4_10")]
14530    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14531    pub fn gtk_file_dialog_open(
14532        self_: *mut GtkFileDialog,
14533        parent: *mut GtkWindow,
14534        cancellable: *mut gio::GCancellable,
14535        callback: gio::GAsyncReadyCallback,
14536        user_data: gpointer,
14537    );
14538    #[cfg(feature = "v4_10")]
14539    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14540    pub fn gtk_file_dialog_open_finish(
14541        self_: *mut GtkFileDialog,
14542        result: *mut gio::GAsyncResult,
14543        error: *mut *mut glib::GError,
14544    ) -> *mut gio::GFile;
14545    #[cfg(feature = "v4_10")]
14546    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14547    pub fn gtk_file_dialog_open_multiple(
14548        self_: *mut GtkFileDialog,
14549        parent: *mut GtkWindow,
14550        cancellable: *mut gio::GCancellable,
14551        callback: gio::GAsyncReadyCallback,
14552        user_data: gpointer,
14553    );
14554    #[cfg(feature = "v4_10")]
14555    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14556    pub fn gtk_file_dialog_open_multiple_finish(
14557        self_: *mut GtkFileDialog,
14558        result: *mut gio::GAsyncResult,
14559        error: *mut *mut glib::GError,
14560    ) -> *mut gio::GListModel;
14561    #[cfg(feature = "v4_18")]
14562    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14563    pub fn gtk_file_dialog_open_multiple_text_files(
14564        self_: *mut GtkFileDialog,
14565        parent: *mut GtkWindow,
14566        cancellable: *mut gio::GCancellable,
14567        callback: gio::GAsyncReadyCallback,
14568        user_data: gpointer,
14569    );
14570    #[cfg(feature = "v4_18")]
14571    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14572    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14573        self_: *mut GtkFileDialog,
14574        result: *mut gio::GAsyncResult,
14575        encoding: *mut *const c_char,
14576        error: *mut *mut glib::GError,
14577    ) -> *mut gio::GListModel;
14578    #[cfg(feature = "v4_18")]
14579    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14580    pub fn gtk_file_dialog_open_text_file(
14581        self_: *mut GtkFileDialog,
14582        parent: *mut GtkWindow,
14583        cancellable: *mut gio::GCancellable,
14584        callback: gio::GAsyncReadyCallback,
14585        user_data: gpointer,
14586    );
14587    #[cfg(feature = "v4_18")]
14588    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14589    pub fn gtk_file_dialog_open_text_file_finish(
14590        self_: *mut GtkFileDialog,
14591        result: *mut gio::GAsyncResult,
14592        encoding: *mut *const c_char,
14593        error: *mut *mut glib::GError,
14594    ) -> *mut gio::GFile;
14595    #[cfg(feature = "v4_10")]
14596    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14597    pub fn gtk_file_dialog_save(
14598        self_: *mut GtkFileDialog,
14599        parent: *mut GtkWindow,
14600        cancellable: *mut gio::GCancellable,
14601        callback: gio::GAsyncReadyCallback,
14602        user_data: gpointer,
14603    );
14604    #[cfg(feature = "v4_10")]
14605    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14606    pub fn gtk_file_dialog_save_finish(
14607        self_: *mut GtkFileDialog,
14608        result: *mut gio::GAsyncResult,
14609        error: *mut *mut glib::GError,
14610    ) -> *mut gio::GFile;
14611    #[cfg(feature = "v4_18")]
14612    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14613    pub fn gtk_file_dialog_save_text_file(
14614        self_: *mut GtkFileDialog,
14615        parent: *mut GtkWindow,
14616        cancellable: *mut gio::GCancellable,
14617        callback: gio::GAsyncReadyCallback,
14618        user_data: gpointer,
14619    );
14620    #[cfg(feature = "v4_18")]
14621    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14622    pub fn gtk_file_dialog_save_text_file_finish(
14623        self_: *mut GtkFileDialog,
14624        result: *mut gio::GAsyncResult,
14625        encoding: *mut *const c_char,
14626        line_ending: *mut *const c_char,
14627        error: *mut *mut glib::GError,
14628    ) -> *mut gio::GFile;
14629    #[cfg(feature = "v4_10")]
14630    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14631    pub fn gtk_file_dialog_select_folder(
14632        self_: *mut GtkFileDialog,
14633        parent: *mut GtkWindow,
14634        cancellable: *mut gio::GCancellable,
14635        callback: gio::GAsyncReadyCallback,
14636        user_data: gpointer,
14637    );
14638    #[cfg(feature = "v4_10")]
14639    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14640    pub fn gtk_file_dialog_select_folder_finish(
14641        self_: *mut GtkFileDialog,
14642        result: *mut gio::GAsyncResult,
14643        error: *mut *mut glib::GError,
14644    ) -> *mut gio::GFile;
14645    #[cfg(feature = "v4_10")]
14646    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14647    pub fn gtk_file_dialog_select_multiple_folders(
14648        self_: *mut GtkFileDialog,
14649        parent: *mut GtkWindow,
14650        cancellable: *mut gio::GCancellable,
14651        callback: gio::GAsyncReadyCallback,
14652        user_data: gpointer,
14653    );
14654    #[cfg(feature = "v4_10")]
14655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14656    pub fn gtk_file_dialog_select_multiple_folders_finish(
14657        self_: *mut GtkFileDialog,
14658        result: *mut gio::GAsyncResult,
14659        error: *mut *mut glib::GError,
14660    ) -> *mut gio::GListModel;
14661    #[cfg(feature = "v4_10")]
14662    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14663    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14664    #[cfg(feature = "v4_10")]
14665    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14666    pub fn gtk_file_dialog_set_default_filter(
14667        self_: *mut GtkFileDialog,
14668        filter: *mut GtkFileFilter,
14669    );
14670    #[cfg(feature = "v4_10")]
14671    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14672    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14673    #[cfg(feature = "v4_10")]
14674    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14675    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14676    #[cfg(feature = "v4_10")]
14677    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14678    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14679    #[cfg(feature = "v4_10")]
14680    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14681    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14682    #[cfg(feature = "v4_10")]
14683    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14684    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14685    #[cfg(feature = "v4_10")]
14686    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14687    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14688
14689    //=========================================================================
14690    // GtkFileFilter
14691    //=========================================================================
14692    pub fn gtk_file_filter_get_type() -> GType;
14693    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14694    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14695    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14696    #[cfg(feature = "v4_22")]
14697    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14698    pub fn gtk_file_filter_add_mime_types(
14699        filter: *mut GtkFileFilter,
14700        mime_types: *mut *const c_char,
14701    );
14702    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14703    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14704    #[cfg(feature = "v4_4")]
14705    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14706    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14707    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14708    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14709    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14710    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14711
14712    //=========================================================================
14713    // GtkFileLauncher
14714    //=========================================================================
14715    #[cfg(feature = "v4_10")]
14716    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14717    pub fn gtk_file_launcher_get_type() -> GType;
14718    #[cfg(feature = "v4_10")]
14719    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14720    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14721    #[cfg(feature = "v4_12")]
14722    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14723    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14724    #[cfg(feature = "v4_10")]
14725    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14726    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14727    #[cfg(feature = "v4_14")]
14728    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14729    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14730    #[cfg(feature = "v4_10")]
14731    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14732    pub fn gtk_file_launcher_launch(
14733        self_: *mut GtkFileLauncher,
14734        parent: *mut GtkWindow,
14735        cancellable: *mut gio::GCancellable,
14736        callback: gio::GAsyncReadyCallback,
14737        user_data: gpointer,
14738    );
14739    #[cfg(feature = "v4_10")]
14740    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14741    pub fn gtk_file_launcher_launch_finish(
14742        self_: *mut GtkFileLauncher,
14743        result: *mut gio::GAsyncResult,
14744        error: *mut *mut glib::GError,
14745    ) -> gboolean;
14746    #[cfg(feature = "v4_10")]
14747    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14748    pub fn gtk_file_launcher_open_containing_folder(
14749        self_: *mut GtkFileLauncher,
14750        parent: *mut GtkWindow,
14751        cancellable: *mut gio::GCancellable,
14752        callback: gio::GAsyncReadyCallback,
14753        user_data: gpointer,
14754    );
14755    #[cfg(feature = "v4_10")]
14756    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14757    pub fn gtk_file_launcher_open_containing_folder_finish(
14758        self_: *mut GtkFileLauncher,
14759        result: *mut gio::GAsyncResult,
14760        error: *mut *mut glib::GError,
14761    ) -> gboolean;
14762    #[cfg(feature = "v4_12")]
14763    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14764    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14765    #[cfg(feature = "v4_10")]
14766    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14767    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14768    #[cfg(feature = "v4_14")]
14769    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14770    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14771
14772    //=========================================================================
14773    // GtkFilter
14774    //=========================================================================
14775    pub fn gtk_filter_get_type() -> GType;
14776    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14777    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14778    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14779
14780    //=========================================================================
14781    // GtkFilterListModel
14782    //=========================================================================
14783    pub fn gtk_filter_list_model_get_type() -> GType;
14784    pub fn gtk_filter_list_model_new(
14785        model: *mut gio::GListModel,
14786        filter: *mut GtkFilter,
14787    ) -> *mut GtkFilterListModel;
14788    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14789    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14790    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14791    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14792    #[cfg(feature = "v4_20")]
14793    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14794    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14795    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14796    pub fn gtk_filter_list_model_set_incremental(
14797        self_: *mut GtkFilterListModel,
14798        incremental: gboolean,
14799    );
14800    pub fn gtk_filter_list_model_set_model(
14801        self_: *mut GtkFilterListModel,
14802        model: *mut gio::GListModel,
14803    );
14804    #[cfg(feature = "v4_20")]
14805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14806    pub fn gtk_filter_list_model_set_watch_items(
14807        self_: *mut GtkFilterListModel,
14808        watch_items: gboolean,
14809    );
14810
14811    //=========================================================================
14812    // GtkFixed
14813    //=========================================================================
14814    pub fn gtk_fixed_get_type() -> GType;
14815    pub fn gtk_fixed_new() -> *mut GtkWidget;
14816    pub fn gtk_fixed_get_child_position(
14817        fixed: *mut GtkFixed,
14818        widget: *mut GtkWidget,
14819        x: *mut c_double,
14820        y: *mut c_double,
14821    );
14822    pub fn gtk_fixed_get_child_transform(
14823        fixed: *mut GtkFixed,
14824        widget: *mut GtkWidget,
14825    ) -> *mut gsk::GskTransform;
14826    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14827    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14828    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14829    pub fn gtk_fixed_set_child_transform(
14830        fixed: *mut GtkFixed,
14831        widget: *mut GtkWidget,
14832        transform: *mut gsk::GskTransform,
14833    );
14834
14835    //=========================================================================
14836    // GtkFixedLayout
14837    //=========================================================================
14838    pub fn gtk_fixed_layout_get_type() -> GType;
14839    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14840
14841    //=========================================================================
14842    // GtkFixedLayoutChild
14843    //=========================================================================
14844    pub fn gtk_fixed_layout_child_get_type() -> GType;
14845    pub fn gtk_fixed_layout_child_get_transform(
14846        child: *mut GtkFixedLayoutChild,
14847    ) -> *mut gsk::GskTransform;
14848    pub fn gtk_fixed_layout_child_set_transform(
14849        child: *mut GtkFixedLayoutChild,
14850        transform: *mut gsk::GskTransform,
14851    );
14852
14853    //=========================================================================
14854    // GtkFlattenListModel
14855    //=========================================================================
14856    pub fn gtk_flatten_list_model_get_type() -> GType;
14857    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14858    pub fn gtk_flatten_list_model_get_model(
14859        self_: *mut GtkFlattenListModel,
14860    ) -> *mut gio::GListModel;
14861    pub fn gtk_flatten_list_model_get_model_for_item(
14862        self_: *mut GtkFlattenListModel,
14863        position: c_uint,
14864    ) -> *mut gio::GListModel;
14865    pub fn gtk_flatten_list_model_set_model(
14866        self_: *mut GtkFlattenListModel,
14867        model: *mut gio::GListModel,
14868    );
14869
14870    //=========================================================================
14871    // GtkFlowBox
14872    //=========================================================================
14873    pub fn gtk_flow_box_get_type() -> GType;
14874    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14875    #[cfg(feature = "v4_6")]
14876    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14877    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14878    pub fn gtk_flow_box_bind_model(
14879        box_: *mut GtkFlowBox,
14880        model: *mut gio::GListModel,
14881        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14882        user_data: gpointer,
14883        user_data_free_func: glib::GDestroyNotify,
14884    );
14885    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14886    pub fn gtk_flow_box_get_child_at_index(
14887        box_: *mut GtkFlowBox,
14888        idx: c_int,
14889    ) -> *mut GtkFlowBoxChild;
14890    pub fn gtk_flow_box_get_child_at_pos(
14891        box_: *mut GtkFlowBox,
14892        x: c_int,
14893        y: c_int,
14894    ) -> *mut GtkFlowBoxChild;
14895    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14896    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14897    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14898    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14899    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14900    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14901    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14902    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14903    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14904    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14905    #[cfg(feature = "v4_6")]
14906    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14907    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14908    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14909    #[cfg(feature = "v4_12")]
14910    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14911    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14912    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14913    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14914    pub fn gtk_flow_box_selected_foreach(
14915        box_: *mut GtkFlowBox,
14916        func: GtkFlowBoxForeachFunc,
14917        data: gpointer,
14918    );
14919    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14920    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14921    pub fn gtk_flow_box_set_filter_func(
14922        box_: *mut GtkFlowBox,
14923        filter_func: GtkFlowBoxFilterFunc,
14924        user_data: gpointer,
14925        destroy: glib::GDestroyNotify,
14926    );
14927    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14928    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14929    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14930    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14931    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14932    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14933    pub fn gtk_flow_box_set_sort_func(
14934        box_: *mut GtkFlowBox,
14935        sort_func: GtkFlowBoxSortFunc,
14936        user_data: gpointer,
14937        destroy: glib::GDestroyNotify,
14938    );
14939    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14940    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14941    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14942
14943    //=========================================================================
14944    // GtkFlowBoxChild
14945    //=========================================================================
14946    pub fn gtk_flow_box_child_get_type() -> GType;
14947    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14948    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14949    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14950    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14951    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14952    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14953
14954    //=========================================================================
14955    // GtkFontButton
14956    //=========================================================================
14957    pub fn gtk_font_button_get_type() -> GType;
14958    pub fn gtk_font_button_new() -> *mut GtkWidget;
14959    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14960    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14961    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14962    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14963    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14964    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14965    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14966    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14967    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14968
14969    //=========================================================================
14970    // GtkFontChooserDialog
14971    //=========================================================================
14972    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14973    pub fn gtk_font_chooser_dialog_new(
14974        title: *const c_char,
14975        parent: *mut GtkWindow,
14976    ) -> *mut GtkWidget;
14977
14978    //=========================================================================
14979    // GtkFontChooserWidget
14980    //=========================================================================
14981    pub fn gtk_font_chooser_widget_get_type() -> GType;
14982    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14983
14984    //=========================================================================
14985    // GtkFontDialog
14986    //=========================================================================
14987    #[cfg(feature = "v4_10")]
14988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14989    pub fn gtk_font_dialog_get_type() -> GType;
14990    #[cfg(feature = "v4_10")]
14991    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14992    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14993    #[cfg(feature = "v4_10")]
14994    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14995    pub fn gtk_font_dialog_choose_face(
14996        self_: *mut GtkFontDialog,
14997        parent: *mut GtkWindow,
14998        initial_value: *mut pango::PangoFontFace,
14999        cancellable: *mut gio::GCancellable,
15000        callback: gio::GAsyncReadyCallback,
15001        user_data: gpointer,
15002    );
15003    #[cfg(feature = "v4_10")]
15004    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15005    pub fn gtk_font_dialog_choose_face_finish(
15006        self_: *mut GtkFontDialog,
15007        result: *mut gio::GAsyncResult,
15008        error: *mut *mut glib::GError,
15009    ) -> *mut pango::PangoFontFace;
15010    #[cfg(feature = "v4_10")]
15011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15012    pub fn gtk_font_dialog_choose_family(
15013        self_: *mut GtkFontDialog,
15014        parent: *mut GtkWindow,
15015        initial_value: *mut pango::PangoFontFamily,
15016        cancellable: *mut gio::GCancellable,
15017        callback: gio::GAsyncReadyCallback,
15018        user_data: gpointer,
15019    );
15020    #[cfg(feature = "v4_10")]
15021    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15022    pub fn gtk_font_dialog_choose_family_finish(
15023        self_: *mut GtkFontDialog,
15024        result: *mut gio::GAsyncResult,
15025        error: *mut *mut glib::GError,
15026    ) -> *mut pango::PangoFontFamily;
15027    #[cfg(feature = "v4_10")]
15028    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15029    pub fn gtk_font_dialog_choose_font(
15030        self_: *mut GtkFontDialog,
15031        parent: *mut GtkWindow,
15032        initial_value: *mut pango::PangoFontDescription,
15033        cancellable: *mut gio::GCancellable,
15034        callback: gio::GAsyncReadyCallback,
15035        user_data: gpointer,
15036    );
15037    #[cfg(feature = "v4_10")]
15038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15039    pub fn gtk_font_dialog_choose_font_and_features(
15040        self_: *mut GtkFontDialog,
15041        parent: *mut GtkWindow,
15042        initial_value: *mut pango::PangoFontDescription,
15043        cancellable: *mut gio::GCancellable,
15044        callback: gio::GAsyncReadyCallback,
15045        user_data: gpointer,
15046    );
15047    #[cfg(feature = "v4_10")]
15048    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15049    pub fn gtk_font_dialog_choose_font_and_features_finish(
15050        self_: *mut GtkFontDialog,
15051        result: *mut gio::GAsyncResult,
15052        font_desc: *mut *mut pango::PangoFontDescription,
15053        font_features: *mut *mut c_char,
15054        language: *mut *mut pango::PangoLanguage,
15055        error: *mut *mut glib::GError,
15056    ) -> gboolean;
15057    #[cfg(feature = "v4_10")]
15058    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15059    pub fn gtk_font_dialog_choose_font_finish(
15060        self_: *mut GtkFontDialog,
15061        result: *mut gio::GAsyncResult,
15062        error: *mut *mut glib::GError,
15063    ) -> *mut pango::PangoFontDescription;
15064    #[cfg(feature = "v4_10")]
15065    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15066    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
15067    #[cfg(feature = "v4_10")]
15068    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15069    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
15070    #[cfg(feature = "v4_10")]
15071    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15072    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
15073    #[cfg(feature = "v4_10")]
15074    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15075    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
15076    #[cfg(feature = "v4_10")]
15077    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15078    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
15079    #[cfg(feature = "v4_10")]
15080    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15081    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
15082    #[cfg(feature = "v4_10")]
15083    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15084    pub fn gtk_font_dialog_set_font_map(
15085        self_: *mut GtkFontDialog,
15086        fontmap: *mut pango::PangoFontMap,
15087    );
15088    #[cfg(feature = "v4_10")]
15089    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15090    pub fn gtk_font_dialog_set_language(
15091        self_: *mut GtkFontDialog,
15092        language: *mut pango::PangoLanguage,
15093    );
15094    #[cfg(feature = "v4_10")]
15095    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15096    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
15097    #[cfg(feature = "v4_10")]
15098    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15099    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
15100
15101    //=========================================================================
15102    // GtkFontDialogButton
15103    //=========================================================================
15104    #[cfg(feature = "v4_10")]
15105    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15106    pub fn gtk_font_dialog_button_get_type() -> GType;
15107    #[cfg(feature = "v4_10")]
15108    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15109    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
15110    #[cfg(feature = "v4_10")]
15111    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15112    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
15113    -> *mut GtkFontDialog;
15114    #[cfg(feature = "v4_10")]
15115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15116    pub fn gtk_font_dialog_button_get_font_desc(
15117        self_: *mut GtkFontDialogButton,
15118    ) -> *mut pango::PangoFontDescription;
15119    #[cfg(feature = "v4_10")]
15120    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15121    pub fn gtk_font_dialog_button_get_font_features(
15122        self_: *mut GtkFontDialogButton,
15123    ) -> *const c_char;
15124    #[cfg(feature = "v4_10")]
15125    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15126    pub fn gtk_font_dialog_button_get_language(
15127        self_: *mut GtkFontDialogButton,
15128    ) -> *mut pango::PangoLanguage;
15129    #[cfg(feature = "v4_10")]
15130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15131    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
15132    #[cfg(feature = "v4_10")]
15133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15134    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15135    #[cfg(feature = "v4_10")]
15136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15137    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15138    #[cfg(feature = "v4_10")]
15139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15140    pub fn gtk_font_dialog_button_set_dialog(
15141        self_: *mut GtkFontDialogButton,
15142        dialog: *mut GtkFontDialog,
15143    );
15144    #[cfg(feature = "v4_10")]
15145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15146    pub fn gtk_font_dialog_button_set_font_desc(
15147        self_: *mut GtkFontDialogButton,
15148        font_desc: *const pango::PangoFontDescription,
15149    );
15150    #[cfg(feature = "v4_10")]
15151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15152    pub fn gtk_font_dialog_button_set_font_features(
15153        self_: *mut GtkFontDialogButton,
15154        font_features: *const c_char,
15155    );
15156    #[cfg(feature = "v4_10")]
15157    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15158    pub fn gtk_font_dialog_button_set_language(
15159        self_: *mut GtkFontDialogButton,
15160        language: *mut pango::PangoLanguage,
15161    );
15162    #[cfg(feature = "v4_10")]
15163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15164    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15165    #[cfg(feature = "v4_10")]
15166    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15167    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15168    #[cfg(feature = "v4_10")]
15169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15170    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15171
15172    //=========================================================================
15173    // GtkFrame
15174    //=========================================================================
15175    pub fn gtk_frame_get_type() -> GType;
15176    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15177    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15178    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15179    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15180    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15181    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15182    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15183    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15184    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15185
15186    //=========================================================================
15187    // GtkGLArea
15188    //=========================================================================
15189    pub fn gtk_gl_area_get_type() -> GType;
15190    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15191    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15192    #[cfg(feature = "v4_12")]
15193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15194    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15195    #[cfg(feature = "v4_12")]
15196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15197    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15198    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15199    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15200    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15201    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15202    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15203    pub fn gtk_gl_area_get_required_version(
15204        area: *mut GtkGLArea,
15205        major: *mut c_int,
15206        minor: *mut c_int,
15207    );
15208    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15209    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15210    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15211    #[cfg(feature = "v4_12")]
15212    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15213    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15214    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15215    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15216    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15217    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15218    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15219    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15220
15221    //=========================================================================
15222    // GtkGesture
15223    //=========================================================================
15224    pub fn gtk_gesture_get_type() -> GType;
15225    pub fn gtk_gesture_get_bounding_box(
15226        gesture: *mut GtkGesture,
15227        rect: *mut gdk::GdkRectangle,
15228    ) -> gboolean;
15229    pub fn gtk_gesture_get_bounding_box_center(
15230        gesture: *mut GtkGesture,
15231        x: *mut c_double,
15232        y: *mut c_double,
15233    ) -> gboolean;
15234    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15235    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15236    pub fn gtk_gesture_get_last_event(
15237        gesture: *mut GtkGesture,
15238        sequence: *mut gdk::GdkEventSequence,
15239    ) -> *mut gdk::GdkEvent;
15240    pub fn gtk_gesture_get_last_updated_sequence(
15241        gesture: *mut GtkGesture,
15242    ) -> *mut gdk::GdkEventSequence;
15243    pub fn gtk_gesture_get_point(
15244        gesture: *mut GtkGesture,
15245        sequence: *mut gdk::GdkEventSequence,
15246        x: *mut c_double,
15247        y: *mut c_double,
15248    ) -> gboolean;
15249    pub fn gtk_gesture_get_sequence_state(
15250        gesture: *mut GtkGesture,
15251        sequence: *mut gdk::GdkEventSequence,
15252    ) -> GtkEventSequenceState;
15253    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15254    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15255    pub fn gtk_gesture_handles_sequence(
15256        gesture: *mut GtkGesture,
15257        sequence: *mut gdk::GdkEventSequence,
15258    ) -> gboolean;
15259    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15260    pub fn gtk_gesture_is_grouped_with(
15261        gesture: *mut GtkGesture,
15262        other: *mut GtkGesture,
15263    ) -> gboolean;
15264    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15265    pub fn gtk_gesture_set_sequence_state(
15266        gesture: *mut GtkGesture,
15267        sequence: *mut gdk::GdkEventSequence,
15268        state: GtkEventSequenceState,
15269    ) -> gboolean;
15270    pub fn gtk_gesture_set_state(
15271        gesture: *mut GtkGesture,
15272        state: GtkEventSequenceState,
15273    ) -> gboolean;
15274    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15275
15276    //=========================================================================
15277    // GtkGestureClick
15278    //=========================================================================
15279    pub fn gtk_gesture_click_get_type() -> GType;
15280    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15281
15282    //=========================================================================
15283    // GtkGestureDrag
15284    //=========================================================================
15285    pub fn gtk_gesture_drag_get_type() -> GType;
15286    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15287    pub fn gtk_gesture_drag_get_offset(
15288        gesture: *mut GtkGestureDrag,
15289        x: *mut c_double,
15290        y: *mut c_double,
15291    ) -> gboolean;
15292    pub fn gtk_gesture_drag_get_start_point(
15293        gesture: *mut GtkGestureDrag,
15294        x: *mut c_double,
15295        y: *mut c_double,
15296    ) -> gboolean;
15297
15298    //=========================================================================
15299    // GtkGestureLongPress
15300    //=========================================================================
15301    pub fn gtk_gesture_long_press_get_type() -> GType;
15302    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15303    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15304    pub fn gtk_gesture_long_press_set_delay_factor(
15305        gesture: *mut GtkGestureLongPress,
15306        delay_factor: c_double,
15307    );
15308
15309    //=========================================================================
15310    // GtkGesturePan
15311    //=========================================================================
15312    pub fn gtk_gesture_pan_get_type() -> GType;
15313    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15314    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15315    pub fn gtk_gesture_pan_set_orientation(
15316        gesture: *mut GtkGesturePan,
15317        orientation: GtkOrientation,
15318    );
15319
15320    //=========================================================================
15321    // GtkGestureRotate
15322    //=========================================================================
15323    pub fn gtk_gesture_rotate_get_type() -> GType;
15324    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15325    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15326
15327    //=========================================================================
15328    // GtkGestureSingle
15329    //=========================================================================
15330    pub fn gtk_gesture_single_get_type() -> GType;
15331    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15332    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15333    pub fn gtk_gesture_single_get_current_sequence(
15334        gesture: *mut GtkGestureSingle,
15335    ) -> *mut gdk::GdkEventSequence;
15336    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15337    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15338    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15339    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15340    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15341
15342    //=========================================================================
15343    // GtkGestureStylus
15344    //=========================================================================
15345    pub fn gtk_gesture_stylus_get_type() -> GType;
15346    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15347    pub fn gtk_gesture_stylus_get_axes(
15348        gesture: *mut GtkGestureStylus,
15349        axes: *mut gdk::GdkAxisUse,
15350        values: *mut *mut c_double,
15351    ) -> gboolean;
15352    pub fn gtk_gesture_stylus_get_axis(
15353        gesture: *mut GtkGestureStylus,
15354        axis: gdk::GdkAxisUse,
15355        value: *mut c_double,
15356    ) -> gboolean;
15357    pub fn gtk_gesture_stylus_get_backlog(
15358        gesture: *mut GtkGestureStylus,
15359        backlog: *mut *mut gdk::GdkTimeCoord,
15360        n_elems: *mut c_uint,
15361    ) -> gboolean;
15362    pub fn gtk_gesture_stylus_get_device_tool(
15363        gesture: *mut GtkGestureStylus,
15364    ) -> *mut gdk::GdkDeviceTool;
15365    #[cfg(feature = "v4_10")]
15366    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15367    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15368    #[cfg(feature = "v4_10")]
15369    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15370    pub fn gtk_gesture_stylus_set_stylus_only(
15371        gesture: *mut GtkGestureStylus,
15372        stylus_only: gboolean,
15373    );
15374
15375    //=========================================================================
15376    // GtkGestureSwipe
15377    //=========================================================================
15378    pub fn gtk_gesture_swipe_get_type() -> GType;
15379    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15380    pub fn gtk_gesture_swipe_get_velocity(
15381        gesture: *mut GtkGestureSwipe,
15382        velocity_x: *mut c_double,
15383        velocity_y: *mut c_double,
15384    ) -> gboolean;
15385
15386    //=========================================================================
15387    // GtkGestureZoom
15388    //=========================================================================
15389    pub fn gtk_gesture_zoom_get_type() -> GType;
15390    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15391    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15392
15393    //=========================================================================
15394    // GtkGraphicsOffload
15395    //=========================================================================
15396    #[cfg(feature = "v4_14")]
15397    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15398    pub fn gtk_graphics_offload_get_type() -> GType;
15399    #[cfg(feature = "v4_14")]
15400    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15401    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15402    #[cfg(feature = "v4_16")]
15403    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15404    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15405    #[cfg(feature = "v4_14")]
15406    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15407    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15408    #[cfg(feature = "v4_14")]
15409    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15410    pub fn gtk_graphics_offload_get_enabled(
15411        self_: *mut GtkGraphicsOffload,
15412    ) -> GtkGraphicsOffloadEnabled;
15413    #[cfg(feature = "v4_16")]
15414    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15415    pub fn gtk_graphics_offload_set_black_background(
15416        self_: *mut GtkGraphicsOffload,
15417        value: gboolean,
15418    );
15419    #[cfg(feature = "v4_14")]
15420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15421    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15422    #[cfg(feature = "v4_14")]
15423    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15424    pub fn gtk_graphics_offload_set_enabled(
15425        self_: *mut GtkGraphicsOffload,
15426        enabled: GtkGraphicsOffloadEnabled,
15427    );
15428
15429    //=========================================================================
15430    // GtkGrid
15431    //=========================================================================
15432    pub fn gtk_grid_get_type() -> GType;
15433    pub fn gtk_grid_new() -> *mut GtkWidget;
15434    pub fn gtk_grid_attach(
15435        grid: *mut GtkGrid,
15436        child: *mut GtkWidget,
15437        column: c_int,
15438        row: c_int,
15439        width: c_int,
15440        height: c_int,
15441    );
15442    pub fn gtk_grid_attach_next_to(
15443        grid: *mut GtkGrid,
15444        child: *mut GtkWidget,
15445        sibling: *mut GtkWidget,
15446        side: GtkPositionType,
15447        width: c_int,
15448        height: c_int,
15449    );
15450    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15451    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15452    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15453    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15454    pub fn gtk_grid_get_row_baseline_position(
15455        grid: *mut GtkGrid,
15456        row: c_int,
15457    ) -> GtkBaselinePosition;
15458    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15459    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15460    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15461    pub fn gtk_grid_insert_next_to(
15462        grid: *mut GtkGrid,
15463        sibling: *mut GtkWidget,
15464        side: GtkPositionType,
15465    );
15466    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15467    pub fn gtk_grid_query_child(
15468        grid: *mut GtkGrid,
15469        child: *mut GtkWidget,
15470        column: *mut c_int,
15471        row: *mut c_int,
15472        width: *mut c_int,
15473        height: *mut c_int,
15474    );
15475    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15476    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15477    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15478    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15479    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15480    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15481    pub fn gtk_grid_set_row_baseline_position(
15482        grid: *mut GtkGrid,
15483        row: c_int,
15484        pos: GtkBaselinePosition,
15485    );
15486    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15487    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15488
15489    //=========================================================================
15490    // GtkGridLayout
15491    //=========================================================================
15492    pub fn gtk_grid_layout_get_type() -> GType;
15493    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15494    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15495    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15496    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15497    pub fn gtk_grid_layout_get_row_baseline_position(
15498        grid: *mut GtkGridLayout,
15499        row: c_int,
15500    ) -> GtkBaselinePosition;
15501    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15502    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15503    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15504    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15505    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15506    pub fn gtk_grid_layout_set_row_baseline_position(
15507        grid: *mut GtkGridLayout,
15508        row: c_int,
15509        pos: GtkBaselinePosition,
15510    );
15511    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15512    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15513
15514    //=========================================================================
15515    // GtkGridLayoutChild
15516    //=========================================================================
15517    pub fn gtk_grid_layout_child_get_type() -> GType;
15518    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15519    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15520    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15521    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15522    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15523    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15524    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15525    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15526
15527    //=========================================================================
15528    // GtkGridView
15529    //=========================================================================
15530    pub fn gtk_grid_view_get_type() -> GType;
15531    pub fn gtk_grid_view_new(
15532        model: *mut GtkSelectionModel,
15533        factory: *mut GtkListItemFactory,
15534    ) -> *mut GtkWidget;
15535    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15536    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15537    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15538    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15539    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15540    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15541    #[cfg(feature = "v4_12")]
15542    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15543    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15544    #[cfg(feature = "v4_12")]
15545    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15546    pub fn gtk_grid_view_scroll_to(
15547        self_: *mut GtkGridView,
15548        pos: c_uint,
15549        flags: GtkListScrollFlags,
15550        scroll: *mut GtkScrollInfo,
15551    );
15552    pub fn gtk_grid_view_set_enable_rubberband(
15553        self_: *mut GtkGridView,
15554        enable_rubberband: gboolean,
15555    );
15556    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15557    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15558    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15559    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15560    pub fn gtk_grid_view_set_single_click_activate(
15561        self_: *mut GtkGridView,
15562        single_click_activate: gboolean,
15563    );
15564    #[cfg(feature = "v4_12")]
15565    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15566    pub fn gtk_grid_view_set_tab_behavior(
15567        self_: *mut GtkGridView,
15568        tab_behavior: GtkListTabBehavior,
15569    );
15570
15571    //=========================================================================
15572    // GtkHeaderBar
15573    //=========================================================================
15574    pub fn gtk_header_bar_get_type() -> GType;
15575    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15576    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15577    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15578    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15579    #[cfg(feature = "v4_18")]
15580    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15581    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15582    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15583    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15584    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15585    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15586    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15587    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15588    #[cfg(feature = "v4_18")]
15589    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15590    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15591
15592    //=========================================================================
15593    // GtkIMContext
15594    //=========================================================================
15595    pub fn gtk_im_context_get_type() -> GType;
15596    #[cfg(feature = "v4_14")]
15597    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15598    pub fn gtk_im_context_activate_osk(
15599        context: *mut GtkIMContext,
15600        event: *mut gdk::GdkEvent,
15601    ) -> gboolean;
15602    pub fn gtk_im_context_delete_surrounding(
15603        context: *mut GtkIMContext,
15604        offset: c_int,
15605        n_chars: c_int,
15606    ) -> gboolean;
15607    pub fn gtk_im_context_filter_key(
15608        context: *mut GtkIMContext,
15609        press: gboolean,
15610        surface: *mut gdk::GdkSurface,
15611        device: *mut gdk::GdkDevice,
15612        time: u32,
15613        keycode: c_uint,
15614        state: gdk::GdkModifierType,
15615        group: c_int,
15616    ) -> gboolean;
15617    pub fn gtk_im_context_filter_keypress(
15618        context: *mut GtkIMContext,
15619        event: *mut gdk::GdkEvent,
15620    ) -> gboolean;
15621    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15622    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15623    pub fn gtk_im_context_get_preedit_string(
15624        context: *mut GtkIMContext,
15625        str: *mut *mut c_char,
15626        attrs: *mut *mut pango::PangoAttrList,
15627        cursor_pos: *mut c_int,
15628    );
15629    pub fn gtk_im_context_get_surrounding(
15630        context: *mut GtkIMContext,
15631        text: *mut *mut c_char,
15632        cursor_index: *mut c_int,
15633    ) -> gboolean;
15634    #[cfg(feature = "v4_2")]
15635    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15636    pub fn gtk_im_context_get_surrounding_with_selection(
15637        context: *mut GtkIMContext,
15638        text: *mut *mut c_char,
15639        cursor_index: *mut c_int,
15640        anchor_index: *mut c_int,
15641    ) -> gboolean;
15642    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15643    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15644    pub fn gtk_im_context_set_cursor_location(
15645        context: *mut GtkIMContext,
15646        area: *const gdk::GdkRectangle,
15647    );
15648    pub fn gtk_im_context_set_surrounding(
15649        context: *mut GtkIMContext,
15650        text: *const c_char,
15651        len: c_int,
15652        cursor_index: c_int,
15653    );
15654    #[cfg(feature = "v4_2")]
15655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15656    pub fn gtk_im_context_set_surrounding_with_selection(
15657        context: *mut GtkIMContext,
15658        text: *const c_char,
15659        len: c_int,
15660        cursor_index: c_int,
15661        anchor_index: c_int,
15662    );
15663    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15664
15665    //=========================================================================
15666    // GtkIMContextSimple
15667    //=========================================================================
15668    pub fn gtk_im_context_simple_get_type() -> GType;
15669    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15670    pub fn gtk_im_context_simple_add_compose_file(
15671        context_simple: *mut GtkIMContextSimple,
15672        compose_file: *const c_char,
15673    );
15674    pub fn gtk_im_context_simple_add_table(
15675        context_simple: *mut GtkIMContextSimple,
15676        data: *mut u16,
15677        max_seq_len: c_int,
15678        n_seqs: c_int,
15679    );
15680
15681    //=========================================================================
15682    // GtkIMMulticontext
15683    //=========================================================================
15684    pub fn gtk_im_multicontext_get_type() -> GType;
15685    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15686    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15687    pub fn gtk_im_multicontext_set_context_id(
15688        context: *mut GtkIMMulticontext,
15689        context_id: *const c_char,
15690    );
15691
15692    //=========================================================================
15693    // GtkIconPaintable
15694    //=========================================================================
15695    pub fn gtk_icon_paintable_get_type() -> GType;
15696    pub fn gtk_icon_paintable_new_for_file(
15697        file: *mut gio::GFile,
15698        size: c_int,
15699        scale: c_int,
15700    ) -> *mut GtkIconPaintable;
15701    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15702    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15703    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15704
15705    //=========================================================================
15706    // GtkIconTheme
15707    //=========================================================================
15708    pub fn gtk_icon_theme_get_type() -> GType;
15709    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15710    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15711    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15712    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15713    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15714    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15715    pub fn gtk_icon_theme_get_icon_sizes(
15716        self_: *mut GtkIconTheme,
15717        icon_name: *const c_char,
15718    ) -> *mut c_int;
15719    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15720    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15721    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15722    #[cfg(feature = "v4_2")]
15723    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15724    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15725    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15726    pub fn gtk_icon_theme_lookup_by_gicon(
15727        self_: *mut GtkIconTheme,
15728        icon: *mut gio::GIcon,
15729        size: c_int,
15730        scale: c_int,
15731        direction: GtkTextDirection,
15732        flags: GtkIconLookupFlags,
15733    ) -> *mut GtkIconPaintable;
15734    pub fn gtk_icon_theme_lookup_icon(
15735        self_: *mut GtkIconTheme,
15736        icon_name: *const c_char,
15737        fallbacks: *mut *const c_char,
15738        size: c_int,
15739        scale: c_int,
15740        direction: GtkTextDirection,
15741        flags: GtkIconLookupFlags,
15742    ) -> *mut GtkIconPaintable;
15743    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15744    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15745    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15746
15747    //=========================================================================
15748    // GtkIconView
15749    //=========================================================================
15750    pub fn gtk_icon_view_get_type() -> GType;
15751    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15752    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15753    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15754    pub fn gtk_icon_view_create_drag_icon(
15755        icon_view: *mut GtkIconView,
15756        path: *mut GtkTreePath,
15757    ) -> *mut gdk::GdkPaintable;
15758    pub fn gtk_icon_view_enable_model_drag_dest(
15759        icon_view: *mut GtkIconView,
15760        formats: *mut gdk::GdkContentFormats,
15761        actions: gdk::GdkDragAction,
15762    );
15763    pub fn gtk_icon_view_enable_model_drag_source(
15764        icon_view: *mut GtkIconView,
15765        start_button_mask: gdk::GdkModifierType,
15766        formats: *mut gdk::GdkContentFormats,
15767        actions: gdk::GdkDragAction,
15768    );
15769    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15770    pub fn gtk_icon_view_get_cell_rect(
15771        icon_view: *mut GtkIconView,
15772        path: *mut GtkTreePath,
15773        cell: *mut GtkCellRenderer,
15774        rect: *mut gdk::GdkRectangle,
15775    ) -> gboolean;
15776    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15777    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15778    pub fn gtk_icon_view_get_cursor(
15779        icon_view: *mut GtkIconView,
15780        path: *mut *mut GtkTreePath,
15781        cell: *mut *mut GtkCellRenderer,
15782    ) -> gboolean;
15783    pub fn gtk_icon_view_get_dest_item_at_pos(
15784        icon_view: *mut GtkIconView,
15785        drag_x: c_int,
15786        drag_y: c_int,
15787        path: *mut *mut GtkTreePath,
15788        pos: *mut GtkIconViewDropPosition,
15789    ) -> gboolean;
15790    pub fn gtk_icon_view_get_drag_dest_item(
15791        icon_view: *mut GtkIconView,
15792        path: *mut *mut GtkTreePath,
15793        pos: *mut GtkIconViewDropPosition,
15794    );
15795    pub fn gtk_icon_view_get_item_at_pos(
15796        icon_view: *mut GtkIconView,
15797        x: c_int,
15798        y: c_int,
15799        path: *mut *mut GtkTreePath,
15800        cell: *mut *mut GtkCellRenderer,
15801    ) -> gboolean;
15802    pub fn gtk_icon_view_get_item_column(
15803        icon_view: *mut GtkIconView,
15804        path: *mut GtkTreePath,
15805    ) -> c_int;
15806    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15807    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15808    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15809    -> c_int;
15810    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15811    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15812    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15813    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15814    pub fn gtk_icon_view_get_path_at_pos(
15815        icon_view: *mut GtkIconView,
15816        x: c_int,
15817        y: c_int,
15818    ) -> *mut GtkTreePath;
15819    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15820    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15821    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15822    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15823    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15824    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15825    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15826    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15827    pub fn gtk_icon_view_get_tooltip_context(
15828        icon_view: *mut GtkIconView,
15829        x: c_int,
15830        y: c_int,
15831        keyboard_tip: gboolean,
15832        model: *mut *mut GtkTreeModel,
15833        path: *mut *mut GtkTreePath,
15834        iter: *mut GtkTreeIter,
15835    ) -> gboolean;
15836    pub fn gtk_icon_view_get_visible_range(
15837        icon_view: *mut GtkIconView,
15838        start_path: *mut *mut GtkTreePath,
15839        end_path: *mut *mut GtkTreePath,
15840    ) -> gboolean;
15841    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15842    pub fn gtk_icon_view_path_is_selected(
15843        icon_view: *mut GtkIconView,
15844        path: *mut GtkTreePath,
15845    ) -> gboolean;
15846    pub fn gtk_icon_view_scroll_to_path(
15847        icon_view: *mut GtkIconView,
15848        path: *mut GtkTreePath,
15849        use_align: gboolean,
15850        row_align: c_float,
15851        col_align: c_float,
15852    );
15853    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15854    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15855    pub fn gtk_icon_view_selected_foreach(
15856        icon_view: *mut GtkIconView,
15857        func: GtkIconViewForeachFunc,
15858        data: gpointer,
15859    );
15860    pub fn gtk_icon_view_set_activate_on_single_click(
15861        icon_view: *mut GtkIconView,
15862        single: gboolean,
15863    );
15864    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15865    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15866    pub fn gtk_icon_view_set_cursor(
15867        icon_view: *mut GtkIconView,
15868        path: *mut GtkTreePath,
15869        cell: *mut GtkCellRenderer,
15870        start_editing: gboolean,
15871    );
15872    pub fn gtk_icon_view_set_drag_dest_item(
15873        icon_view: *mut GtkIconView,
15874        path: *mut GtkTreePath,
15875        pos: GtkIconViewDropPosition,
15876    );
15877    pub fn gtk_icon_view_set_item_orientation(
15878        icon_view: *mut GtkIconView,
15879        orientation: GtkOrientation,
15880    );
15881    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15882    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15883    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15884    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15885    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15886    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15887    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15888    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15889    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15890    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15891    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15892    pub fn gtk_icon_view_set_tooltip_cell(
15893        icon_view: *mut GtkIconView,
15894        tooltip: *mut GtkTooltip,
15895        path: *mut GtkTreePath,
15896        cell: *mut GtkCellRenderer,
15897    );
15898    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15899    pub fn gtk_icon_view_set_tooltip_item(
15900        icon_view: *mut GtkIconView,
15901        tooltip: *mut GtkTooltip,
15902        path: *mut GtkTreePath,
15903    );
15904    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15905    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15906    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15907    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15908
15909    //=========================================================================
15910    // GtkImage
15911    //=========================================================================
15912    pub fn gtk_image_get_type() -> GType;
15913    pub fn gtk_image_new() -> *mut GtkWidget;
15914    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15915    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15916    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15917    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15918    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15919    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15920    pub fn gtk_image_clear(image: *mut GtkImage);
15921    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15922    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15923    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15924    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15925    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15926    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15927    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15928    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15929    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15930    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15931    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15932    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15933    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15934    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15935
15936    //=========================================================================
15937    // GtkInfoBar
15938    //=========================================================================
15939    pub fn gtk_info_bar_get_type() -> GType;
15940    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15941    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15942    pub fn gtk_info_bar_add_action_widget(
15943        info_bar: *mut GtkInfoBar,
15944        child: *mut GtkWidget,
15945        response_id: GtkResponseType,
15946    );
15947    pub fn gtk_info_bar_add_button(
15948        info_bar: *mut GtkInfoBar,
15949        button_text: *const c_char,
15950        response_id: GtkResponseType,
15951    ) -> *mut GtkButton;
15952    pub fn gtk_info_bar_add_buttons(
15953        info_bar: *mut GtkInfoBar,
15954        first_button_text: *const c_char,
15955        ...
15956    );
15957    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15958    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15959    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15960    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15961    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15962    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15963    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15964    pub fn gtk_info_bar_set_default_response(
15965        info_bar: *mut GtkInfoBar,
15966        response_id: GtkResponseType,
15967    );
15968    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15969    pub fn gtk_info_bar_set_response_sensitive(
15970        info_bar: *mut GtkInfoBar,
15971        response_id: GtkResponseType,
15972        setting: gboolean,
15973    );
15974    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15975    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15976
15977    //=========================================================================
15978    // GtkInscription
15979    //=========================================================================
15980    #[cfg(feature = "v4_8")]
15981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15982    pub fn gtk_inscription_get_type() -> GType;
15983    #[cfg(feature = "v4_8")]
15984    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15985    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15986    #[cfg(feature = "v4_8")]
15987    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15988    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15989    #[cfg(feature = "v4_8")]
15990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15991    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15992    #[cfg(feature = "v4_8")]
15993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15994    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15995    #[cfg(feature = "v4_8")]
15996    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15997    pub fn gtk_inscription_get_nat_chars(self_: *mut GtkInscription) -> c_uint;
15998    #[cfg(feature = "v4_8")]
15999    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16000    pub fn gtk_inscription_get_nat_lines(self_: *mut GtkInscription) -> c_uint;
16001    #[cfg(feature = "v4_8")]
16002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16003    pub fn gtk_inscription_get_text(self_: *mut GtkInscription) -> *const c_char;
16004    #[cfg(feature = "v4_8")]
16005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16006    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
16007    #[cfg(feature = "v4_8")]
16008    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16009    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
16010    #[cfg(feature = "v4_8")]
16011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16012    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
16013    #[cfg(feature = "v4_8")]
16014    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16015    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
16016    #[cfg(feature = "v4_8")]
16017    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16018    pub fn gtk_inscription_set_attributes(
16019        self_: *mut GtkInscription,
16020        attrs: *mut pango::PangoAttrList,
16021    );
16022    #[cfg(feature = "v4_8")]
16023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16024    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
16025    #[cfg(feature = "v4_8")]
16026    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16027    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
16028    #[cfg(feature = "v4_8")]
16029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16030    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
16031    #[cfg(feature = "v4_8")]
16032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16033    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
16034    #[cfg(feature = "v4_8")]
16035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16036    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
16037    #[cfg(feature = "v4_8")]
16038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16039    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
16040    #[cfg(feature = "v4_8")]
16041    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16042    pub fn gtk_inscription_set_text_overflow(
16043        self_: *mut GtkInscription,
16044        overflow: GtkInscriptionOverflow,
16045    );
16046    #[cfg(feature = "v4_8")]
16047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16048    pub fn gtk_inscription_set_wrap_mode(
16049        self_: *mut GtkInscription,
16050        wrap_mode: pango::PangoWrapMode,
16051    );
16052    #[cfg(feature = "v4_8")]
16053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16054    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
16055    #[cfg(feature = "v4_8")]
16056    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16057    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
16058
16059    //=========================================================================
16060    // GtkKeyvalTrigger
16061    //=========================================================================
16062    pub fn gtk_keyval_trigger_get_type() -> GType;
16063    pub fn gtk_keyval_trigger_new(
16064        keyval: c_uint,
16065        modifiers: gdk::GdkModifierType,
16066    ) -> *mut GtkShortcutTrigger;
16067    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
16068    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
16069
16070    //=========================================================================
16071    // GtkLabel
16072    //=========================================================================
16073    pub fn gtk_label_get_type() -> GType;
16074    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
16075    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
16076    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
16077    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
16078    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
16079    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
16080    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
16081    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
16082    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
16083    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
16084    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
16085    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
16086    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
16087    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
16088    #[cfg(feature = "v4_6")]
16089    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16090    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
16091    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
16092    pub fn gtk_label_get_selection_bounds(
16093        self_: *mut GtkLabel,
16094        start: *mut c_int,
16095        end: *mut c_int,
16096    ) -> gboolean;
16097    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
16098    #[cfg(feature = "v4_8")]
16099    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16100    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
16101    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
16102    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
16103    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
16104    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
16105    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
16106    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
16107    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
16108    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
16109    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
16110    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
16111    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
16112    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
16113    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
16114    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
16115    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
16116    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
16117    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16118    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16119    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
16120    #[cfg(feature = "v4_6")]
16121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16122    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
16123    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
16124    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
16125    #[cfg(feature = "v4_8")]
16126    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16127    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
16128    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
16129    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16130    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
16131    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
16132    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16133    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16134    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16135    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16136    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16137
16138    //=========================================================================
16139    // GtkLayoutChild
16140    //=========================================================================
16141    pub fn gtk_layout_child_get_type() -> GType;
16142    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16143    pub fn gtk_layout_child_get_layout_manager(
16144        layout_child: *mut GtkLayoutChild,
16145    ) -> *mut GtkLayoutManager;
16146
16147    //=========================================================================
16148    // GtkLayoutManager
16149    //=========================================================================
16150    pub fn gtk_layout_manager_get_type() -> GType;
16151    pub fn gtk_layout_manager_allocate(
16152        manager: *mut GtkLayoutManager,
16153        widget: *mut GtkWidget,
16154        width: c_int,
16155        height: c_int,
16156        baseline: c_int,
16157    );
16158    pub fn gtk_layout_manager_get_layout_child(
16159        manager: *mut GtkLayoutManager,
16160        child: *mut GtkWidget,
16161    ) -> *mut GtkLayoutChild;
16162    pub fn gtk_layout_manager_get_request_mode(
16163        manager: *mut GtkLayoutManager,
16164    ) -> GtkSizeRequestMode;
16165    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16166    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16167    pub fn gtk_layout_manager_measure(
16168        manager: *mut GtkLayoutManager,
16169        widget: *mut GtkWidget,
16170        orientation: GtkOrientation,
16171        for_size: c_int,
16172        minimum: *mut c_int,
16173        natural: *mut c_int,
16174        minimum_baseline: *mut c_int,
16175        natural_baseline: *mut c_int,
16176    );
16177
16178    //=========================================================================
16179    // GtkLevelBar
16180    //=========================================================================
16181    pub fn gtk_level_bar_get_type() -> GType;
16182    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16183    pub fn gtk_level_bar_new_for_interval(
16184        min_value: c_double,
16185        max_value: c_double,
16186    ) -> *mut GtkWidget;
16187    pub fn gtk_level_bar_add_offset_value(
16188        self_: *mut GtkLevelBar,
16189        name: *const c_char,
16190        value: c_double,
16191    );
16192    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16193    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16194    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16195    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16196    pub fn gtk_level_bar_get_offset_value(
16197        self_: *mut GtkLevelBar,
16198        name: *const c_char,
16199        value: *mut c_double,
16200    ) -> gboolean;
16201    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16202    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16203    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16204    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16205    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16206    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16207    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16208
16209    //=========================================================================
16210    // GtkLinkButton
16211    //=========================================================================
16212    pub fn gtk_link_button_get_type() -> GType;
16213    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16214    pub fn gtk_link_button_new_with_label(
16215        uri: *const c_char,
16216        label: *const c_char,
16217    ) -> *mut GtkWidget;
16218    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16219    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16220    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16221    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16222
16223    //=========================================================================
16224    // GtkListBase
16225    //=========================================================================
16226    pub fn gtk_list_base_get_type() -> GType;
16227
16228    //=========================================================================
16229    // GtkListBox
16230    //=========================================================================
16231    pub fn gtk_list_box_get_type() -> GType;
16232    pub fn gtk_list_box_new() -> *mut GtkWidget;
16233    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16234    pub fn gtk_list_box_bind_model(
16235        box_: *mut GtkListBox,
16236        model: *mut gio::GListModel,
16237        create_widget_func: GtkListBoxCreateWidgetFunc,
16238        user_data: gpointer,
16239        user_data_free_func: glib::GDestroyNotify,
16240    );
16241    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16242    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16243    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16244    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16245    pub fn gtk_list_box_get_row_at_index(
16246        box_: *mut GtkListBox,
16247        index_: c_int,
16248    ) -> *mut GtkListBoxRow;
16249    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16250    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16251    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16252    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16253    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16254    #[cfg(feature = "v4_18")]
16255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16256    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16257    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16258    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16259    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16260    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16261    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16262    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16263    #[cfg(feature = "v4_12")]
16264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16265    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16266    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16267    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16268    pub fn gtk_list_box_selected_foreach(
16269        box_: *mut GtkListBox,
16270        func: GtkListBoxForeachFunc,
16271        data: gpointer,
16272    );
16273    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16274    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16275    pub fn gtk_list_box_set_filter_func(
16276        box_: *mut GtkListBox,
16277        filter_func: GtkListBoxFilterFunc,
16278        user_data: gpointer,
16279        destroy: glib::GDestroyNotify,
16280    );
16281    pub fn gtk_list_box_set_header_func(
16282        box_: *mut GtkListBox,
16283        update_header: GtkListBoxUpdateHeaderFunc,
16284        user_data: gpointer,
16285        destroy: glib::GDestroyNotify,
16286    );
16287    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16288    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16289    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16290    pub fn gtk_list_box_set_sort_func(
16291        box_: *mut GtkListBox,
16292        sort_func: GtkListBoxSortFunc,
16293        user_data: gpointer,
16294        destroy: glib::GDestroyNotify,
16295    );
16296    #[cfg(feature = "v4_18")]
16297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16298    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16299    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16300    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16301
16302    //=========================================================================
16303    // GtkListBoxRow
16304    //=========================================================================
16305    pub fn gtk_list_box_row_get_type() -> GType;
16306    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16307    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16308    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16309    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16310    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16311    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16312    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16313    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16314    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16315    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16316    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16317    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16318
16319    //=========================================================================
16320    // GtkListHeader
16321    //=========================================================================
16322    #[cfg(feature = "v4_12")]
16323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16324    pub fn gtk_list_header_get_type() -> GType;
16325    #[cfg(feature = "v4_12")]
16326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16327    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16328    #[cfg(feature = "v4_12")]
16329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16330    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16331    #[cfg(feature = "v4_12")]
16332    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16333    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16334    #[cfg(feature = "v4_12")]
16335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16336    pub fn gtk_list_header_get_n_items(self_: *mut GtkListHeader) -> c_uint;
16337    #[cfg(feature = "v4_12")]
16338    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16339    pub fn gtk_list_header_get_start(self_: *mut GtkListHeader) -> c_uint;
16340    #[cfg(feature = "v4_12")]
16341    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16342    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16343
16344    //=========================================================================
16345    // GtkListItem
16346    //=========================================================================
16347    pub fn gtk_list_item_get_type() -> GType;
16348    #[cfg(feature = "v4_12")]
16349    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16350    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16351    #[cfg(feature = "v4_12")]
16352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16353    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16354    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16355    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16356    #[cfg(feature = "v4_12")]
16357    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16358    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16359    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16360    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16361    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16362    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16363    #[cfg(feature = "v4_12")]
16364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16365    pub fn gtk_list_item_set_accessible_description(
16366        self_: *mut GtkListItem,
16367        description: *const c_char,
16368    );
16369    #[cfg(feature = "v4_12")]
16370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16371    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16372    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16373    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16374    #[cfg(feature = "v4_12")]
16375    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16376    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16377    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16378
16379    //=========================================================================
16380    // GtkListItemFactory
16381    //=========================================================================
16382    pub fn gtk_list_item_factory_get_type() -> GType;
16383
16384    //=========================================================================
16385    // GtkListStore
16386    //=========================================================================
16387    pub fn gtk_list_store_get_type() -> GType;
16388    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16389    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16390    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16391    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16392    pub fn gtk_list_store_insert(
16393        list_store: *mut GtkListStore,
16394        iter: *mut GtkTreeIter,
16395        position: c_int,
16396    );
16397    pub fn gtk_list_store_insert_after(
16398        list_store: *mut GtkListStore,
16399        iter: *mut GtkTreeIter,
16400        sibling: *mut GtkTreeIter,
16401    );
16402    pub fn gtk_list_store_insert_before(
16403        list_store: *mut GtkListStore,
16404        iter: *mut GtkTreeIter,
16405        sibling: *mut GtkTreeIter,
16406    );
16407    pub fn gtk_list_store_insert_with_values(
16408        list_store: *mut GtkListStore,
16409        iter: *mut GtkTreeIter,
16410        position: c_int,
16411        ...
16412    );
16413    pub fn gtk_list_store_insert_with_valuesv(
16414        list_store: *mut GtkListStore,
16415        iter: *mut GtkTreeIter,
16416        position: c_int,
16417        columns: *mut c_int,
16418        values: *mut gobject::GValue,
16419        n_values: c_int,
16420    );
16421    pub fn gtk_list_store_iter_is_valid(
16422        list_store: *mut GtkListStore,
16423        iter: *mut GtkTreeIter,
16424    ) -> gboolean;
16425    pub fn gtk_list_store_move_after(
16426        store: *mut GtkListStore,
16427        iter: *mut GtkTreeIter,
16428        position: *mut GtkTreeIter,
16429    );
16430    pub fn gtk_list_store_move_before(
16431        store: *mut GtkListStore,
16432        iter: *mut GtkTreeIter,
16433        position: *mut GtkTreeIter,
16434    );
16435    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16436    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16437    -> gboolean;
16438    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16439    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16440    pub fn gtk_list_store_set_column_types(
16441        list_store: *mut GtkListStore,
16442        n_columns: c_int,
16443        types: *mut GType,
16444    );
16445    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16446    pub fn gtk_list_store_set_value(
16447        list_store: *mut GtkListStore,
16448        iter: *mut GtkTreeIter,
16449        column: c_int,
16450        value: *mut gobject::GValue,
16451    );
16452    pub fn gtk_list_store_set_valuesv(
16453        list_store: *mut GtkListStore,
16454        iter: *mut GtkTreeIter,
16455        columns: *mut c_int,
16456        values: *mut gobject::GValue,
16457        n_values: c_int,
16458    );
16459    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16460
16461    //=========================================================================
16462    // GtkListView
16463    //=========================================================================
16464    pub fn gtk_list_view_get_type() -> GType;
16465    pub fn gtk_list_view_new(
16466        model: *mut GtkSelectionModel,
16467        factory: *mut GtkListItemFactory,
16468    ) -> *mut GtkWidget;
16469    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16470    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16471    #[cfg(feature = "v4_12")]
16472    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16473    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16474    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16475    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16476    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16477    #[cfg(feature = "v4_12")]
16478    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16479    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16480    #[cfg(feature = "v4_12")]
16481    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16482    pub fn gtk_list_view_scroll_to(
16483        self_: *mut GtkListView,
16484        pos: c_uint,
16485        flags: GtkListScrollFlags,
16486        scroll: *mut GtkScrollInfo,
16487    );
16488    pub fn gtk_list_view_set_enable_rubberband(
16489        self_: *mut GtkListView,
16490        enable_rubberband: gboolean,
16491    );
16492    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16493    #[cfg(feature = "v4_12")]
16494    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16495    pub fn gtk_list_view_set_header_factory(
16496        self_: *mut GtkListView,
16497        factory: *mut GtkListItemFactory,
16498    );
16499    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16500    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16501    pub fn gtk_list_view_set_single_click_activate(
16502        self_: *mut GtkListView,
16503        single_click_activate: gboolean,
16504    );
16505    #[cfg(feature = "v4_12")]
16506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16507    pub fn gtk_list_view_set_tab_behavior(
16508        self_: *mut GtkListView,
16509        tab_behavior: GtkListTabBehavior,
16510    );
16511
16512    //=========================================================================
16513    // GtkLockButton
16514    //=========================================================================
16515    pub fn gtk_lock_button_get_type() -> GType;
16516    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16517    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16518    pub fn gtk_lock_button_set_permission(
16519        button: *mut GtkLockButton,
16520        permission: *mut gio::GPermission,
16521    );
16522
16523    //=========================================================================
16524    // GtkMapListModel
16525    //=========================================================================
16526    pub fn gtk_map_list_model_get_type() -> GType;
16527    pub fn gtk_map_list_model_new(
16528        model: *mut gio::GListModel,
16529        map_func: GtkMapListModelMapFunc,
16530        user_data: gpointer,
16531        user_destroy: glib::GDestroyNotify,
16532    ) -> *mut GtkMapListModel;
16533    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16534    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16535    pub fn gtk_map_list_model_set_map_func(
16536        self_: *mut GtkMapListModel,
16537        map_func: GtkMapListModelMapFunc,
16538        user_data: gpointer,
16539        user_destroy: glib::GDestroyNotify,
16540    );
16541    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16542
16543    //=========================================================================
16544    // GtkMediaControls
16545    //=========================================================================
16546    pub fn gtk_media_controls_get_type() -> GType;
16547    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16548    pub fn gtk_media_controls_get_media_stream(
16549        controls: *mut GtkMediaControls,
16550    ) -> *mut GtkMediaStream;
16551    pub fn gtk_media_controls_set_media_stream(
16552        controls: *mut GtkMediaControls,
16553        stream: *mut GtkMediaStream,
16554    );
16555
16556    //=========================================================================
16557    // GtkMediaFile
16558    //=========================================================================
16559    pub fn gtk_media_file_get_type() -> GType;
16560    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16561    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16562    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16563    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16564    -> *mut GtkMediaFile;
16565    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16566    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16567    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16568    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16569    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16570    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16571    pub fn gtk_media_file_set_input_stream(
16572        self_: *mut GtkMediaFile,
16573        stream: *mut gio::GInputStream,
16574    );
16575    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16576
16577    //=========================================================================
16578    // GtkMediaStream
16579    //=========================================================================
16580    pub fn gtk_media_stream_get_type() -> GType;
16581    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16582    pub fn gtk_media_stream_error(
16583        self_: *mut GtkMediaStream,
16584        domain: glib::GQuark,
16585        code: c_int,
16586        format: *const c_char,
16587        ...
16588    );
16589    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16590    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16591    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16592    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16593    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16594    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16595    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16596    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16597    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16598    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16599    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16600    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16601    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16602    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16603    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16604    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16605    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16606    pub fn gtk_media_stream_prepared(
16607        self_: *mut GtkMediaStream,
16608        has_audio: gboolean,
16609        has_video: gboolean,
16610        seekable: gboolean,
16611        duration: i64,
16612    );
16613    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16614    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16615    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16616    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16617    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16618    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16619    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16620    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16621    #[cfg(feature = "v4_4")]
16622    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16623    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16624    #[cfg(feature = "v4_4")]
16625    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16626    pub fn gtk_media_stream_stream_prepared(
16627        self_: *mut GtkMediaStream,
16628        has_audio: gboolean,
16629        has_video: gboolean,
16630        seekable: gboolean,
16631        duration: i64,
16632    );
16633    #[cfg(feature = "v4_4")]
16634    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16635    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16636    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16637    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16638    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16639
16640    //=========================================================================
16641    // GtkMenuButton
16642    //=========================================================================
16643    pub fn gtk_menu_button_get_type() -> GType;
16644    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16645    #[cfg(feature = "v4_10")]
16646    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16647    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16648    #[cfg(feature = "v4_4")]
16649    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16650    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16651    #[cfg(feature = "v4_12")]
16652    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16653    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16654    #[cfg(feature = "v4_6")]
16655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16656    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16657    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16658    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16659    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16660    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16661    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16662    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16663    #[cfg(feature = "v4_4")]
16664    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16665    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16666    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16667    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16668    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16669    #[cfg(feature = "v4_10")]
16670    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16671    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16672    #[cfg(feature = "v4_4")]
16673    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16674    pub fn gtk_menu_button_set_always_show_arrow(
16675        menu_button: *mut GtkMenuButton,
16676        always_show_arrow: gboolean,
16677    );
16678    #[cfg(feature = "v4_12")]
16679    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16680    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16681    #[cfg(feature = "v4_6")]
16682    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16683    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16684    pub fn gtk_menu_button_set_create_popup_func(
16685        menu_button: *mut GtkMenuButton,
16686        func: GtkMenuButtonCreatePopupFunc,
16687        user_data: gpointer,
16688        destroy_notify: glib::GDestroyNotify,
16689    );
16690    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16691    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16692    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16693    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16694    pub fn gtk_menu_button_set_menu_model(
16695        menu_button: *mut GtkMenuButton,
16696        menu_model: *mut gio::GMenuModel,
16697    );
16698    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16699    #[cfg(feature = "v4_4")]
16700    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16701    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16702    pub fn gtk_menu_button_set_use_underline(
16703        menu_button: *mut GtkMenuButton,
16704        use_underline: gboolean,
16705    );
16706
16707    //=========================================================================
16708    // GtkMessageDialog
16709    //=========================================================================
16710    pub fn gtk_message_dialog_get_type() -> GType;
16711    pub fn gtk_message_dialog_new(
16712        parent: *mut GtkWindow,
16713        flags: GtkDialogFlags,
16714        type_: GtkMessageType,
16715        buttons: GtkButtonsType,
16716        message_format: *const c_char,
16717        ...
16718    ) -> *mut GtkWidget;
16719    pub fn gtk_message_dialog_new_with_markup(
16720        parent: *mut GtkWindow,
16721        flags: GtkDialogFlags,
16722        type_: GtkMessageType,
16723        buttons: GtkButtonsType,
16724        message_format: *const c_char,
16725        ...
16726    ) -> *mut GtkWidget;
16727    pub fn gtk_message_dialog_format_secondary_markup(
16728        message_dialog: *mut GtkMessageDialog,
16729        message_format: *const c_char,
16730        ...
16731    );
16732    pub fn gtk_message_dialog_format_secondary_text(
16733        message_dialog: *mut GtkMessageDialog,
16734        message_format: *const c_char,
16735        ...
16736    );
16737    pub fn gtk_message_dialog_get_message_area(
16738        message_dialog: *mut GtkMessageDialog,
16739    ) -> *mut GtkWidget;
16740    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16741
16742    //=========================================================================
16743    // GtkMnemonicAction
16744    //=========================================================================
16745    pub fn gtk_mnemonic_action_get_type() -> GType;
16746    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16747
16748    //=========================================================================
16749    // GtkMnemonicTrigger
16750    //=========================================================================
16751    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16752    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16753    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16754
16755    //=========================================================================
16756    // GtkMountOperation
16757    //=========================================================================
16758    pub fn gtk_mount_operation_get_type() -> GType;
16759    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16760    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16761    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16762    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16763    pub fn gtk_mount_operation_set_display(
16764        op: *mut GtkMountOperation,
16765        display: *mut gdk::GdkDisplay,
16766    );
16767    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16768
16769    //=========================================================================
16770    // GtkMultiFilter
16771    //=========================================================================
16772    pub fn gtk_multi_filter_get_type() -> GType;
16773    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16774    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16775
16776    //=========================================================================
16777    // GtkMultiSelection
16778    //=========================================================================
16779    pub fn gtk_multi_selection_get_type() -> GType;
16780    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16781    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16782    pub fn gtk_multi_selection_set_model(
16783        self_: *mut GtkMultiSelection,
16784        model: *mut gio::GListModel,
16785    );
16786
16787    //=========================================================================
16788    // GtkMultiSorter
16789    //=========================================================================
16790    pub fn gtk_multi_sorter_get_type() -> GType;
16791    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16792    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16793    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16794
16795    //=========================================================================
16796    // GtkNamedAction
16797    //=========================================================================
16798    pub fn gtk_named_action_get_type() -> GType;
16799    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16800    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16801
16802    //=========================================================================
16803    // GtkNativeDialog
16804    //=========================================================================
16805    pub fn gtk_native_dialog_get_type() -> GType;
16806    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16807    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16808    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16809    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16810    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16811    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16812    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16813    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16814    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16815    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16816
16817    //=========================================================================
16818    // GtkNeverTrigger
16819    //=========================================================================
16820    pub fn gtk_never_trigger_get_type() -> GType;
16821    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16822
16823    //=========================================================================
16824    // GtkNoSelection
16825    //=========================================================================
16826    pub fn gtk_no_selection_get_type() -> GType;
16827    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16828    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16829    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16830
16831    //=========================================================================
16832    // GtkNotebook
16833    //=========================================================================
16834    pub fn gtk_notebook_get_type() -> GType;
16835    pub fn gtk_notebook_new() -> *mut GtkWidget;
16836    pub fn gtk_notebook_append_page(
16837        notebook: *mut GtkNotebook,
16838        child: *mut GtkWidget,
16839        tab_label: *mut GtkWidget,
16840    ) -> c_int;
16841    pub fn gtk_notebook_append_page_menu(
16842        notebook: *mut GtkNotebook,
16843        child: *mut GtkWidget,
16844        tab_label: *mut GtkWidget,
16845        menu_label: *mut GtkWidget,
16846    ) -> c_int;
16847    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16848    pub fn gtk_notebook_get_action_widget(
16849        notebook: *mut GtkNotebook,
16850        pack_type: GtkPackType,
16851    ) -> *mut GtkWidget;
16852    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16853    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16854    pub fn gtk_notebook_get_menu_label(
16855        notebook: *mut GtkNotebook,
16856        child: *mut GtkWidget,
16857    ) -> *mut GtkWidget;
16858    pub fn gtk_notebook_get_menu_label_text(
16859        notebook: *mut GtkNotebook,
16860        child: *mut GtkWidget,
16861    ) -> *const c_char;
16862    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16863    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16864    -> *mut GtkWidget;
16865    pub fn gtk_notebook_get_page(
16866        notebook: *mut GtkNotebook,
16867        child: *mut GtkWidget,
16868    ) -> *mut GtkNotebookPage;
16869    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16870    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16871    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16872    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16873    pub fn gtk_notebook_get_tab_detachable(
16874        notebook: *mut GtkNotebook,
16875        child: *mut GtkWidget,
16876    ) -> gboolean;
16877    pub fn gtk_notebook_get_tab_label(
16878        notebook: *mut GtkNotebook,
16879        child: *mut GtkWidget,
16880    ) -> *mut GtkWidget;
16881    pub fn gtk_notebook_get_tab_label_text(
16882        notebook: *mut GtkNotebook,
16883        child: *mut GtkWidget,
16884    ) -> *const c_char;
16885    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16886    pub fn gtk_notebook_get_tab_reorderable(
16887        notebook: *mut GtkNotebook,
16888        child: *mut GtkWidget,
16889    ) -> gboolean;
16890    pub fn gtk_notebook_insert_page(
16891        notebook: *mut GtkNotebook,
16892        child: *mut GtkWidget,
16893        tab_label: *mut GtkWidget,
16894        position: c_int,
16895    ) -> c_int;
16896    pub fn gtk_notebook_insert_page_menu(
16897        notebook: *mut GtkNotebook,
16898        child: *mut GtkWidget,
16899        tab_label: *mut GtkWidget,
16900        menu_label: *mut GtkWidget,
16901        position: c_int,
16902    ) -> c_int;
16903    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16904    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16905    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16906    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16907    pub fn gtk_notebook_prepend_page(
16908        notebook: *mut GtkNotebook,
16909        child: *mut GtkWidget,
16910        tab_label: *mut GtkWidget,
16911    ) -> c_int;
16912    pub fn gtk_notebook_prepend_page_menu(
16913        notebook: *mut GtkNotebook,
16914        child: *mut GtkWidget,
16915        tab_label: *mut GtkWidget,
16916        menu_label: *mut GtkWidget,
16917    ) -> c_int;
16918    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16919    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16920    pub fn gtk_notebook_reorder_child(
16921        notebook: *mut GtkNotebook,
16922        child: *mut GtkWidget,
16923        position: c_int,
16924    );
16925    pub fn gtk_notebook_set_action_widget(
16926        notebook: *mut GtkNotebook,
16927        widget: *mut GtkWidget,
16928        pack_type: GtkPackType,
16929    );
16930    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16931    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16932    pub fn gtk_notebook_set_menu_label(
16933        notebook: *mut GtkNotebook,
16934        child: *mut GtkWidget,
16935        menu_label: *mut GtkWidget,
16936    );
16937    pub fn gtk_notebook_set_menu_label_text(
16938        notebook: *mut GtkNotebook,
16939        child: *mut GtkWidget,
16940        menu_text: *const c_char,
16941    );
16942    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16943    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16944    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16945    pub fn gtk_notebook_set_tab_detachable(
16946        notebook: *mut GtkNotebook,
16947        child: *mut GtkWidget,
16948        detachable: gboolean,
16949    );
16950    pub fn gtk_notebook_set_tab_label(
16951        notebook: *mut GtkNotebook,
16952        child: *mut GtkWidget,
16953        tab_label: *mut GtkWidget,
16954    );
16955    pub fn gtk_notebook_set_tab_label_text(
16956        notebook: *mut GtkNotebook,
16957        child: *mut GtkWidget,
16958        tab_text: *const c_char,
16959    );
16960    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16961    pub fn gtk_notebook_set_tab_reorderable(
16962        notebook: *mut GtkNotebook,
16963        child: *mut GtkWidget,
16964        reorderable: gboolean,
16965    );
16966
16967    //=========================================================================
16968    // GtkNotebookPage
16969    //=========================================================================
16970    pub fn gtk_notebook_page_get_type() -> GType;
16971    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16972
16973    //=========================================================================
16974    // GtkNothingAction
16975    //=========================================================================
16976    pub fn gtk_nothing_action_get_type() -> GType;
16977    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16978
16979    //=========================================================================
16980    // GtkNumericSorter
16981    //=========================================================================
16982    pub fn gtk_numeric_sorter_get_type() -> GType;
16983    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16984    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16985    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16986    pub fn gtk_numeric_sorter_set_expression(
16987        self_: *mut GtkNumericSorter,
16988        expression: *mut GtkExpression,
16989    );
16990    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16991
16992    //=========================================================================
16993    // GtkObjectExpression
16994    //=========================================================================
16995    pub fn gtk_object_expression_get_type() -> GType;
16996    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16997    pub fn gtk_object_expression_get_object(
16998        expression: *mut GtkObjectExpression,
16999    ) -> *mut gobject::GObject;
17000
17001    //=========================================================================
17002    // GtkOverlay
17003    //=========================================================================
17004    pub fn gtk_overlay_get_type() -> GType;
17005    pub fn gtk_overlay_new() -> *mut GtkWidget;
17006    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
17007    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
17008    pub fn gtk_overlay_get_clip_overlay(
17009        overlay: *mut GtkOverlay,
17010        widget: *mut GtkWidget,
17011    ) -> gboolean;
17012    pub fn gtk_overlay_get_measure_overlay(
17013        overlay: *mut GtkOverlay,
17014        widget: *mut GtkWidget,
17015    ) -> gboolean;
17016    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
17017    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
17018    pub fn gtk_overlay_set_clip_overlay(
17019        overlay: *mut GtkOverlay,
17020        widget: *mut GtkWidget,
17021        clip_overlay: gboolean,
17022    );
17023    pub fn gtk_overlay_set_measure_overlay(
17024        overlay: *mut GtkOverlay,
17025        widget: *mut GtkWidget,
17026        measure: gboolean,
17027    );
17028
17029    //=========================================================================
17030    // GtkOverlayLayout
17031    //=========================================================================
17032    pub fn gtk_overlay_layout_get_type() -> GType;
17033    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
17034
17035    //=========================================================================
17036    // GtkOverlayLayoutChild
17037    //=========================================================================
17038    pub fn gtk_overlay_layout_child_get_type() -> GType;
17039    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
17040    -> gboolean;
17041    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
17042    pub fn gtk_overlay_layout_child_set_clip_overlay(
17043        child: *mut GtkOverlayLayoutChild,
17044        clip_overlay: gboolean,
17045    );
17046    pub fn gtk_overlay_layout_child_set_measure(
17047        child: *mut GtkOverlayLayoutChild,
17048        measure: gboolean,
17049    );
17050
17051    //=========================================================================
17052    // GtkPadController
17053    //=========================================================================
17054    pub fn gtk_pad_controller_get_type() -> GType;
17055    pub fn gtk_pad_controller_new(
17056        group: *mut gio::GActionGroup,
17057        pad: *mut gdk::GdkDevice,
17058    ) -> *mut GtkPadController;
17059    pub fn gtk_pad_controller_set_action(
17060        controller: *mut GtkPadController,
17061        type_: GtkPadActionType,
17062        index: c_int,
17063        mode: c_int,
17064        label: *const c_char,
17065        action_name: *const c_char,
17066    );
17067    pub fn gtk_pad_controller_set_action_entries(
17068        controller: *mut GtkPadController,
17069        entries: *const GtkPadActionEntry,
17070        n_entries: c_int,
17071    );
17072
17073    //=========================================================================
17074    // GtkPageSetup
17075    //=========================================================================
17076    pub fn gtk_page_setup_get_type() -> GType;
17077    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
17078    pub fn gtk_page_setup_new_from_file(
17079        file_name: *const c_char,
17080        error: *mut *mut glib::GError,
17081    ) -> *mut GtkPageSetup;
17082    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
17083    pub fn gtk_page_setup_new_from_key_file(
17084        key_file: *mut glib::GKeyFile,
17085        group_name: *const c_char,
17086        error: *mut *mut glib::GError,
17087    ) -> *mut GtkPageSetup;
17088    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
17089    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17090    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17091    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
17092    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17093    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17094    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17095    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
17096    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17097    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17098    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17099    pub fn gtk_page_setup_load_file(
17100        setup: *mut GtkPageSetup,
17101        file_name: *const c_char,
17102        error: *mut *mut glib::GError,
17103    ) -> gboolean;
17104    pub fn gtk_page_setup_load_key_file(
17105        setup: *mut GtkPageSetup,
17106        key_file: *mut glib::GKeyFile,
17107        group_name: *const c_char,
17108        error: *mut *mut glib::GError,
17109    ) -> gboolean;
17110    pub fn gtk_page_setup_set_bottom_margin(
17111        setup: *mut GtkPageSetup,
17112        margin: c_double,
17113        unit: GtkUnit,
17114    );
17115    pub fn gtk_page_setup_set_left_margin(
17116        setup: *mut GtkPageSetup,
17117        margin: c_double,
17118        unit: GtkUnit,
17119    );
17120    pub fn gtk_page_setup_set_orientation(
17121        setup: *mut GtkPageSetup,
17122        orientation: GtkPageOrientation,
17123    );
17124    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
17125    pub fn gtk_page_setup_set_paper_size_and_default_margins(
17126        setup: *mut GtkPageSetup,
17127        size: *mut GtkPaperSize,
17128    );
17129    pub fn gtk_page_setup_set_right_margin(
17130        setup: *mut GtkPageSetup,
17131        margin: c_double,
17132        unit: GtkUnit,
17133    );
17134    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17135    pub fn gtk_page_setup_to_file(
17136        setup: *mut GtkPageSetup,
17137        file_name: *const c_char,
17138        error: *mut *mut glib::GError,
17139    ) -> gboolean;
17140    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17141    pub fn gtk_page_setup_to_key_file(
17142        setup: *mut GtkPageSetup,
17143        key_file: *mut glib::GKeyFile,
17144        group_name: *const c_char,
17145    );
17146
17147    //=========================================================================
17148    // GtkPageSetupUnixDialog
17149    //=========================================================================
17150    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17151    pub fn gtk_page_setup_unix_dialog_new(
17152        title: *const c_char,
17153        parent: *mut GtkWindow,
17154    ) -> *mut GtkWidget;
17155    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17156        dialog: *mut GtkPageSetupUnixDialog,
17157    ) -> *mut GtkPageSetup;
17158    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17159        dialog: *mut GtkPageSetupUnixDialog,
17160    ) -> *mut GtkPrintSettings;
17161    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17162        dialog: *mut GtkPageSetupUnixDialog,
17163        page_setup: *mut GtkPageSetup,
17164    );
17165    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17166        dialog: *mut GtkPageSetupUnixDialog,
17167        print_settings: *mut GtkPrintSettings,
17168    );
17169
17170    //=========================================================================
17171    // GtkPaned
17172    //=========================================================================
17173    pub fn gtk_paned_get_type() -> GType;
17174    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17175    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17176    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17177    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17178    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17179    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17180    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17181    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17182    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17183    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17184    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17185    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17186    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17187    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17188    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17189    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17190    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17191
17192    //=========================================================================
17193    // GtkParamSpecExpression
17194    //=========================================================================
17195    pub fn gtk_param_expression_get_type() -> GType;
17196
17197    //=========================================================================
17198    // GtkPasswordEntry
17199    //=========================================================================
17200    pub fn gtk_password_entry_get_type() -> GType;
17201    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17202    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17203    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17204    pub fn gtk_password_entry_set_extra_menu(
17205        entry: *mut GtkPasswordEntry,
17206        model: *mut gio::GMenuModel,
17207    );
17208    pub fn gtk_password_entry_set_show_peek_icon(
17209        entry: *mut GtkPasswordEntry,
17210        show_peek_icon: gboolean,
17211    );
17212
17213    //=========================================================================
17214    // GtkPasswordEntryBuffer
17215    //=========================================================================
17216    #[cfg(feature = "v4_4")]
17217    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17218    pub fn gtk_password_entry_buffer_get_type() -> GType;
17219    #[cfg(feature = "v4_4")]
17220    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17221    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17222
17223    //=========================================================================
17224    // GtkPicture
17225    //=========================================================================
17226    pub fn gtk_picture_get_type() -> GType;
17227    pub fn gtk_picture_new() -> *mut GtkWidget;
17228    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17229    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17230    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17231    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17232    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17233    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17234    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17235    #[cfg(feature = "v4_8")]
17236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17237    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17238    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17239    #[cfg(feature = "v4_22")]
17240    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17241    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17242    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17243    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17244    pub fn gtk_picture_set_alternative_text(
17245        self_: *mut GtkPicture,
17246        alternative_text: *const c_char,
17247    );
17248    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17249    #[cfg(feature = "v4_8")]
17250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17251    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17252    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17253    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17254    #[cfg(feature = "v4_22")]
17255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17256    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17257    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17258    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17259    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17260    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17261
17262    //=========================================================================
17263    // GtkPopover
17264    //=========================================================================
17265    pub fn gtk_popover_get_type() -> GType;
17266    pub fn gtk_popover_new() -> *mut GtkWidget;
17267    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17268    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17269    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17270    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17271    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17272    pub fn gtk_popover_get_offset(
17273        popover: *mut GtkPopover,
17274        x_offset: *mut c_int,
17275        y_offset: *mut c_int,
17276    );
17277    pub fn gtk_popover_get_pointing_to(
17278        popover: *mut GtkPopover,
17279        rect: *mut gdk::GdkRectangle,
17280    ) -> gboolean;
17281    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17282    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17283    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17284    pub fn gtk_popover_present(popover: *mut GtkPopover);
17285    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17286    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17287    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17288    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17289    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17290    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17291    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17292    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17293    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17294
17295    //=========================================================================
17296    // GtkPopoverBin
17297    //=========================================================================
17298    #[cfg(feature = "v4_22")]
17299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17300    pub fn gtk_popover_bin_get_type() -> GType;
17301    #[cfg(feature = "v4_22")]
17302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17303    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17304    #[cfg(feature = "v4_22")]
17305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17306    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17307    #[cfg(feature = "v4_22")]
17308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17309    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17310    #[cfg(feature = "v4_22")]
17311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17312    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17313    #[cfg(feature = "v4_22")]
17314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17315    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17316    #[cfg(feature = "v4_22")]
17317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17318    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17319    #[cfg(feature = "v4_22")]
17320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17321    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17322    #[cfg(feature = "v4_22")]
17323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17324    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17325    #[cfg(feature = "v4_22")]
17326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17327    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17328    #[cfg(feature = "v4_22")]
17329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17330    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17331    #[cfg(feature = "v4_22")]
17332    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17333    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17334
17335    //=========================================================================
17336    // GtkPopoverMenu
17337    //=========================================================================
17338    pub fn gtk_popover_menu_get_type() -> GType;
17339    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17340    pub fn gtk_popover_menu_new_from_model_full(
17341        model: *mut gio::GMenuModel,
17342        flags: GtkPopoverMenuFlags,
17343    ) -> *mut GtkWidget;
17344    pub fn gtk_popover_menu_add_child(
17345        popover: *mut GtkPopoverMenu,
17346        child: *mut GtkWidget,
17347        id: *const c_char,
17348    ) -> gboolean;
17349    #[cfg(feature = "v4_14")]
17350    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17351    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17352    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17353    pub fn gtk_popover_menu_remove_child(
17354        popover: *mut GtkPopoverMenu,
17355        child: *mut GtkWidget,
17356    ) -> gboolean;
17357    #[cfg(feature = "v4_14")]
17358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17359    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17360    pub fn gtk_popover_menu_set_menu_model(
17361        popover: *mut GtkPopoverMenu,
17362        model: *mut gio::GMenuModel,
17363    );
17364
17365    //=========================================================================
17366    // GtkPopoverMenuBar
17367    //=========================================================================
17368    pub fn gtk_popover_menu_bar_get_type() -> GType;
17369    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17370    pub fn gtk_popover_menu_bar_add_child(
17371        bar: *mut GtkPopoverMenuBar,
17372        child: *mut GtkWidget,
17373        id: *const c_char,
17374    ) -> gboolean;
17375    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17376    -> *mut gio::GMenuModel;
17377    pub fn gtk_popover_menu_bar_remove_child(
17378        bar: *mut GtkPopoverMenuBar,
17379        child: *mut GtkWidget,
17380    ) -> gboolean;
17381    pub fn gtk_popover_menu_bar_set_menu_model(
17382        bar: *mut GtkPopoverMenuBar,
17383        model: *mut gio::GMenuModel,
17384    );
17385
17386    //=========================================================================
17387    // GtkPrintContext
17388    //=========================================================================
17389    pub fn gtk_print_context_get_type() -> GType;
17390    pub fn gtk_print_context_create_pango_context(
17391        context: *mut GtkPrintContext,
17392    ) -> *mut pango::PangoContext;
17393    pub fn gtk_print_context_create_pango_layout(
17394        context: *mut GtkPrintContext,
17395    ) -> *mut pango::PangoLayout;
17396    pub fn gtk_print_context_get_cairo_context(
17397        context: *mut GtkPrintContext,
17398    ) -> *mut cairo::cairo_t;
17399    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17400    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17401    pub fn gtk_print_context_get_hard_margins(
17402        context: *mut GtkPrintContext,
17403        top: *mut c_double,
17404        bottom: *mut c_double,
17405        left: *mut c_double,
17406        right: *mut c_double,
17407    ) -> gboolean;
17408    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17409    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17410    pub fn gtk_print_context_get_pango_fontmap(
17411        context: *mut GtkPrintContext,
17412    ) -> *mut pango::PangoFontMap;
17413    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17414    pub fn gtk_print_context_set_cairo_context(
17415        context: *mut GtkPrintContext,
17416        cr: *mut cairo::cairo_t,
17417        dpi_x: c_double,
17418        dpi_y: c_double,
17419    );
17420
17421    //=========================================================================
17422    // GtkPrintDialog
17423    //=========================================================================
17424    #[cfg(feature = "v4_14")]
17425    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17426    pub fn gtk_print_dialog_get_type() -> GType;
17427    #[cfg(feature = "v4_14")]
17428    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17429    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17430    #[cfg(feature = "v4_14")]
17431    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17432    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17433    #[cfg(feature = "v4_14")]
17434    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17435    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17436    #[cfg(feature = "v4_14")]
17437    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17438    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17439    #[cfg(feature = "v4_14")]
17440    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17441    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17442    -> *mut GtkPrintSettings;
17443    #[cfg(feature = "v4_14")]
17444    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17445    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17446    #[cfg(feature = "v4_14")]
17447    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17448    pub fn gtk_print_dialog_print(
17449        self_: *mut GtkPrintDialog,
17450        parent: *mut GtkWindow,
17451        setup: *mut GtkPrintSetup,
17452        cancellable: *mut gio::GCancellable,
17453        callback: gio::GAsyncReadyCallback,
17454        user_data: gpointer,
17455    );
17456    #[cfg(feature = "v4_14")]
17457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17458    pub fn gtk_print_dialog_print_file(
17459        self_: *mut GtkPrintDialog,
17460        parent: *mut GtkWindow,
17461        setup: *mut GtkPrintSetup,
17462        file: *mut gio::GFile,
17463        cancellable: *mut gio::GCancellable,
17464        callback: gio::GAsyncReadyCallback,
17465        user_data: gpointer,
17466    );
17467    #[cfg(feature = "v4_14")]
17468    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17469    pub fn gtk_print_dialog_print_file_finish(
17470        self_: *mut GtkPrintDialog,
17471        result: *mut gio::GAsyncResult,
17472        error: *mut *mut glib::GError,
17473    ) -> gboolean;
17474    #[cfg(feature = "v4_14")]
17475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17476    pub fn gtk_print_dialog_print_finish(
17477        self_: *mut GtkPrintDialog,
17478        result: *mut gio::GAsyncResult,
17479        error: *mut *mut glib::GError,
17480    ) -> *mut gio::GOutputStream;
17481    #[cfg(feature = "v4_14")]
17482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17483    pub fn gtk_print_dialog_set_accept_label(
17484        self_: *mut GtkPrintDialog,
17485        accept_label: *const c_char,
17486    );
17487    #[cfg(feature = "v4_14")]
17488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17489    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17490    #[cfg(feature = "v4_14")]
17491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17492    pub fn gtk_print_dialog_set_page_setup(
17493        self_: *mut GtkPrintDialog,
17494        page_setup: *mut GtkPageSetup,
17495    );
17496    #[cfg(feature = "v4_14")]
17497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17498    pub fn gtk_print_dialog_set_print_settings(
17499        self_: *mut GtkPrintDialog,
17500        print_settings: *mut GtkPrintSettings,
17501    );
17502    #[cfg(feature = "v4_14")]
17503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17504    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17505    #[cfg(feature = "v4_14")]
17506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17507    pub fn gtk_print_dialog_setup(
17508        self_: *mut GtkPrintDialog,
17509        parent: *mut GtkWindow,
17510        cancellable: *mut gio::GCancellable,
17511        callback: gio::GAsyncReadyCallback,
17512        user_data: gpointer,
17513    );
17514    #[cfg(feature = "v4_14")]
17515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17516    pub fn gtk_print_dialog_setup_finish(
17517        self_: *mut GtkPrintDialog,
17518        result: *mut gio::GAsyncResult,
17519        error: *mut *mut glib::GError,
17520    ) -> *mut GtkPrintSetup;
17521
17522    //=========================================================================
17523    // GtkPrintJob
17524    //=========================================================================
17525    pub fn gtk_print_job_get_type() -> GType;
17526    pub fn gtk_print_job_new(
17527        title: *const c_char,
17528        printer: *mut GtkPrinter,
17529        settings: *mut GtkPrintSettings,
17530        page_setup: *mut GtkPageSetup,
17531    ) -> *mut GtkPrintJob;
17532    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17533    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17534    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17535    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17536    pub fn gtk_print_job_get_page_ranges(
17537        job: *mut GtkPrintJob,
17538        n_ranges: *mut c_int,
17539    ) -> *mut GtkPageRange;
17540    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17541    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17542    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17543    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17544    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17545    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17546    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17547    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17548    pub fn gtk_print_job_get_surface(
17549        job: *mut GtkPrintJob,
17550        error: *mut *mut glib::GError,
17551    ) -> *mut cairo::cairo_surface_t;
17552    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17553    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17554    pub fn gtk_print_job_send(
17555        job: *mut GtkPrintJob,
17556        callback: GtkPrintJobCompleteFunc,
17557        user_data: gpointer,
17558        dnotify: glib::GDestroyNotify,
17559    );
17560    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17561    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17562    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17563    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17564    pub fn gtk_print_job_set_page_ranges(
17565        job: *mut GtkPrintJob,
17566        ranges: *mut GtkPageRange,
17567        n_ranges: c_int,
17568    );
17569    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17570    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17571    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17572    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17573    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17574    pub fn gtk_print_job_set_source_fd(
17575        job: *mut GtkPrintJob,
17576        fd: c_int,
17577        error: *mut *mut glib::GError,
17578    ) -> gboolean;
17579    pub fn gtk_print_job_set_source_file(
17580        job: *mut GtkPrintJob,
17581        filename: *const c_char,
17582        error: *mut *mut glib::GError,
17583    ) -> gboolean;
17584    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17585
17586    //=========================================================================
17587    // GtkPrintOperation
17588    //=========================================================================
17589    pub fn gtk_print_operation_get_type() -> GType;
17590    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17591    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17592    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17593    pub fn gtk_print_operation_get_default_page_setup(
17594        op: *mut GtkPrintOperation,
17595    ) -> *mut GtkPageSetup;
17596    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17597    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17598    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17599    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17600    pub fn gtk_print_operation_get_print_settings(
17601        op: *mut GtkPrintOperation,
17602    ) -> *mut GtkPrintSettings;
17603    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17604    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17605    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17606    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17607    pub fn gtk_print_operation_run(
17608        op: *mut GtkPrintOperation,
17609        action: GtkPrintOperationAction,
17610        parent: *mut GtkWindow,
17611        error: *mut *mut glib::GError,
17612    ) -> GtkPrintOperationResult;
17613    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17614    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17615    pub fn gtk_print_operation_set_custom_tab_label(
17616        op: *mut GtkPrintOperation,
17617        label: *const c_char,
17618    );
17619    pub fn gtk_print_operation_set_default_page_setup(
17620        op: *mut GtkPrintOperation,
17621        default_page_setup: *mut GtkPageSetup,
17622    );
17623    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17624    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17625    pub fn gtk_print_operation_set_export_filename(
17626        op: *mut GtkPrintOperation,
17627        filename: *const c_char,
17628    );
17629    pub fn gtk_print_operation_set_has_selection(
17630        op: *mut GtkPrintOperation,
17631        has_selection: gboolean,
17632    );
17633    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17634    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17635    pub fn gtk_print_operation_set_print_settings(
17636        op: *mut GtkPrintOperation,
17637        print_settings: *mut GtkPrintSettings,
17638    );
17639    pub fn gtk_print_operation_set_show_progress(
17640        op: *mut GtkPrintOperation,
17641        show_progress: gboolean,
17642    );
17643    pub fn gtk_print_operation_set_support_selection(
17644        op: *mut GtkPrintOperation,
17645        support_selection: gboolean,
17646    );
17647    pub fn gtk_print_operation_set_track_print_status(
17648        op: *mut GtkPrintOperation,
17649        track_status: gboolean,
17650    );
17651    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17652    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17653
17654    //=========================================================================
17655    // GtkPrintSettings
17656    //=========================================================================
17657    pub fn gtk_print_settings_get_type() -> GType;
17658    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17659    pub fn gtk_print_settings_new_from_file(
17660        file_name: *const c_char,
17661        error: *mut *mut glib::GError,
17662    ) -> *mut GtkPrintSettings;
17663    pub fn gtk_print_settings_new_from_gvariant(
17664        variant: *mut glib::GVariant,
17665    ) -> *mut GtkPrintSettings;
17666    pub fn gtk_print_settings_new_from_key_file(
17667        key_file: *mut glib::GKeyFile,
17668        group_name: *const c_char,
17669        error: *mut *mut glib::GError,
17670    ) -> *mut GtkPrintSettings;
17671    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17672    pub fn gtk_print_settings_foreach(
17673        settings: *mut GtkPrintSettings,
17674        func: GtkPrintSettingsFunc,
17675        user_data: gpointer,
17676    );
17677    pub fn gtk_print_settings_get(
17678        settings: *mut GtkPrintSettings,
17679        key: *const c_char,
17680    ) -> *const c_char;
17681    pub fn gtk_print_settings_get_bool(
17682        settings: *mut GtkPrintSettings,
17683        key: *const c_char,
17684    ) -> gboolean;
17685    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17686    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17687    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17688    pub fn gtk_print_settings_get_double(
17689        settings: *mut GtkPrintSettings,
17690        key: *const c_char,
17691    ) -> c_double;
17692    pub fn gtk_print_settings_get_double_with_default(
17693        settings: *mut GtkPrintSettings,
17694        key: *const c_char,
17695        def: c_double,
17696    ) -> c_double;
17697    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17698    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17699    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17700    -> c_int;
17701    pub fn gtk_print_settings_get_int_with_default(
17702        settings: *mut GtkPrintSettings,
17703        key: *const c_char,
17704        def: c_int,
17705    ) -> c_int;
17706    pub fn gtk_print_settings_get_length(
17707        settings: *mut GtkPrintSettings,
17708        key: *const c_char,
17709        unit: GtkUnit,
17710    ) -> c_double;
17711    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17712    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17713    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17714    pub fn gtk_print_settings_get_number_up_layout(
17715        settings: *mut GtkPrintSettings,
17716    ) -> GtkNumberUpLayout;
17717    pub fn gtk_print_settings_get_orientation(
17718        settings: *mut GtkPrintSettings,
17719    ) -> GtkPageOrientation;
17720    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17721    pub fn gtk_print_settings_get_page_ranges(
17722        settings: *mut GtkPrintSettings,
17723        num_ranges: *mut c_int,
17724    ) -> *mut GtkPageRange;
17725    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17726    pub fn gtk_print_settings_get_paper_height(
17727        settings: *mut GtkPrintSettings,
17728        unit: GtkUnit,
17729    ) -> c_double;
17730    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17731    pub fn gtk_print_settings_get_paper_width(
17732        settings: *mut GtkPrintSettings,
17733        unit: GtkUnit,
17734    ) -> c_double;
17735    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17736    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17737    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17738    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17739    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17740    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17741    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17742    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17743    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17744    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17745    pub fn gtk_print_settings_has_key(
17746        settings: *mut GtkPrintSettings,
17747        key: *const c_char,
17748    ) -> gboolean;
17749    pub fn gtk_print_settings_load_file(
17750        settings: *mut GtkPrintSettings,
17751        file_name: *const c_char,
17752        error: *mut *mut glib::GError,
17753    ) -> gboolean;
17754    pub fn gtk_print_settings_load_key_file(
17755        settings: *mut GtkPrintSettings,
17756        key_file: *mut glib::GKeyFile,
17757        group_name: *const c_char,
17758        error: *mut *mut glib::GError,
17759    ) -> gboolean;
17760    pub fn gtk_print_settings_set(
17761        settings: *mut GtkPrintSettings,
17762        key: *const c_char,
17763        value: *const c_char,
17764    );
17765    pub fn gtk_print_settings_set_bool(
17766        settings: *mut GtkPrintSettings,
17767        key: *const c_char,
17768        value: gboolean,
17769    );
17770    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17771    pub fn gtk_print_settings_set_default_source(
17772        settings: *mut GtkPrintSettings,
17773        default_source: *const c_char,
17774    );
17775    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17776    pub fn gtk_print_settings_set_double(
17777        settings: *mut GtkPrintSettings,
17778        key: *const c_char,
17779        value: c_double,
17780    );
17781    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17782    pub fn gtk_print_settings_set_finishings(
17783        settings: *mut GtkPrintSettings,
17784        finishings: *const c_char,
17785    );
17786    pub fn gtk_print_settings_set_int(
17787        settings: *mut GtkPrintSettings,
17788        key: *const c_char,
17789        value: c_int,
17790    );
17791    pub fn gtk_print_settings_set_length(
17792        settings: *mut GtkPrintSettings,
17793        key: *const c_char,
17794        value: c_double,
17795        unit: GtkUnit,
17796    );
17797    pub fn gtk_print_settings_set_media_type(
17798        settings: *mut GtkPrintSettings,
17799        media_type: *const c_char,
17800    );
17801    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17802    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17803    pub fn gtk_print_settings_set_number_up_layout(
17804        settings: *mut GtkPrintSettings,
17805        number_up_layout: GtkNumberUpLayout,
17806    );
17807    pub fn gtk_print_settings_set_orientation(
17808        settings: *mut GtkPrintSettings,
17809        orientation: GtkPageOrientation,
17810    );
17811    pub fn gtk_print_settings_set_output_bin(
17812        settings: *mut GtkPrintSettings,
17813        output_bin: *const c_char,
17814    );
17815    pub fn gtk_print_settings_set_page_ranges(
17816        settings: *mut GtkPrintSettings,
17817        page_ranges: *mut GtkPageRange,
17818        num_ranges: c_int,
17819    );
17820    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17821    pub fn gtk_print_settings_set_paper_height(
17822        settings: *mut GtkPrintSettings,
17823        height: c_double,
17824        unit: GtkUnit,
17825    );
17826    pub fn gtk_print_settings_set_paper_size(
17827        settings: *mut GtkPrintSettings,
17828        paper_size: *mut GtkPaperSize,
17829    );
17830    pub fn gtk_print_settings_set_paper_width(
17831        settings: *mut GtkPrintSettings,
17832        width: c_double,
17833        unit: GtkUnit,
17834    );
17835    pub fn gtk_print_settings_set_print_pages(
17836        settings: *mut GtkPrintSettings,
17837        pages: GtkPrintPages,
17838    );
17839    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17840    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17841    pub fn gtk_print_settings_set_quality(
17842        settings: *mut GtkPrintSettings,
17843        quality: GtkPrintQuality,
17844    );
17845    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17846    pub fn gtk_print_settings_set_resolution_xy(
17847        settings: *mut GtkPrintSettings,
17848        resolution_x: c_int,
17849        resolution_y: c_int,
17850    );
17851    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17852    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17853    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17854    pub fn gtk_print_settings_to_file(
17855        settings: *mut GtkPrintSettings,
17856        file_name: *const c_char,
17857        error: *mut *mut glib::GError,
17858    ) -> gboolean;
17859    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17860    pub fn gtk_print_settings_to_key_file(
17861        settings: *mut GtkPrintSettings,
17862        key_file: *mut glib::GKeyFile,
17863        group_name: *const c_char,
17864    );
17865    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17866
17867    //=========================================================================
17868    // GtkPrintUnixDialog
17869    //=========================================================================
17870    pub fn gtk_print_unix_dialog_get_type() -> GType;
17871    pub fn gtk_print_unix_dialog_new(
17872        title: *const c_char,
17873        parent: *mut GtkWindow,
17874    ) -> *mut GtkWidget;
17875    pub fn gtk_print_unix_dialog_add_custom_tab(
17876        dialog: *mut GtkPrintUnixDialog,
17877        child: *mut GtkWidget,
17878        tab_label: *mut GtkWidget,
17879    );
17880    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17881    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17882    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17883    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17884        dialog: *mut GtkPrintUnixDialog,
17885    ) -> GtkPrintCapabilities;
17886    pub fn gtk_print_unix_dialog_get_page_setup(
17887        dialog: *mut GtkPrintUnixDialog,
17888    ) -> *mut GtkPageSetup;
17889    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17890    pub fn gtk_print_unix_dialog_get_selected_printer(
17891        dialog: *mut GtkPrintUnixDialog,
17892    ) -> *mut GtkPrinter;
17893    pub fn gtk_print_unix_dialog_get_settings(
17894        dialog: *mut GtkPrintUnixDialog,
17895    ) -> *mut GtkPrintSettings;
17896    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17897    -> gboolean;
17898    pub fn gtk_print_unix_dialog_set_current_page(
17899        dialog: *mut GtkPrintUnixDialog,
17900        current_page: c_int,
17901    );
17902    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17903        dialog: *mut GtkPrintUnixDialog,
17904        embed: gboolean,
17905    );
17906    pub fn gtk_print_unix_dialog_set_has_selection(
17907        dialog: *mut GtkPrintUnixDialog,
17908        has_selection: gboolean,
17909    );
17910    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17911        dialog: *mut GtkPrintUnixDialog,
17912        capabilities: GtkPrintCapabilities,
17913    );
17914    pub fn gtk_print_unix_dialog_set_page_setup(
17915        dialog: *mut GtkPrintUnixDialog,
17916        page_setup: *mut GtkPageSetup,
17917    );
17918    pub fn gtk_print_unix_dialog_set_settings(
17919        dialog: *mut GtkPrintUnixDialog,
17920        settings: *mut GtkPrintSettings,
17921    );
17922    pub fn gtk_print_unix_dialog_set_support_selection(
17923        dialog: *mut GtkPrintUnixDialog,
17924        support_selection: gboolean,
17925    );
17926
17927    //=========================================================================
17928    // GtkPrinter
17929    //=========================================================================
17930    pub fn gtk_printer_get_type() -> GType;
17931    pub fn gtk_printer_new(
17932        name: *const c_char,
17933        backend: *mut GtkPrintBackend,
17934        virtual_: gboolean,
17935    ) -> *mut GtkPrinter;
17936    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17937    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17938    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17939    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17940    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17941    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17942    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17943    pub fn gtk_printer_get_hard_margins(
17944        printer: *mut GtkPrinter,
17945        top: *mut c_double,
17946        bottom: *mut c_double,
17947        left: *mut c_double,
17948        right: *mut c_double,
17949    ) -> gboolean;
17950    pub fn gtk_printer_get_hard_margins_for_paper_size(
17951        printer: *mut GtkPrinter,
17952        paper_size: *mut GtkPaperSize,
17953        top: *mut c_double,
17954        bottom: *mut c_double,
17955        left: *mut c_double,
17956        right: *mut c_double,
17957    ) -> gboolean;
17958    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17959    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17960    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17961    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17962    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17963    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17964    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17965    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17966    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17967    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17968    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17969    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17970    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17971
17972    //=========================================================================
17973    // GtkProgressBar
17974    //=========================================================================
17975    pub fn gtk_progress_bar_get_type() -> GType;
17976    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17977    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17978    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17979    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17980    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17981    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17982    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17983    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17984    pub fn gtk_progress_bar_set_ellipsize(
17985        pbar: *mut GtkProgressBar,
17986        mode: pango::PangoEllipsizeMode,
17987    );
17988    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17989    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17990    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17991    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17992    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17993
17994    //=========================================================================
17995    // GtkPropertyExpression
17996    //=========================================================================
17997    pub fn gtk_property_expression_get_type() -> GType;
17998    pub fn gtk_property_expression_new(
17999        this_type: GType,
18000        expression: *mut GtkExpression,
18001        property_name: *const c_char,
18002    ) -> *mut GtkPropertyExpression;
18003    pub fn gtk_property_expression_new_for_pspec(
18004        expression: *mut GtkExpression,
18005        pspec: *mut gobject::GParamSpec,
18006    ) -> *mut GtkPropertyExpression;
18007    pub fn gtk_property_expression_get_expression(
18008        expression: *mut GtkPropertyExpression,
18009    ) -> *mut GtkExpression;
18010    pub fn gtk_property_expression_get_pspec(
18011        expression: *mut GtkPropertyExpression,
18012    ) -> *mut gobject::GParamSpec;
18013
18014    //=========================================================================
18015    // GtkRange
18016    //=========================================================================
18017    pub fn gtk_range_get_type() -> GType;
18018    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
18019    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
18020    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
18021    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
18022    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
18023    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
18024    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
18025    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
18026    pub fn gtk_range_get_slider_range(
18027        range: *mut GtkRange,
18028        slider_start: *mut c_int,
18029        slider_end: *mut c_int,
18030    );
18031    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
18032    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
18033    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
18034    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
18035    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
18036    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
18037    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
18038    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
18039    pub fn gtk_range_set_restrict_to_fill_level(
18040        range: *mut GtkRange,
18041        restrict_to_fill_level: gboolean,
18042    );
18043    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
18044    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
18045    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
18046    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
18047
18048    //=========================================================================
18049    // GtkRecentManager
18050    //=========================================================================
18051    pub fn gtk_recent_manager_get_type() -> GType;
18052    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
18053    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
18054    pub fn gtk_recent_manager_add_full(
18055        manager: *mut GtkRecentManager,
18056        uri: *const c_char,
18057        recent_data: *const GtkRecentData,
18058    ) -> gboolean;
18059    pub fn gtk_recent_manager_add_item(
18060        manager: *mut GtkRecentManager,
18061        uri: *const c_char,
18062    ) -> gboolean;
18063    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
18064    pub fn gtk_recent_manager_has_item(
18065        manager: *mut GtkRecentManager,
18066        uri: *const c_char,
18067    ) -> gboolean;
18068    pub fn gtk_recent_manager_lookup_item(
18069        manager: *mut GtkRecentManager,
18070        uri: *const c_char,
18071        error: *mut *mut glib::GError,
18072    ) -> *mut GtkRecentInfo;
18073    pub fn gtk_recent_manager_move_item(
18074        manager: *mut GtkRecentManager,
18075        uri: *const c_char,
18076        new_uri: *const c_char,
18077        error: *mut *mut glib::GError,
18078    ) -> gboolean;
18079    pub fn gtk_recent_manager_purge_items(
18080        manager: *mut GtkRecentManager,
18081        error: *mut *mut glib::GError,
18082    ) -> c_int;
18083    pub fn gtk_recent_manager_remove_item(
18084        manager: *mut GtkRecentManager,
18085        uri: *const c_char,
18086        error: *mut *mut glib::GError,
18087    ) -> gboolean;
18088
18089    //=========================================================================
18090    // GtkRevealer
18091    //=========================================================================
18092    pub fn gtk_revealer_get_type() -> GType;
18093    pub fn gtk_revealer_new() -> *mut GtkWidget;
18094    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
18095    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
18096    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
18097    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
18098    pub fn gtk_revealer_get_transition_type(
18099        revealer: *mut GtkRevealer,
18100    ) -> GtkRevealerTransitionType;
18101    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
18102    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
18103    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
18104    pub fn gtk_revealer_set_transition_type(
18105        revealer: *mut GtkRevealer,
18106        transition: GtkRevealerTransitionType,
18107    );
18108
18109    //=========================================================================
18110    // GtkScale
18111    //=========================================================================
18112    pub fn gtk_scale_get_type() -> GType;
18113    pub fn gtk_scale_new(
18114        orientation: GtkOrientation,
18115        adjustment: *mut GtkAdjustment,
18116    ) -> *mut GtkWidget;
18117    pub fn gtk_scale_new_with_range(
18118        orientation: GtkOrientation,
18119        min: c_double,
18120        max: c_double,
18121        step: c_double,
18122    ) -> *mut GtkWidget;
18123    pub fn gtk_scale_add_mark(
18124        scale: *mut GtkScale,
18125        value: c_double,
18126        position: GtkPositionType,
18127        markup: *const c_char,
18128    );
18129    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
18130    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
18131    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
18132    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18133    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18134    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18135    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18136    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18137    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18138    pub fn gtk_scale_set_format_value_func(
18139        scale: *mut GtkScale,
18140        func: GtkScaleFormatValueFunc,
18141        user_data: gpointer,
18142        destroy_notify: glib::GDestroyNotify,
18143    );
18144    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18145    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18146
18147    //=========================================================================
18148    // GtkScaleButton
18149    //=========================================================================
18150    pub fn gtk_scale_button_get_type() -> GType;
18151    pub fn gtk_scale_button_new(
18152        min: c_double,
18153        max: c_double,
18154        step: c_double,
18155        icons: *mut *const c_char,
18156    ) -> *mut GtkWidget;
18157    #[cfg(feature = "v4_10")]
18158    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18159    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18160    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18161    #[cfg(feature = "v4_14")]
18162    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18163    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18164    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18165    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18166    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18167    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18168    pub fn gtk_scale_button_set_adjustment(
18169        button: *mut GtkScaleButton,
18170        adjustment: *mut GtkAdjustment,
18171    );
18172    #[cfg(feature = "v4_14")]
18173    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18174    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18175    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18176    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18177
18178    //=========================================================================
18179    // GtkScrollbar
18180    //=========================================================================
18181    pub fn gtk_scrollbar_get_type() -> GType;
18182    pub fn gtk_scrollbar_new(
18183        orientation: GtkOrientation,
18184        adjustment: *mut GtkAdjustment,
18185    ) -> *mut GtkWidget;
18186    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18187    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18188
18189    //=========================================================================
18190    // GtkScrolledWindow
18191    //=========================================================================
18192    pub fn gtk_scrolled_window_get_type() -> GType;
18193    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18194    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18195    -> *mut GtkWidget;
18196    pub fn gtk_scrolled_window_get_hadjustment(
18197        scrolled_window: *mut GtkScrolledWindow,
18198    ) -> *mut GtkAdjustment;
18199    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18200    pub fn gtk_scrolled_window_get_hscrollbar(
18201        scrolled_window: *mut GtkScrolledWindow,
18202    ) -> *mut GtkWidget;
18203    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18204        scrolled_window: *mut GtkScrolledWindow,
18205    ) -> gboolean;
18206    pub fn gtk_scrolled_window_get_max_content_height(
18207        scrolled_window: *mut GtkScrolledWindow,
18208    ) -> c_int;
18209    pub fn gtk_scrolled_window_get_max_content_width(
18210        scrolled_window: *mut GtkScrolledWindow,
18211    ) -> c_int;
18212    pub fn gtk_scrolled_window_get_min_content_height(
18213        scrolled_window: *mut GtkScrolledWindow,
18214    ) -> c_int;
18215    pub fn gtk_scrolled_window_get_min_content_width(
18216        scrolled_window: *mut GtkScrolledWindow,
18217    ) -> c_int;
18218    pub fn gtk_scrolled_window_get_overlay_scrolling(
18219        scrolled_window: *mut GtkScrolledWindow,
18220    ) -> gboolean;
18221    pub fn gtk_scrolled_window_get_placement(
18222        scrolled_window: *mut GtkScrolledWindow,
18223    ) -> GtkCornerType;
18224    pub fn gtk_scrolled_window_get_policy(
18225        scrolled_window: *mut GtkScrolledWindow,
18226        hscrollbar_policy: *mut GtkPolicyType,
18227        vscrollbar_policy: *mut GtkPolicyType,
18228    );
18229    pub fn gtk_scrolled_window_get_propagate_natural_height(
18230        scrolled_window: *mut GtkScrolledWindow,
18231    ) -> gboolean;
18232    pub fn gtk_scrolled_window_get_propagate_natural_width(
18233        scrolled_window: *mut GtkScrolledWindow,
18234    ) -> gboolean;
18235    pub fn gtk_scrolled_window_get_vadjustment(
18236        scrolled_window: *mut GtkScrolledWindow,
18237    ) -> *mut GtkAdjustment;
18238    pub fn gtk_scrolled_window_get_vscrollbar(
18239        scrolled_window: *mut GtkScrolledWindow,
18240    ) -> *mut GtkWidget;
18241    pub fn gtk_scrolled_window_set_child(
18242        scrolled_window: *mut GtkScrolledWindow,
18243        child: *mut GtkWidget,
18244    );
18245    pub fn gtk_scrolled_window_set_hadjustment(
18246        scrolled_window: *mut GtkScrolledWindow,
18247        hadjustment: *mut GtkAdjustment,
18248    );
18249    pub fn gtk_scrolled_window_set_has_frame(
18250        scrolled_window: *mut GtkScrolledWindow,
18251        has_frame: gboolean,
18252    );
18253    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18254        scrolled_window: *mut GtkScrolledWindow,
18255        kinetic_scrolling: gboolean,
18256    );
18257    pub fn gtk_scrolled_window_set_max_content_height(
18258        scrolled_window: *mut GtkScrolledWindow,
18259        height: c_int,
18260    );
18261    pub fn gtk_scrolled_window_set_max_content_width(
18262        scrolled_window: *mut GtkScrolledWindow,
18263        width: c_int,
18264    );
18265    pub fn gtk_scrolled_window_set_min_content_height(
18266        scrolled_window: *mut GtkScrolledWindow,
18267        height: c_int,
18268    );
18269    pub fn gtk_scrolled_window_set_min_content_width(
18270        scrolled_window: *mut GtkScrolledWindow,
18271        width: c_int,
18272    );
18273    pub fn gtk_scrolled_window_set_overlay_scrolling(
18274        scrolled_window: *mut GtkScrolledWindow,
18275        overlay_scrolling: gboolean,
18276    );
18277    pub fn gtk_scrolled_window_set_placement(
18278        scrolled_window: *mut GtkScrolledWindow,
18279        window_placement: GtkCornerType,
18280    );
18281    pub fn gtk_scrolled_window_set_policy(
18282        scrolled_window: *mut GtkScrolledWindow,
18283        hscrollbar_policy: GtkPolicyType,
18284        vscrollbar_policy: GtkPolicyType,
18285    );
18286    pub fn gtk_scrolled_window_set_propagate_natural_height(
18287        scrolled_window: *mut GtkScrolledWindow,
18288        propagate: gboolean,
18289    );
18290    pub fn gtk_scrolled_window_set_propagate_natural_width(
18291        scrolled_window: *mut GtkScrolledWindow,
18292        propagate: gboolean,
18293    );
18294    pub fn gtk_scrolled_window_set_vadjustment(
18295        scrolled_window: *mut GtkScrolledWindow,
18296        vadjustment: *mut GtkAdjustment,
18297    );
18298    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18299
18300    //=========================================================================
18301    // GtkSearchBar
18302    //=========================================================================
18303    pub fn gtk_search_bar_get_type() -> GType;
18304    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18305    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18306    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18307    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18308    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18309    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18310    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18311    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18312    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18313    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18314
18315    //=========================================================================
18316    // GtkSearchEntry
18317    //=========================================================================
18318    pub fn gtk_search_entry_get_type() -> GType;
18319    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18320    #[cfg(feature = "v4_14")]
18321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18322    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18323    #[cfg(feature = "v4_14")]
18324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18325    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18326    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18327    #[cfg(feature = "v4_10")]
18328    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18329    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18330    #[cfg(feature = "v4_8")]
18331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18332    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18333    #[cfg(feature = "v4_14")]
18334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18335    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18336    #[cfg(feature = "v4_14")]
18337    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18338    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18339    pub fn gtk_search_entry_set_key_capture_widget(
18340        entry: *mut GtkSearchEntry,
18341        widget: *mut GtkWidget,
18342    );
18343    #[cfg(feature = "v4_10")]
18344    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18345    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18346    #[cfg(feature = "v4_8")]
18347    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18348    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18349
18350    //=========================================================================
18351    // GtkSelectionFilterModel
18352    //=========================================================================
18353    pub fn gtk_selection_filter_model_get_type() -> GType;
18354    pub fn gtk_selection_filter_model_new(
18355        model: *mut GtkSelectionModel,
18356    ) -> *mut GtkSelectionFilterModel;
18357    pub fn gtk_selection_filter_model_get_model(
18358        self_: *mut GtkSelectionFilterModel,
18359    ) -> *mut GtkSelectionModel;
18360    pub fn gtk_selection_filter_model_set_model(
18361        self_: *mut GtkSelectionFilterModel,
18362        model: *mut GtkSelectionModel,
18363    );
18364
18365    //=========================================================================
18366    // GtkSeparator
18367    //=========================================================================
18368    pub fn gtk_separator_get_type() -> GType;
18369    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18370
18371    //=========================================================================
18372    // GtkSettings
18373    //=========================================================================
18374    pub fn gtk_settings_get_type() -> GType;
18375    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18376    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18377    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18378
18379    //=========================================================================
18380    // GtkShortcut
18381    //=========================================================================
18382    pub fn gtk_shortcut_get_type() -> GType;
18383    pub fn gtk_shortcut_new(
18384        trigger: *mut GtkShortcutTrigger,
18385        action: *mut GtkShortcutAction,
18386    ) -> *mut GtkShortcut;
18387    pub fn gtk_shortcut_new_with_arguments(
18388        trigger: *mut GtkShortcutTrigger,
18389        action: *mut GtkShortcutAction,
18390        format_string: *const c_char,
18391        ...
18392    ) -> *mut GtkShortcut;
18393    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18394    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18395    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18396    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18397    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18398    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18399
18400    //=========================================================================
18401    // GtkShortcutAction
18402    //=========================================================================
18403    pub fn gtk_shortcut_action_get_type() -> GType;
18404    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18405    pub fn gtk_shortcut_action_activate(
18406        self_: *mut GtkShortcutAction,
18407        flags: GtkShortcutActionFlags,
18408        widget: *mut GtkWidget,
18409        args: *mut glib::GVariant,
18410    ) -> gboolean;
18411    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18412    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18413
18414    //=========================================================================
18415    // GtkShortcutController
18416    //=========================================================================
18417    pub fn gtk_shortcut_controller_get_type() -> GType;
18418    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18419    pub fn gtk_shortcut_controller_new_for_model(
18420        model: *mut gio::GListModel,
18421    ) -> *mut GtkEventController;
18422    pub fn gtk_shortcut_controller_add_shortcut(
18423        self_: *mut GtkShortcutController,
18424        shortcut: *mut GtkShortcut,
18425    );
18426    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18427        self_: *mut GtkShortcutController,
18428    ) -> gdk::GdkModifierType;
18429    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18430    -> GtkShortcutScope;
18431    pub fn gtk_shortcut_controller_remove_shortcut(
18432        self_: *mut GtkShortcutController,
18433        shortcut: *mut GtkShortcut,
18434    );
18435    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18436        self_: *mut GtkShortcutController,
18437        modifiers: gdk::GdkModifierType,
18438    );
18439    pub fn gtk_shortcut_controller_set_scope(
18440        self_: *mut GtkShortcutController,
18441        scope: GtkShortcutScope,
18442    );
18443
18444    //=========================================================================
18445    // GtkShortcutLabel
18446    //=========================================================================
18447    pub fn gtk_shortcut_label_get_type() -> GType;
18448    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18449    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18450    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18451    pub fn gtk_shortcut_label_set_accelerator(
18452        self_: *mut GtkShortcutLabel,
18453        accelerator: *const c_char,
18454    );
18455    pub fn gtk_shortcut_label_set_disabled_text(
18456        self_: *mut GtkShortcutLabel,
18457        disabled_text: *const c_char,
18458    );
18459
18460    //=========================================================================
18461    // GtkShortcutTrigger
18462    //=========================================================================
18463    pub fn gtk_shortcut_trigger_get_type() -> GType;
18464    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18465    #[cfg(feature = "v4_24")]
18466    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18467    pub fn gtk_shortcut_trigger_create_for_menu() -> *mut GtkShortcutTrigger;
18468    #[cfg(feature = "v4_24")]
18469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18470    pub fn gtk_shortcut_trigger_create_with_aliases(
18471        keyval: c_uint,
18472        modifiers: gdk::GdkModifierType,
18473    ) -> *mut GtkShortcutTrigger;
18474    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18475    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18476    -> gboolean;
18477    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18478    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18479    pub fn gtk_shortcut_trigger_print_label(
18480        self_: *mut GtkShortcutTrigger,
18481        display: *mut gdk::GdkDisplay,
18482        string: *mut glib::GString,
18483    ) -> gboolean;
18484    pub fn gtk_shortcut_trigger_to_label(
18485        self_: *mut GtkShortcutTrigger,
18486        display: *mut gdk::GdkDisplay,
18487    ) -> *mut c_char;
18488    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18489    pub fn gtk_shortcut_trigger_trigger(
18490        self_: *mut GtkShortcutTrigger,
18491        event: *mut gdk::GdkEvent,
18492        enable_mnemonics: gboolean,
18493    ) -> gdk::GdkKeyMatch;
18494
18495    //=========================================================================
18496    // GtkShortcutsGroup
18497    //=========================================================================
18498    pub fn gtk_shortcuts_group_get_type() -> GType;
18499    #[cfg(feature = "v4_14")]
18500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18501    pub fn gtk_shortcuts_group_add_shortcut(
18502        self_: *mut GtkShortcutsGroup,
18503        shortcut: *mut GtkShortcutsShortcut,
18504    );
18505
18506    //=========================================================================
18507    // GtkShortcutsSection
18508    //=========================================================================
18509    pub fn gtk_shortcuts_section_get_type() -> GType;
18510    #[cfg(feature = "v4_14")]
18511    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18512    pub fn gtk_shortcuts_section_add_group(
18513        self_: *mut GtkShortcutsSection,
18514        group: *mut GtkShortcutsGroup,
18515    );
18516
18517    //=========================================================================
18518    // GtkShortcutsShortcut
18519    //=========================================================================
18520    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18521
18522    //=========================================================================
18523    // GtkShortcutsWindow
18524    //=========================================================================
18525    pub fn gtk_shortcuts_window_get_type() -> GType;
18526    #[cfg(feature = "v4_14")]
18527    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18528    pub fn gtk_shortcuts_window_add_section(
18529        self_: *mut GtkShortcutsWindow,
18530        section: *mut GtkShortcutsSection,
18531    );
18532
18533    //=========================================================================
18534    // GtkSignalAction
18535    //=========================================================================
18536    pub fn gtk_signal_action_get_type() -> GType;
18537    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18538    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18539
18540    //=========================================================================
18541    // GtkSignalListItemFactory
18542    //=========================================================================
18543    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18544    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18545
18546    //=========================================================================
18547    // GtkSingleSelection
18548    //=========================================================================
18549    pub fn gtk_single_selection_get_type() -> GType;
18550    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18551    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18552    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18553    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18554    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18555    pub fn gtk_single_selection_get_selected_item(
18556        self_: *mut GtkSingleSelection,
18557    ) -> *mut gobject::GObject;
18558    pub fn gtk_single_selection_set_autoselect(
18559        self_: *mut GtkSingleSelection,
18560        autoselect: gboolean,
18561    );
18562    pub fn gtk_single_selection_set_can_unselect(
18563        self_: *mut GtkSingleSelection,
18564        can_unselect: gboolean,
18565    );
18566    pub fn gtk_single_selection_set_model(
18567        self_: *mut GtkSingleSelection,
18568        model: *mut gio::GListModel,
18569    );
18570    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18571
18572    //=========================================================================
18573    // GtkSizeGroup
18574    //=========================================================================
18575    pub fn gtk_size_group_get_type() -> GType;
18576    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18577    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18578    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18579    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18580    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18581    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18582
18583    //=========================================================================
18584    // GtkSliceListModel
18585    //=========================================================================
18586    pub fn gtk_slice_list_model_get_type() -> GType;
18587    pub fn gtk_slice_list_model_new(
18588        model: *mut gio::GListModel,
18589        offset: c_uint,
18590        size: c_uint,
18591    ) -> *mut GtkSliceListModel;
18592    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18593    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18594    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18595    pub fn gtk_slice_list_model_set_model(
18596        self_: *mut GtkSliceListModel,
18597        model: *mut gio::GListModel,
18598    );
18599    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18600    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18601
18602    //=========================================================================
18603    // GtkSnapshot
18604    //=========================================================================
18605    pub fn gtk_snapshot_get_type() -> GType;
18606    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18607    pub fn gtk_snapshot_append_border(
18608        snapshot: *mut GtkSnapshot,
18609        outline: *const gsk::GskRoundedRect,
18610        border_width: *const [c_float; 4],
18611        border_color: *const [gdk::GdkRGBA; 4],
18612    );
18613    pub fn gtk_snapshot_append_cairo(
18614        snapshot: *mut GtkSnapshot,
18615        bounds: *const graphene::graphene_rect_t,
18616    ) -> *mut cairo::cairo_t;
18617    pub fn gtk_snapshot_append_color(
18618        snapshot: *mut GtkSnapshot,
18619        color: *const gdk::GdkRGBA,
18620        bounds: *const graphene::graphene_rect_t,
18621    );
18622    pub fn gtk_snapshot_append_conic_gradient(
18623        snapshot: *mut GtkSnapshot,
18624        bounds: *const graphene::graphene_rect_t,
18625        center: *const graphene::graphene_point_t,
18626        rotation: c_float,
18627        stops: *const gsk::GskColorStop,
18628        n_stops: size_t,
18629    );
18630    #[cfg(feature = "v4_14")]
18631    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18632    pub fn gtk_snapshot_append_fill(
18633        snapshot: *mut GtkSnapshot,
18634        path: *mut gsk::GskPath,
18635        fill_rule: gsk::GskFillRule,
18636        color: *const gdk::GdkRGBA,
18637    );
18638    pub fn gtk_snapshot_append_inset_shadow(
18639        snapshot: *mut GtkSnapshot,
18640        outline: *const gsk::GskRoundedRect,
18641        color: *const gdk::GdkRGBA,
18642        dx: c_float,
18643        dy: c_float,
18644        spread: c_float,
18645        blur_radius: c_float,
18646    );
18647    pub fn gtk_snapshot_append_layout(
18648        snapshot: *mut GtkSnapshot,
18649        layout: *mut pango::PangoLayout,
18650        color: *const gdk::GdkRGBA,
18651    );
18652    pub fn gtk_snapshot_append_linear_gradient(
18653        snapshot: *mut GtkSnapshot,
18654        bounds: *const graphene::graphene_rect_t,
18655        start_point: *const graphene::graphene_point_t,
18656        end_point: *const graphene::graphene_point_t,
18657        stops: *const gsk::GskColorStop,
18658        n_stops: size_t,
18659    );
18660    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18661    pub fn gtk_snapshot_append_outset_shadow(
18662        snapshot: *mut GtkSnapshot,
18663        outline: *const gsk::GskRoundedRect,
18664        color: *const gdk::GdkRGBA,
18665        dx: c_float,
18666        dy: c_float,
18667        spread: c_float,
18668        blur_radius: c_float,
18669    );
18670    #[cfg(feature = "v4_22")]
18671    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18672    pub fn gtk_snapshot_append_paste(
18673        snapshot: *mut GtkSnapshot,
18674        bounds: *const graphene::graphene_rect_t,
18675        nth: size_t,
18676    );
18677    pub fn gtk_snapshot_append_radial_gradient(
18678        snapshot: *mut GtkSnapshot,
18679        bounds: *const graphene::graphene_rect_t,
18680        center: *const graphene::graphene_point_t,
18681        hradius: c_float,
18682        vradius: c_float,
18683        start: c_float,
18684        end: c_float,
18685        stops: *const gsk::GskColorStop,
18686        n_stops: size_t,
18687    );
18688    pub fn gtk_snapshot_append_repeating_linear_gradient(
18689        snapshot: *mut GtkSnapshot,
18690        bounds: *const graphene::graphene_rect_t,
18691        start_point: *const graphene::graphene_point_t,
18692        end_point: *const graphene::graphene_point_t,
18693        stops: *const gsk::GskColorStop,
18694        n_stops: size_t,
18695    );
18696    pub fn gtk_snapshot_append_repeating_radial_gradient(
18697        snapshot: *mut GtkSnapshot,
18698        bounds: *const graphene::graphene_rect_t,
18699        center: *const graphene::graphene_point_t,
18700        hradius: c_float,
18701        vradius: c_float,
18702        start: c_float,
18703        end: c_float,
18704        stops: *const gsk::GskColorStop,
18705        n_stops: size_t,
18706    );
18707    #[cfg(feature = "v4_10")]
18708    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18709    pub fn gtk_snapshot_append_scaled_texture(
18710        snapshot: *mut GtkSnapshot,
18711        texture: *mut gdk::GdkTexture,
18712        filter: gsk::GskScalingFilter,
18713        bounds: *const graphene::graphene_rect_t,
18714    );
18715    #[cfg(feature = "v4_14")]
18716    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18717    pub fn gtk_snapshot_append_stroke(
18718        snapshot: *mut GtkSnapshot,
18719        path: *mut gsk::GskPath,
18720        stroke: *const gsk::GskStroke,
18721        color: *const gdk::GdkRGBA,
18722    );
18723    pub fn gtk_snapshot_append_texture(
18724        snapshot: *mut GtkSnapshot,
18725        texture: *mut gdk::GdkTexture,
18726        bounds: *const graphene::graphene_rect_t,
18727    );
18728    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18729    pub fn gtk_snapshot_free_to_paintable(
18730        snapshot: *mut GtkSnapshot,
18731        size: *const graphene::graphene_size_t,
18732    ) -> *mut gdk::GdkPaintable;
18733    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18734    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18735    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18736    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18737    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18738    pub fn gtk_snapshot_push_clip(
18739        snapshot: *mut GtkSnapshot,
18740        bounds: *const graphene::graphene_rect_t,
18741    );
18742    pub fn gtk_snapshot_push_color_matrix(
18743        snapshot: *mut GtkSnapshot,
18744        color_matrix: *const graphene::graphene_matrix_t,
18745        color_offset: *const graphene::graphene_vec4_t,
18746    );
18747    #[cfg(feature = "v4_20")]
18748    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18749    pub fn gtk_snapshot_push_component_transfer(
18750        snapshot: *mut GtkSnapshot,
18751        red: *const gsk::GskComponentTransfer,
18752        green: *const gsk::GskComponentTransfer,
18753        blue: *const gsk::GskComponentTransfer,
18754        alpha: *const gsk::GskComponentTransfer,
18755    );
18756    #[cfg(feature = "v4_22")]
18757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18758    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18759    #[cfg(feature = "v4_22")]
18760    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18761    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18762    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18763    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18764    #[cfg(feature = "v4_14")]
18765    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18766    pub fn gtk_snapshot_push_fill(
18767        snapshot: *mut GtkSnapshot,
18768        path: *mut gsk::GskPath,
18769        fill_rule: gsk::GskFillRule,
18770    );
18771    pub fn gtk_snapshot_push_gl_shader(
18772        snapshot: *mut GtkSnapshot,
18773        shader: *mut gsk::GskGLShader,
18774        bounds: *const graphene::graphene_rect_t,
18775        take_args: *mut glib::GBytes,
18776    );
18777    #[cfg(feature = "v4_22")]
18778    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18779    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18780    #[cfg(feature = "v4_10")]
18781    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18782    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18783    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18784    pub fn gtk_snapshot_push_repeat(
18785        snapshot: *mut GtkSnapshot,
18786        bounds: *const graphene::graphene_rect_t,
18787        child_bounds: *const graphene::graphene_rect_t,
18788    );
18789    pub fn gtk_snapshot_push_rounded_clip(
18790        snapshot: *mut GtkSnapshot,
18791        bounds: *const gsk::GskRoundedRect,
18792    );
18793    pub fn gtk_snapshot_push_shadow(
18794        snapshot: *mut GtkSnapshot,
18795        shadow: *const gsk::GskShadow,
18796        n_shadows: size_t,
18797    );
18798    #[cfg(feature = "v4_14")]
18799    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18800    pub fn gtk_snapshot_push_stroke(
18801        snapshot: *mut GtkSnapshot,
18802        path: *mut gsk::GskPath,
18803        stroke: *const gsk::GskStroke,
18804    );
18805    pub fn gtk_snapshot_render_background(
18806        snapshot: *mut GtkSnapshot,
18807        context: *mut GtkStyleContext,
18808        x: c_double,
18809        y: c_double,
18810        width: c_double,
18811        height: c_double,
18812    );
18813    pub fn gtk_snapshot_render_focus(
18814        snapshot: *mut GtkSnapshot,
18815        context: *mut GtkStyleContext,
18816        x: c_double,
18817        y: c_double,
18818        width: c_double,
18819        height: c_double,
18820    );
18821    pub fn gtk_snapshot_render_frame(
18822        snapshot: *mut GtkSnapshot,
18823        context: *mut GtkStyleContext,
18824        x: c_double,
18825        y: c_double,
18826        width: c_double,
18827        height: c_double,
18828    );
18829    pub fn gtk_snapshot_render_insertion_cursor(
18830        snapshot: *mut GtkSnapshot,
18831        context: *mut GtkStyleContext,
18832        x: c_double,
18833        y: c_double,
18834        layout: *mut pango::PangoLayout,
18835        index: c_int,
18836        direction: pango::PangoDirection,
18837    );
18838    pub fn gtk_snapshot_render_layout(
18839        snapshot: *mut GtkSnapshot,
18840        context: *mut GtkStyleContext,
18841        x: c_double,
18842        y: c_double,
18843        layout: *mut pango::PangoLayout,
18844    );
18845    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18846    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18847    pub fn gtk_snapshot_rotate_3d(
18848        snapshot: *mut GtkSnapshot,
18849        angle: c_float,
18850        axis: *const graphene::graphene_vec3_t,
18851    );
18852    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18853    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18854    pub fn gtk_snapshot_scale_3d(
18855        snapshot: *mut GtkSnapshot,
18856        factor_x: c_float,
18857        factor_y: c_float,
18858        factor_z: c_float,
18859    );
18860    #[cfg(feature = "v4_24")]
18861    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18862    pub fn gtk_snapshot_set_snap(self_: *mut GtkSnapshot, snap: gsk::GskRectSnap);
18863    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18864    pub fn gtk_snapshot_to_paintable(
18865        snapshot: *mut GtkSnapshot,
18866        size: *const graphene::graphene_size_t,
18867    ) -> *mut gdk::GdkPaintable;
18868    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18869    pub fn gtk_snapshot_transform_matrix(
18870        snapshot: *mut GtkSnapshot,
18871        matrix: *const graphene::graphene_matrix_t,
18872    );
18873    pub fn gtk_snapshot_translate(
18874        snapshot: *mut GtkSnapshot,
18875        point: *const graphene::graphene_point_t,
18876    );
18877    pub fn gtk_snapshot_translate_3d(
18878        snapshot: *mut GtkSnapshot,
18879        point: *const graphene::graphene_point3d_t,
18880    );
18881
18882    //=========================================================================
18883    // GtkSortListModel
18884    //=========================================================================
18885    pub fn gtk_sort_list_model_get_type() -> GType;
18886    pub fn gtk_sort_list_model_new(
18887        model: *mut gio::GListModel,
18888        sorter: *mut GtkSorter,
18889    ) -> *mut GtkSortListModel;
18890    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18891    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18892    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18893    #[cfg(feature = "v4_12")]
18894    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18895    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18896    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18897    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18898    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18899    #[cfg(feature = "v4_12")]
18900    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18901    pub fn gtk_sort_list_model_set_section_sorter(
18902        self_: *mut GtkSortListModel,
18903        sorter: *mut GtkSorter,
18904    );
18905    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18906
18907    //=========================================================================
18908    // GtkSorter
18909    //=========================================================================
18910    pub fn gtk_sorter_get_type() -> GType;
18911    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18912    pub fn gtk_sorter_compare(
18913        self_: *mut GtkSorter,
18914        item1: *mut gobject::GObject,
18915        item2: *mut gobject::GObject,
18916    ) -> GtkOrdering;
18917    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18918
18919    //=========================================================================
18920    // GtkSpinButton
18921    //=========================================================================
18922    pub fn gtk_spin_button_get_type() -> GType;
18923    pub fn gtk_spin_button_new(
18924        adjustment: *mut GtkAdjustment,
18925        climb_rate: c_double,
18926        digits: c_uint,
18927    ) -> *mut GtkWidget;
18928    pub fn gtk_spin_button_new_with_range(
18929        min: c_double,
18930        max: c_double,
18931        step: c_double,
18932    ) -> *mut GtkWidget;
18933    pub fn gtk_spin_button_configure(
18934        spin_button: *mut GtkSpinButton,
18935        adjustment: *mut GtkAdjustment,
18936        climb_rate: c_double,
18937        digits: c_uint,
18938    );
18939    #[cfg(feature = "v4_14")]
18940    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18941    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18942    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18943    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18944    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18945    pub fn gtk_spin_button_get_increments(
18946        spin_button: *mut GtkSpinButton,
18947        step: *mut c_double,
18948        page: *mut c_double,
18949    );
18950    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18951    pub fn gtk_spin_button_get_range(
18952        spin_button: *mut GtkSpinButton,
18953        min: *mut c_double,
18954        max: *mut c_double,
18955    );
18956    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18957    pub fn gtk_spin_button_get_update_policy(
18958        spin_button: *mut GtkSpinButton,
18959    ) -> GtkSpinButtonUpdatePolicy;
18960    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18961    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18962    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18963    #[cfg(feature = "v4_14")]
18964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18965    pub fn gtk_spin_button_set_activates_default(
18966        spin_button: *mut GtkSpinButton,
18967        activates_default: gboolean,
18968    );
18969    pub fn gtk_spin_button_set_adjustment(
18970        spin_button: *mut GtkSpinButton,
18971        adjustment: *mut GtkAdjustment,
18972    );
18973    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18974    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18975    pub fn gtk_spin_button_set_increments(
18976        spin_button: *mut GtkSpinButton,
18977        step: c_double,
18978        page: c_double,
18979    );
18980    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18981    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18982    pub fn gtk_spin_button_set_snap_to_ticks(
18983        spin_button: *mut GtkSpinButton,
18984        snap_to_ticks: gboolean,
18985    );
18986    pub fn gtk_spin_button_set_update_policy(
18987        spin_button: *mut GtkSpinButton,
18988        policy: GtkSpinButtonUpdatePolicy,
18989    );
18990    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18991    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18992    pub fn gtk_spin_button_spin(
18993        spin_button: *mut GtkSpinButton,
18994        direction: GtkSpinType,
18995        increment: c_double,
18996    );
18997    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18998
18999    //=========================================================================
19000    // GtkSpinner
19001    //=========================================================================
19002    pub fn gtk_spinner_get_type() -> GType;
19003    pub fn gtk_spinner_new() -> *mut GtkWidget;
19004    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
19005    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
19006    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
19007    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
19008
19009    //=========================================================================
19010    // GtkStack
19011    //=========================================================================
19012    pub fn gtk_stack_get_type() -> GType;
19013    pub fn gtk_stack_new() -> *mut GtkWidget;
19014    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19015    pub fn gtk_stack_add_named(
19016        stack: *mut GtkStack,
19017        child: *mut GtkWidget,
19018        name: *const c_char,
19019    ) -> *mut GtkStackPage;
19020    pub fn gtk_stack_add_titled(
19021        stack: *mut GtkStack,
19022        child: *mut GtkWidget,
19023        name: *const c_char,
19024        title: *const c_char,
19025    ) -> *mut GtkStackPage;
19026    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
19027    -> *mut GtkWidget;
19028    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
19029    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
19030    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19031    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
19032    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
19033    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
19034    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
19035    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
19036    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
19037    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
19038    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
19039    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
19040    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
19041    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
19042    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
19043    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
19044    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
19045    pub fn gtk_stack_set_visible_child_full(
19046        stack: *mut GtkStack,
19047        name: *const c_char,
19048        transition: GtkStackTransitionType,
19049    );
19050    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
19051
19052    //=========================================================================
19053    // GtkStackPage
19054    //=========================================================================
19055    pub fn gtk_stack_page_get_type() -> GType;
19056    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
19057    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
19058    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
19059    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
19060    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
19061    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
19062    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
19063    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
19064    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
19065    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
19066    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
19067    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
19068    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
19069
19070    //=========================================================================
19071    // GtkStackSidebar
19072    //=========================================================================
19073    pub fn gtk_stack_sidebar_get_type() -> GType;
19074    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
19075    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
19076    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
19077
19078    //=========================================================================
19079    // GtkStackSwitcher
19080    //=========================================================================
19081    pub fn gtk_stack_switcher_get_type() -> GType;
19082    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
19083    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
19084    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
19085
19086    //=========================================================================
19087    // GtkStatusbar
19088    //=========================================================================
19089    pub fn gtk_statusbar_get_type() -> GType;
19090    pub fn gtk_statusbar_new() -> *mut GtkWidget;
19091    pub fn gtk_statusbar_get_context_id(
19092        statusbar: *mut GtkStatusbar,
19093        context_description: *const c_char,
19094    ) -> c_uint;
19095    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
19096    pub fn gtk_statusbar_push(
19097        statusbar: *mut GtkStatusbar,
19098        context_id: c_uint,
19099        text: *const c_char,
19100    ) -> c_uint;
19101    pub fn gtk_statusbar_remove(
19102        statusbar: *mut GtkStatusbar,
19103        context_id: c_uint,
19104        message_id: c_uint,
19105    );
19106    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
19107
19108    //=========================================================================
19109    // GtkStringFilter
19110    //=========================================================================
19111    pub fn gtk_string_filter_get_type() -> GType;
19112    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
19113    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
19114    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
19115    pub fn gtk_string_filter_get_match_mode(
19116        self_: *mut GtkStringFilter,
19117    ) -> GtkStringFilterMatchMode;
19118    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
19119    pub fn gtk_string_filter_set_expression(
19120        self_: *mut GtkStringFilter,
19121        expression: *mut GtkExpression,
19122    );
19123    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
19124    pub fn gtk_string_filter_set_match_mode(
19125        self_: *mut GtkStringFilter,
19126        mode: GtkStringFilterMatchMode,
19127    );
19128    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
19129
19130    //=========================================================================
19131    // GtkStringList
19132    //=========================================================================
19133    pub fn gtk_string_list_get_type() -> GType;
19134    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
19135    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
19136    #[cfg(feature = "v4_18")]
19137    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19138    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
19139    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
19140    -> *const c_char;
19141    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
19142    pub fn gtk_string_list_splice(
19143        self_: *mut GtkStringList,
19144        position: c_uint,
19145        n_removals: c_uint,
19146        additions: *const *const c_char,
19147    );
19148    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19149
19150    //=========================================================================
19151    // GtkStringObject
19152    //=========================================================================
19153    pub fn gtk_string_object_get_type() -> GType;
19154    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19155    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19156
19157    //=========================================================================
19158    // GtkStringSorter
19159    //=========================================================================
19160    pub fn gtk_string_sorter_get_type() -> GType;
19161    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19162    #[cfg(feature = "v4_10")]
19163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19164    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19165    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19166    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19167    #[cfg(feature = "v4_10")]
19168    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19169    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19170    pub fn gtk_string_sorter_set_expression(
19171        self_: *mut GtkStringSorter,
19172        expression: *mut GtkExpression,
19173    );
19174    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19175
19176    //=========================================================================
19177    // GtkStyleContext
19178    //=========================================================================
19179    pub fn gtk_style_context_get_type() -> GType;
19180    pub fn gtk_style_context_add_provider_for_display(
19181        display: *mut gdk::GdkDisplay,
19182        provider: *mut GtkStyleProvider,
19183        priority: c_uint,
19184    );
19185    pub fn gtk_style_context_remove_provider_for_display(
19186        display: *mut gdk::GdkDisplay,
19187        provider: *mut GtkStyleProvider,
19188    );
19189    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19190    pub fn gtk_style_context_add_provider(
19191        context: *mut GtkStyleContext,
19192        provider: *mut GtkStyleProvider,
19193        priority: c_uint,
19194    );
19195    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19196    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19197    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19198    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19199    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19200    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19201    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19202    pub fn gtk_style_context_has_class(
19203        context: *mut GtkStyleContext,
19204        class_name: *const c_char,
19205    ) -> gboolean;
19206    pub fn gtk_style_context_lookup_color(
19207        context: *mut GtkStyleContext,
19208        color_name: *const c_char,
19209        color: *mut gdk::GdkRGBA,
19210    ) -> gboolean;
19211    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19212    pub fn gtk_style_context_remove_provider(
19213        context: *mut GtkStyleContext,
19214        provider: *mut GtkStyleProvider,
19215    );
19216    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19217    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19218    pub fn gtk_style_context_set_display(
19219        context: *mut GtkStyleContext,
19220        display: *mut gdk::GdkDisplay,
19221    );
19222    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19223    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19224    pub fn gtk_style_context_to_string(
19225        context: *mut GtkStyleContext,
19226        flags: GtkStyleContextPrintFlags,
19227    ) -> *mut c_char;
19228
19229    //=========================================================================
19230    // GtkSvg
19231    //=========================================================================
19232    #[cfg(feature = "v4_22")]
19233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19234    pub fn gtk_svg_get_type() -> GType;
19235    #[cfg(feature = "v4_22")]
19236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19237    pub fn gtk_svg_new() -> *mut GtkSvg;
19238    #[cfg(feature = "v4_22")]
19239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19240    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19241    #[cfg(feature = "v4_22")]
19242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19243    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19244    #[cfg(feature = "v4_22")]
19245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19246    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19247    #[cfg(feature = "v4_24")]
19248    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19249    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19250    #[cfg(feature = "v4_22")]
19251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19252    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19253    #[cfg(feature = "v4_22")]
19254    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19255    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19256    #[cfg(feature = "v4_24")]
19257    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19258    pub fn gtk_svg_get_stylesheet(self_: *mut GtkSvg) -> *mut glib::GBytes;
19259    #[cfg(feature = "v4_22")]
19260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19261    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19262    #[cfg(feature = "v4_22")]
19263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19264    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19265    #[cfg(feature = "v4_22")]
19266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19267    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19268    #[cfg(feature = "v4_22")]
19269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19270    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19271    #[cfg(feature = "v4_22")]
19272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19273    pub fn gtk_svg_play(self_: *mut GtkSvg);
19274    #[cfg(feature = "v4_22")]
19275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19276    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19277    #[cfg(feature = "v4_22")]
19278    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19279    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19280    #[cfg(feature = "v4_22")]
19281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19282    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19283    #[cfg(feature = "v4_24")]
19284    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19285    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19286    #[cfg(feature = "v4_24")]
19287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19288    pub fn gtk_svg_set_settings(self_: *mut GtkSvg, settings: *mut GtkSettings);
19289    #[cfg(feature = "v4_22")]
19290    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19291    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19292    #[cfg(feature = "v4_24")]
19293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19294    pub fn gtk_svg_set_stylesheet(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19295    #[cfg(feature = "v4_22")]
19296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19297    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19298    #[cfg(feature = "v4_22")]
19299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19300    pub fn gtk_svg_write_to_file(
19301        self_: *mut GtkSvg,
19302        filename: *const c_char,
19303        error: *mut *mut glib::GError,
19304    ) -> gboolean;
19305
19306    //=========================================================================
19307    // GtkSvgWidget
19308    //=========================================================================
19309    #[cfg(feature = "v4_24")]
19310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19311    pub fn gtk_svg_widget_get_type() -> GType;
19312    #[cfg(feature = "v4_24")]
19313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19314    pub fn gtk_svg_widget_new() -> *mut GtkSvgWidget;
19315    #[cfg(feature = "v4_24")]
19316    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19317    pub fn gtk_svg_widget_get_state(self_: *mut GtkSvgWidget) -> c_uint;
19318    #[cfg(feature = "v4_24")]
19319    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19320    pub fn gtk_svg_widget_get_stylesheet(self_: *mut GtkSvgWidget) -> *mut glib::GBytes;
19321    #[cfg(feature = "v4_24")]
19322    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19323    pub fn gtk_svg_widget_load_from_bytes(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19324    #[cfg(feature = "v4_24")]
19325    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19326    pub fn gtk_svg_widget_set_state(self_: *mut GtkSvgWidget, state: c_uint);
19327    #[cfg(feature = "v4_24")]
19328    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19329    pub fn gtk_svg_widget_set_stylesheet(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19330
19331    //=========================================================================
19332    // GtkSwitch
19333    //=========================================================================
19334    pub fn gtk_switch_get_type() -> GType;
19335    pub fn gtk_switch_new() -> *mut GtkWidget;
19336    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19337    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19338    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19339    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19340
19341    //=========================================================================
19342    // GtkText
19343    //=========================================================================
19344    pub fn gtk_text_get_type() -> GType;
19345    pub fn gtk_text_new() -> *mut GtkWidget;
19346    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19347    #[cfg(feature = "v4_4")]
19348    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19349    pub fn gtk_text_compute_cursor_extents(
19350        self_: *mut GtkText,
19351        position: size_t,
19352        strong: *mut graphene::graphene_rect_t,
19353        weak: *mut graphene::graphene_rect_t,
19354    );
19355    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19356    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19357    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19358    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19359    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19360    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19361    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19362    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19363    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19364    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19365    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19366    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19367    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19368    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19369    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19370    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19371    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19372    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19373    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19374    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19375    pub fn gtk_text_set_enable_emoji_completion(
19376        self_: *mut GtkText,
19377        enable_emoji_completion: gboolean,
19378    );
19379    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19380    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19381    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19382    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19383    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19384    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19385    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19386    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19387    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19388    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19389    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19390    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19391
19392    //=========================================================================
19393    // GtkTextBuffer
19394    //=========================================================================
19395    pub fn gtk_text_buffer_get_type() -> GType;
19396    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19397    #[cfg(feature = "v4_16")]
19398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19399    pub fn gtk_text_buffer_add_commit_notify(
19400        buffer: *mut GtkTextBuffer,
19401        flags: GtkTextBufferNotifyFlags,
19402        commit_notify: GtkTextBufferCommitNotify,
19403        user_data: gpointer,
19404        destroy: glib::GDestroyNotify,
19405    ) -> c_uint;
19406    pub fn gtk_text_buffer_add_mark(
19407        buffer: *mut GtkTextBuffer,
19408        mark: *mut GtkTextMark,
19409        where_: *const GtkTextIter,
19410    );
19411    pub fn gtk_text_buffer_add_selection_clipboard(
19412        buffer: *mut GtkTextBuffer,
19413        clipboard: *mut gdk::GdkClipboard,
19414    );
19415    pub fn gtk_text_buffer_apply_tag(
19416        buffer: *mut GtkTextBuffer,
19417        tag: *mut GtkTextTag,
19418        start: *const GtkTextIter,
19419        end: *const GtkTextIter,
19420    );
19421    pub fn gtk_text_buffer_apply_tag_by_name(
19422        buffer: *mut GtkTextBuffer,
19423        name: *const c_char,
19424        start: *const GtkTextIter,
19425        end: *const GtkTextIter,
19426    );
19427    pub fn gtk_text_buffer_backspace(
19428        buffer: *mut GtkTextBuffer,
19429        iter: *mut GtkTextIter,
19430        interactive: gboolean,
19431        default_editable: gboolean,
19432    ) -> gboolean;
19433    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19434    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19435    pub fn gtk_text_buffer_copy_clipboard(
19436        buffer: *mut GtkTextBuffer,
19437        clipboard: *mut gdk::GdkClipboard,
19438    );
19439    pub fn gtk_text_buffer_create_child_anchor(
19440        buffer: *mut GtkTextBuffer,
19441        iter: *mut GtkTextIter,
19442    ) -> *mut GtkTextChildAnchor;
19443    pub fn gtk_text_buffer_create_mark(
19444        buffer: *mut GtkTextBuffer,
19445        mark_name: *const c_char,
19446        where_: *const GtkTextIter,
19447        left_gravity: gboolean,
19448    ) -> *mut GtkTextMark;
19449    pub fn gtk_text_buffer_create_tag(
19450        buffer: *mut GtkTextBuffer,
19451        tag_name: *const c_char,
19452        first_property_name: *const c_char,
19453        ...
19454    ) -> *mut GtkTextTag;
19455    pub fn gtk_text_buffer_cut_clipboard(
19456        buffer: *mut GtkTextBuffer,
19457        clipboard: *mut gdk::GdkClipboard,
19458        default_editable: gboolean,
19459    );
19460    pub fn gtk_text_buffer_delete(
19461        buffer: *mut GtkTextBuffer,
19462        start: *mut GtkTextIter,
19463        end: *mut GtkTextIter,
19464    );
19465    pub fn gtk_text_buffer_delete_interactive(
19466        buffer: *mut GtkTextBuffer,
19467        start_iter: *mut GtkTextIter,
19468        end_iter: *mut GtkTextIter,
19469        default_editable: gboolean,
19470    ) -> gboolean;
19471    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19472    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19473    pub fn gtk_text_buffer_delete_selection(
19474        buffer: *mut GtkTextBuffer,
19475        interactive: gboolean,
19476        default_editable: gboolean,
19477    ) -> gboolean;
19478    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19479    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19480    pub fn gtk_text_buffer_get_bounds(
19481        buffer: *mut GtkTextBuffer,
19482        start: *mut GtkTextIter,
19483        end: *mut GtkTextIter,
19484    );
19485    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19486    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19487    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19488    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19489    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19490    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19491    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19492    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19493        buffer: *mut GtkTextBuffer,
19494        iter: *mut GtkTextIter,
19495        anchor: *mut GtkTextChildAnchor,
19496    );
19497    pub fn gtk_text_buffer_get_iter_at_line(
19498        buffer: *mut GtkTextBuffer,
19499        iter: *mut GtkTextIter,
19500        line_number: c_int,
19501    ) -> gboolean;
19502    pub fn gtk_text_buffer_get_iter_at_line_index(
19503        buffer: *mut GtkTextBuffer,
19504        iter: *mut GtkTextIter,
19505        line_number: c_int,
19506        byte_index: c_int,
19507    ) -> gboolean;
19508    pub fn gtk_text_buffer_get_iter_at_line_offset(
19509        buffer: *mut GtkTextBuffer,
19510        iter: *mut GtkTextIter,
19511        line_number: c_int,
19512        char_offset: c_int,
19513    ) -> gboolean;
19514    pub fn gtk_text_buffer_get_iter_at_mark(
19515        buffer: *mut GtkTextBuffer,
19516        iter: *mut GtkTextIter,
19517        mark: *mut GtkTextMark,
19518    );
19519    pub fn gtk_text_buffer_get_iter_at_offset(
19520        buffer: *mut GtkTextBuffer,
19521        iter: *mut GtkTextIter,
19522        char_offset: c_int,
19523    );
19524    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19525    pub fn gtk_text_buffer_get_mark(
19526        buffer: *mut GtkTextBuffer,
19527        name: *const c_char,
19528    ) -> *mut GtkTextMark;
19529    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19530    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19531    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19532    pub fn gtk_text_buffer_get_selection_bounds(
19533        buffer: *mut GtkTextBuffer,
19534        start: *mut GtkTextIter,
19535        end: *mut GtkTextIter,
19536    ) -> gboolean;
19537    pub fn gtk_text_buffer_get_selection_content(
19538        buffer: *mut GtkTextBuffer,
19539    ) -> *mut gdk::GdkContentProvider;
19540    pub fn gtk_text_buffer_get_slice(
19541        buffer: *mut GtkTextBuffer,
19542        start: *const GtkTextIter,
19543        end: *const GtkTextIter,
19544        include_hidden_chars: gboolean,
19545    ) -> *mut c_char;
19546    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19547    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19548    pub fn gtk_text_buffer_get_text(
19549        buffer: *mut GtkTextBuffer,
19550        start: *const GtkTextIter,
19551        end: *const GtkTextIter,
19552        include_hidden_chars: gboolean,
19553    ) -> *mut c_char;
19554    pub fn gtk_text_buffer_insert(
19555        buffer: *mut GtkTextBuffer,
19556        iter: *mut GtkTextIter,
19557        text: *const c_char,
19558        len: c_int,
19559    );
19560    pub fn gtk_text_buffer_insert_at_cursor(
19561        buffer: *mut GtkTextBuffer,
19562        text: *const c_char,
19563        len: c_int,
19564    );
19565    pub fn gtk_text_buffer_insert_child_anchor(
19566        buffer: *mut GtkTextBuffer,
19567        iter: *mut GtkTextIter,
19568        anchor: *mut GtkTextChildAnchor,
19569    );
19570    pub fn gtk_text_buffer_insert_interactive(
19571        buffer: *mut GtkTextBuffer,
19572        iter: *mut GtkTextIter,
19573        text: *const c_char,
19574        len: c_int,
19575        default_editable: gboolean,
19576    ) -> gboolean;
19577    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19578        buffer: *mut GtkTextBuffer,
19579        text: *const c_char,
19580        len: c_int,
19581        default_editable: gboolean,
19582    ) -> gboolean;
19583    pub fn gtk_text_buffer_insert_markup(
19584        buffer: *mut GtkTextBuffer,
19585        iter: *mut GtkTextIter,
19586        markup: *const c_char,
19587        len: c_int,
19588    );
19589    pub fn gtk_text_buffer_insert_paintable(
19590        buffer: *mut GtkTextBuffer,
19591        iter: *mut GtkTextIter,
19592        paintable: *mut gdk::GdkPaintable,
19593    );
19594    pub fn gtk_text_buffer_insert_range(
19595        buffer: *mut GtkTextBuffer,
19596        iter: *mut GtkTextIter,
19597        start: *const GtkTextIter,
19598        end: *const GtkTextIter,
19599    );
19600    pub fn gtk_text_buffer_insert_range_interactive(
19601        buffer: *mut GtkTextBuffer,
19602        iter: *mut GtkTextIter,
19603        start: *const GtkTextIter,
19604        end: *const GtkTextIter,
19605        default_editable: gboolean,
19606    ) -> gboolean;
19607    pub fn gtk_text_buffer_insert_with_tags(
19608        buffer: *mut GtkTextBuffer,
19609        iter: *mut GtkTextIter,
19610        text: *const c_char,
19611        len: c_int,
19612        first_tag: *mut GtkTextTag,
19613        ...
19614    );
19615    pub fn gtk_text_buffer_insert_with_tags_by_name(
19616        buffer: *mut GtkTextBuffer,
19617        iter: *mut GtkTextIter,
19618        text: *const c_char,
19619        len: c_int,
19620        first_tag_name: *const c_char,
19621        ...
19622    );
19623    pub fn gtk_text_buffer_move_mark(
19624        buffer: *mut GtkTextBuffer,
19625        mark: *mut GtkTextMark,
19626        where_: *const GtkTextIter,
19627    );
19628    pub fn gtk_text_buffer_move_mark_by_name(
19629        buffer: *mut GtkTextBuffer,
19630        name: *const c_char,
19631        where_: *const GtkTextIter,
19632    );
19633    pub fn gtk_text_buffer_paste_clipboard(
19634        buffer: *mut GtkTextBuffer,
19635        clipboard: *mut gdk::GdkClipboard,
19636        override_location: *mut GtkTextIter,
19637        default_editable: gboolean,
19638    );
19639    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19640    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19641    pub fn gtk_text_buffer_remove_all_tags(
19642        buffer: *mut GtkTextBuffer,
19643        start: *const GtkTextIter,
19644        end: *const GtkTextIter,
19645    );
19646    #[cfg(feature = "v4_16")]
19647    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19648    pub fn gtk_text_buffer_remove_commit_notify(
19649        buffer: *mut GtkTextBuffer,
19650        commit_notify_handler: c_uint,
19651    );
19652    pub fn gtk_text_buffer_remove_selection_clipboard(
19653        buffer: *mut GtkTextBuffer,
19654        clipboard: *mut gdk::GdkClipboard,
19655    );
19656    pub fn gtk_text_buffer_remove_tag(
19657        buffer: *mut GtkTextBuffer,
19658        tag: *mut GtkTextTag,
19659        start: *const GtkTextIter,
19660        end: *const GtkTextIter,
19661    );
19662    pub fn gtk_text_buffer_remove_tag_by_name(
19663        buffer: *mut GtkTextBuffer,
19664        name: *const c_char,
19665        start: *const GtkTextIter,
19666        end: *const GtkTextIter,
19667    );
19668    pub fn gtk_text_buffer_select_range(
19669        buffer: *mut GtkTextBuffer,
19670        ins: *const GtkTextIter,
19671        bound: *const GtkTextIter,
19672    );
19673    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19674    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19675    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19676    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19677    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19678
19679    //=========================================================================
19680    // GtkTextChildAnchor
19681    //=========================================================================
19682    pub fn gtk_text_child_anchor_get_type() -> GType;
19683    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19684    #[cfg(feature = "v4_6")]
19685    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19686    pub fn gtk_text_child_anchor_new_with_replacement(
19687        character: *const c_char,
19688    ) -> *mut GtkTextChildAnchor;
19689    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19690    pub fn gtk_text_child_anchor_get_widgets(
19691        anchor: *mut GtkTextChildAnchor,
19692        out_len: *mut c_uint,
19693    ) -> *mut *mut GtkWidget;
19694
19695    //=========================================================================
19696    // GtkTextMark
19697    //=========================================================================
19698    pub fn gtk_text_mark_get_type() -> GType;
19699    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19700    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19701    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19702    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19703    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19704    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19705    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19706
19707    //=========================================================================
19708    // GtkTextTag
19709    //=========================================================================
19710    pub fn gtk_text_tag_get_type() -> GType;
19711    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19712    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19713    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19714    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19715
19716    //=========================================================================
19717    // GtkTextTagTable
19718    //=========================================================================
19719    pub fn gtk_text_tag_table_get_type() -> GType;
19720    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19721    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19722    pub fn gtk_text_tag_table_foreach(
19723        table: *mut GtkTextTagTable,
19724        func: GtkTextTagTableForeach,
19725        data: gpointer,
19726    );
19727    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19728    pub fn gtk_text_tag_table_lookup(
19729        table: *mut GtkTextTagTable,
19730        name: *const c_char,
19731    ) -> *mut GtkTextTag;
19732    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19733
19734    //=========================================================================
19735    // GtkTextView
19736    //=========================================================================
19737    pub fn gtk_text_view_get_type() -> GType;
19738    pub fn gtk_text_view_new() -> *mut GtkWidget;
19739    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19740    pub fn gtk_text_view_add_child_at_anchor(
19741        text_view: *mut GtkTextView,
19742        child: *mut GtkWidget,
19743        anchor: *mut GtkTextChildAnchor,
19744    );
19745    pub fn gtk_text_view_add_overlay(
19746        text_view: *mut GtkTextView,
19747        child: *mut GtkWidget,
19748        xpos: c_int,
19749        ypos: c_int,
19750    );
19751    pub fn gtk_text_view_backward_display_line(
19752        text_view: *mut GtkTextView,
19753        iter: *mut GtkTextIter,
19754    ) -> gboolean;
19755    pub fn gtk_text_view_backward_display_line_start(
19756        text_view: *mut GtkTextView,
19757        iter: *mut GtkTextIter,
19758    ) -> gboolean;
19759    pub fn gtk_text_view_buffer_to_window_coords(
19760        text_view: *mut GtkTextView,
19761        win: GtkTextWindowType,
19762        buffer_x: c_int,
19763        buffer_y: c_int,
19764        window_x: *mut c_int,
19765        window_y: *mut c_int,
19766    );
19767    pub fn gtk_text_view_forward_display_line(
19768        text_view: *mut GtkTextView,
19769        iter: *mut GtkTextIter,
19770    ) -> gboolean;
19771    pub fn gtk_text_view_forward_display_line_end(
19772        text_view: *mut GtkTextView,
19773        iter: *mut GtkTextIter,
19774    ) -> gboolean;
19775    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19776    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19777    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19778    pub fn gtk_text_view_get_cursor_locations(
19779        text_view: *mut GtkTextView,
19780        iter: *const GtkTextIter,
19781        strong: *mut gdk::GdkRectangle,
19782        weak: *mut gdk::GdkRectangle,
19783    );
19784    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19785    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19786    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19787    pub fn gtk_text_view_get_gutter(
19788        text_view: *mut GtkTextView,
19789        win: GtkTextWindowType,
19790    ) -> *mut GtkWidget;
19791    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19792    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19793    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19794    pub fn gtk_text_view_get_iter_at_location(
19795        text_view: *mut GtkTextView,
19796        iter: *mut GtkTextIter,
19797        x: c_int,
19798        y: c_int,
19799    ) -> gboolean;
19800    pub fn gtk_text_view_get_iter_at_position(
19801        text_view: *mut GtkTextView,
19802        iter: *mut GtkTextIter,
19803        trailing: *mut c_int,
19804        x: c_int,
19805        y: c_int,
19806    ) -> gboolean;
19807    pub fn gtk_text_view_get_iter_location(
19808        text_view: *mut GtkTextView,
19809        iter: *const GtkTextIter,
19810        location: *mut gdk::GdkRectangle,
19811    );
19812    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19813    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19814    pub fn gtk_text_view_get_line_at_y(
19815        text_view: *mut GtkTextView,
19816        target_iter: *mut GtkTextIter,
19817        y: c_int,
19818        line_top: *mut c_int,
19819    );
19820    pub fn gtk_text_view_get_line_yrange(
19821        text_view: *mut GtkTextView,
19822        iter: *const GtkTextIter,
19823        y: *mut c_int,
19824        height: *mut c_int,
19825    );
19826    #[cfg(feature = "v4_4")]
19827    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19828    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19829    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19830    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19831    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19832    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19833    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19834    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19835    #[cfg(feature = "v4_4")]
19836    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19837    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19838    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19839    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19840    #[cfg(feature = "v4_18")]
19841    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19842    pub fn gtk_text_view_get_visible_offset(
19843        text_view: *mut GtkTextView,
19844        x_offset: *mut c_double,
19845        y_offset: *mut c_double,
19846    );
19847    pub fn gtk_text_view_get_visible_rect(
19848        text_view: *mut GtkTextView,
19849        visible_rect: *mut gdk::GdkRectangle,
19850    );
19851    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19852    pub fn gtk_text_view_im_context_filter_keypress(
19853        text_view: *mut GtkTextView,
19854        event: *mut gdk::GdkEvent,
19855    ) -> gboolean;
19856    pub fn gtk_text_view_move_mark_onscreen(
19857        text_view: *mut GtkTextView,
19858        mark: *mut GtkTextMark,
19859    ) -> gboolean;
19860    pub fn gtk_text_view_move_overlay(
19861        text_view: *mut GtkTextView,
19862        child: *mut GtkWidget,
19863        xpos: c_int,
19864        ypos: c_int,
19865    );
19866    pub fn gtk_text_view_move_visually(
19867        text_view: *mut GtkTextView,
19868        iter: *mut GtkTextIter,
19869        count: c_int,
19870    ) -> gboolean;
19871    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19872    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19873    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19874    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19875    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19876    pub fn gtk_text_view_scroll_to_iter(
19877        text_view: *mut GtkTextView,
19878        iter: *mut GtkTextIter,
19879        within_margin: c_double,
19880        use_align: gboolean,
19881        xalign: c_double,
19882        yalign: c_double,
19883    ) -> gboolean;
19884    pub fn gtk_text_view_scroll_to_mark(
19885        text_view: *mut GtkTextView,
19886        mark: *mut GtkTextMark,
19887        within_margin: c_double,
19888        use_align: gboolean,
19889        xalign: c_double,
19890        yalign: c_double,
19891    );
19892    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19893    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19894    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19895    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19896    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19897    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19898    pub fn gtk_text_view_set_gutter(
19899        text_view: *mut GtkTextView,
19900        win: GtkTextWindowType,
19901        widget: *mut GtkWidget,
19902    );
19903    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19904    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19905    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19906    pub fn gtk_text_view_set_justification(
19907        text_view: *mut GtkTextView,
19908        justification: GtkJustification,
19909    );
19910    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19911    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19912    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19913    pub fn gtk_text_view_set_pixels_above_lines(
19914        text_view: *mut GtkTextView,
19915        pixels_above_lines: c_int,
19916    );
19917    pub fn gtk_text_view_set_pixels_below_lines(
19918        text_view: *mut GtkTextView,
19919        pixels_below_lines: c_int,
19920    );
19921    pub fn gtk_text_view_set_pixels_inside_wrap(
19922        text_view: *mut GtkTextView,
19923        pixels_inside_wrap: c_int,
19924    );
19925    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19926    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19927    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19928    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19929    pub fn gtk_text_view_starts_display_line(
19930        text_view: *mut GtkTextView,
19931        iter: *const GtkTextIter,
19932    ) -> gboolean;
19933    pub fn gtk_text_view_window_to_buffer_coords(
19934        text_view: *mut GtkTextView,
19935        win: GtkTextWindowType,
19936        window_x: c_int,
19937        window_y: c_int,
19938        buffer_x: *mut c_int,
19939        buffer_y: *mut c_int,
19940    );
19941
19942    //=========================================================================
19943    // GtkToggleButton
19944    //=========================================================================
19945    pub fn gtk_toggle_button_get_type() -> GType;
19946    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19947    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19948    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19949    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19950    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19951    pub fn gtk_toggle_button_set_group(
19952        toggle_button: *mut GtkToggleButton,
19953        group: *mut GtkToggleButton,
19954    );
19955    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19956
19957    //=========================================================================
19958    // GtkTooltip
19959    //=========================================================================
19960    pub fn gtk_tooltip_get_type() -> GType;
19961    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19962    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19963    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19964    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19965    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19966    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19967    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19968
19969    //=========================================================================
19970    // GtkTreeExpander
19971    //=========================================================================
19972    pub fn gtk_tree_expander_get_type() -> GType;
19973    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19974    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19975    #[cfg(feature = "v4_10")]
19976    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19977    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19978    #[cfg(feature = "v4_10")]
19979    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19980    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19981    #[cfg(feature = "v4_6")]
19982    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19983    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19984    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19985    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19986    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19987    #[cfg(feature = "v4_10")]
19988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19989    pub fn gtk_tree_expander_set_hide_expander(
19990        self_: *mut GtkTreeExpander,
19991        hide_expander: gboolean,
19992    );
19993    #[cfg(feature = "v4_10")]
19994    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19995    pub fn gtk_tree_expander_set_indent_for_depth(
19996        self_: *mut GtkTreeExpander,
19997        indent_for_depth: gboolean,
19998    );
19999    #[cfg(feature = "v4_6")]
20000    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
20001    pub fn gtk_tree_expander_set_indent_for_icon(
20002        self_: *mut GtkTreeExpander,
20003        indent_for_icon: gboolean,
20004    );
20005    pub fn gtk_tree_expander_set_list_row(
20006        self_: *mut GtkTreeExpander,
20007        list_row: *mut GtkTreeListRow,
20008    );
20009
20010    //=========================================================================
20011    // GtkTreeListModel
20012    //=========================================================================
20013    pub fn gtk_tree_list_model_get_type() -> GType;
20014    pub fn gtk_tree_list_model_new(
20015        root: *mut gio::GListModel,
20016        passthrough: gboolean,
20017        autoexpand: gboolean,
20018        create_func: GtkTreeListModelCreateModelFunc,
20019        user_data: gpointer,
20020        user_destroy: glib::GDestroyNotify,
20021    ) -> *mut GtkTreeListModel;
20022    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
20023    pub fn gtk_tree_list_model_get_child_row(
20024        self_: *mut GtkTreeListModel,
20025        position: c_uint,
20026    ) -> *mut GtkTreeListRow;
20027    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
20028    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
20029    pub fn gtk_tree_list_model_get_row(
20030        self_: *mut GtkTreeListModel,
20031        position: c_uint,
20032    ) -> *mut GtkTreeListRow;
20033    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
20034
20035    //=========================================================================
20036    // GtkTreeListRow
20037    //=========================================================================
20038    pub fn gtk_tree_list_row_get_type() -> GType;
20039    pub fn gtk_tree_list_row_get_child_row(
20040        self_: *mut GtkTreeListRow,
20041        position: c_uint,
20042    ) -> *mut GtkTreeListRow;
20043    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
20044    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
20045    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
20046    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
20047    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
20048    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
20049    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
20050    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
20051
20052    //=========================================================================
20053    // GtkTreeListRowSorter
20054    //=========================================================================
20055    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
20056    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
20057    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
20058    pub fn gtk_tree_list_row_sorter_set_sorter(
20059        self_: *mut GtkTreeListRowSorter,
20060        sorter: *mut GtkSorter,
20061    );
20062
20063    //=========================================================================
20064    // GtkTreeModelFilter
20065    //=========================================================================
20066    pub fn gtk_tree_model_filter_get_type() -> GType;
20067    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
20068    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
20069        filter: *mut GtkTreeModelFilter,
20070        filter_iter: *mut GtkTreeIter,
20071        child_iter: *mut GtkTreeIter,
20072    ) -> gboolean;
20073    pub fn gtk_tree_model_filter_convert_child_path_to_path(
20074        filter: *mut GtkTreeModelFilter,
20075        child_path: *mut GtkTreePath,
20076    ) -> *mut GtkTreePath;
20077    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
20078        filter: *mut GtkTreeModelFilter,
20079        child_iter: *mut GtkTreeIter,
20080        filter_iter: *mut GtkTreeIter,
20081    );
20082    pub fn gtk_tree_model_filter_convert_path_to_child_path(
20083        filter: *mut GtkTreeModelFilter,
20084        filter_path: *mut GtkTreePath,
20085    ) -> *mut GtkTreePath;
20086    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
20087    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
20088    pub fn gtk_tree_model_filter_set_modify_func(
20089        filter: *mut GtkTreeModelFilter,
20090        n_columns: c_int,
20091        types: *mut GType,
20092        func: GtkTreeModelFilterModifyFunc,
20093        data: gpointer,
20094        destroy: glib::GDestroyNotify,
20095    );
20096    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
20097    pub fn gtk_tree_model_filter_set_visible_func(
20098        filter: *mut GtkTreeModelFilter,
20099        func: GtkTreeModelFilterVisibleFunc,
20100        data: gpointer,
20101        destroy: glib::GDestroyNotify,
20102    );
20103
20104    //=========================================================================
20105    // GtkTreeModelSort
20106    //=========================================================================
20107    pub fn gtk_tree_model_sort_get_type() -> GType;
20108    pub fn gtk_tree_model_sort_new_with_model(
20109        child_model: *mut GtkTreeModel,
20110    ) -> *mut GtkTreeModelSort;
20111    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
20112    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
20113        tree_model_sort: *mut GtkTreeModelSort,
20114        sort_iter: *mut GtkTreeIter,
20115        child_iter: *mut GtkTreeIter,
20116    ) -> gboolean;
20117    pub fn gtk_tree_model_sort_convert_child_path_to_path(
20118        tree_model_sort: *mut GtkTreeModelSort,
20119        child_path: *mut GtkTreePath,
20120    ) -> *mut GtkTreePath;
20121    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
20122        tree_model_sort: *mut GtkTreeModelSort,
20123        child_iter: *mut GtkTreeIter,
20124        sorted_iter: *mut GtkTreeIter,
20125    );
20126    pub fn gtk_tree_model_sort_convert_path_to_child_path(
20127        tree_model_sort: *mut GtkTreeModelSort,
20128        sorted_path: *mut GtkTreePath,
20129    ) -> *mut GtkTreePath;
20130    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
20131    pub fn gtk_tree_model_sort_iter_is_valid(
20132        tree_model_sort: *mut GtkTreeModelSort,
20133        iter: *mut GtkTreeIter,
20134    ) -> gboolean;
20135    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
20136
20137    //=========================================================================
20138    // GtkTreeSelection
20139    //=========================================================================
20140    pub fn gtk_tree_selection_get_type() -> GType;
20141    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
20142    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
20143    pub fn gtk_tree_selection_get_select_function(
20144        selection: *mut GtkTreeSelection,
20145    ) -> GtkTreeSelectionFunc;
20146    pub fn gtk_tree_selection_get_selected(
20147        selection: *mut GtkTreeSelection,
20148        model: *mut *mut GtkTreeModel,
20149        iter: *mut GtkTreeIter,
20150    ) -> gboolean;
20151    pub fn gtk_tree_selection_get_selected_rows(
20152        selection: *mut GtkTreeSelection,
20153        model: *mut *mut GtkTreeModel,
20154    ) -> *mut glib::GList;
20155    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
20156    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
20157    pub fn gtk_tree_selection_iter_is_selected(
20158        selection: *mut GtkTreeSelection,
20159        iter: *mut GtkTreeIter,
20160    ) -> gboolean;
20161    pub fn gtk_tree_selection_path_is_selected(
20162        selection: *mut GtkTreeSelection,
20163        path: *mut GtkTreePath,
20164    ) -> gboolean;
20165    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
20166    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
20167    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
20168    pub fn gtk_tree_selection_select_range(
20169        selection: *mut GtkTreeSelection,
20170        start_path: *mut GtkTreePath,
20171        end_path: *mut GtkTreePath,
20172    );
20173    pub fn gtk_tree_selection_selected_foreach(
20174        selection: *mut GtkTreeSelection,
20175        func: GtkTreeSelectionForeachFunc,
20176        data: gpointer,
20177    );
20178    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20179    pub fn gtk_tree_selection_set_select_function(
20180        selection: *mut GtkTreeSelection,
20181        func: GtkTreeSelectionFunc,
20182        data: gpointer,
20183        destroy: glib::GDestroyNotify,
20184    );
20185    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20186    pub fn gtk_tree_selection_unselect_iter(
20187        selection: *mut GtkTreeSelection,
20188        iter: *mut GtkTreeIter,
20189    );
20190    pub fn gtk_tree_selection_unselect_path(
20191        selection: *mut GtkTreeSelection,
20192        path: *mut GtkTreePath,
20193    );
20194    pub fn gtk_tree_selection_unselect_range(
20195        selection: *mut GtkTreeSelection,
20196        start_path: *mut GtkTreePath,
20197        end_path: *mut GtkTreePath,
20198    );
20199
20200    //=========================================================================
20201    // GtkTreeStore
20202    //=========================================================================
20203    pub fn gtk_tree_store_get_type() -> GType;
20204    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20205    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20206    pub fn gtk_tree_store_append(
20207        tree_store: *mut GtkTreeStore,
20208        iter: *mut GtkTreeIter,
20209        parent: *mut GtkTreeIter,
20210    );
20211    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20212    pub fn gtk_tree_store_insert(
20213        tree_store: *mut GtkTreeStore,
20214        iter: *mut GtkTreeIter,
20215        parent: *mut GtkTreeIter,
20216        position: c_int,
20217    );
20218    pub fn gtk_tree_store_insert_after(
20219        tree_store: *mut GtkTreeStore,
20220        iter: *mut GtkTreeIter,
20221        parent: *mut GtkTreeIter,
20222        sibling: *mut GtkTreeIter,
20223    );
20224    pub fn gtk_tree_store_insert_before(
20225        tree_store: *mut GtkTreeStore,
20226        iter: *mut GtkTreeIter,
20227        parent: *mut GtkTreeIter,
20228        sibling: *mut GtkTreeIter,
20229    );
20230    pub fn gtk_tree_store_insert_with_values(
20231        tree_store: *mut GtkTreeStore,
20232        iter: *mut GtkTreeIter,
20233        parent: *mut GtkTreeIter,
20234        position: c_int,
20235        ...
20236    );
20237    pub fn gtk_tree_store_insert_with_valuesv(
20238        tree_store: *mut GtkTreeStore,
20239        iter: *mut GtkTreeIter,
20240        parent: *mut GtkTreeIter,
20241        position: c_int,
20242        columns: *mut c_int,
20243        values: *mut gobject::GValue,
20244        n_values: c_int,
20245    );
20246    pub fn gtk_tree_store_is_ancestor(
20247        tree_store: *mut GtkTreeStore,
20248        iter: *mut GtkTreeIter,
20249        descendant: *mut GtkTreeIter,
20250    ) -> gboolean;
20251    pub fn gtk_tree_store_iter_depth(
20252        tree_store: *mut GtkTreeStore,
20253        iter: *mut GtkTreeIter,
20254    ) -> c_int;
20255    pub fn gtk_tree_store_iter_is_valid(
20256        tree_store: *mut GtkTreeStore,
20257        iter: *mut GtkTreeIter,
20258    ) -> gboolean;
20259    pub fn gtk_tree_store_move_after(
20260        tree_store: *mut GtkTreeStore,
20261        iter: *mut GtkTreeIter,
20262        position: *mut GtkTreeIter,
20263    );
20264    pub fn gtk_tree_store_move_before(
20265        tree_store: *mut GtkTreeStore,
20266        iter: *mut GtkTreeIter,
20267        position: *mut GtkTreeIter,
20268    );
20269    pub fn gtk_tree_store_prepend(
20270        tree_store: *mut GtkTreeStore,
20271        iter: *mut GtkTreeIter,
20272        parent: *mut GtkTreeIter,
20273    );
20274    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20275    -> gboolean;
20276    pub fn gtk_tree_store_reorder(
20277        tree_store: *mut GtkTreeStore,
20278        parent: *mut GtkTreeIter,
20279        new_order: *mut c_int,
20280    );
20281    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20282    pub fn gtk_tree_store_set_column_types(
20283        tree_store: *mut GtkTreeStore,
20284        n_columns: c_int,
20285        types: *mut GType,
20286    );
20287    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20288    pub fn gtk_tree_store_set_value(
20289        tree_store: *mut GtkTreeStore,
20290        iter: *mut GtkTreeIter,
20291        column: c_int,
20292        value: *mut gobject::GValue,
20293    );
20294    pub fn gtk_tree_store_set_valuesv(
20295        tree_store: *mut GtkTreeStore,
20296        iter: *mut GtkTreeIter,
20297        columns: *mut c_int,
20298        values: *mut gobject::GValue,
20299        n_values: c_int,
20300    );
20301    pub fn gtk_tree_store_swap(
20302        tree_store: *mut GtkTreeStore,
20303        a: *mut GtkTreeIter,
20304        b: *mut GtkTreeIter,
20305    );
20306
20307    //=========================================================================
20308    // GtkTreeView
20309    //=========================================================================
20310    pub fn gtk_tree_view_get_type() -> GType;
20311    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20312    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20313    pub fn gtk_tree_view_append_column(
20314        tree_view: *mut GtkTreeView,
20315        column: *mut GtkTreeViewColumn,
20316    ) -> c_int;
20317    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20318    pub fn gtk_tree_view_collapse_row(
20319        tree_view: *mut GtkTreeView,
20320        path: *mut GtkTreePath,
20321    ) -> gboolean;
20322    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20323    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20324        tree_view: *mut GtkTreeView,
20325        bx: c_int,
20326        by: c_int,
20327        tx: *mut c_int,
20328        ty: *mut c_int,
20329    );
20330    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20331        tree_view: *mut GtkTreeView,
20332        bx: c_int,
20333        by: c_int,
20334        wx: *mut c_int,
20335        wy: *mut c_int,
20336    );
20337    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20338        tree_view: *mut GtkTreeView,
20339        tx: c_int,
20340        ty: c_int,
20341        bx: *mut c_int,
20342        by: *mut c_int,
20343    );
20344    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20345        tree_view: *mut GtkTreeView,
20346        tx: c_int,
20347        ty: c_int,
20348        wx: *mut c_int,
20349        wy: *mut c_int,
20350    );
20351    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20352        tree_view: *mut GtkTreeView,
20353        wx: c_int,
20354        wy: c_int,
20355        bx: *mut c_int,
20356        by: *mut c_int,
20357    );
20358    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20359        tree_view: *mut GtkTreeView,
20360        wx: c_int,
20361        wy: c_int,
20362        tx: *mut c_int,
20363        ty: *mut c_int,
20364    );
20365    pub fn gtk_tree_view_create_row_drag_icon(
20366        tree_view: *mut GtkTreeView,
20367        path: *mut GtkTreePath,
20368    ) -> *mut gdk::GdkPaintable;
20369    pub fn gtk_tree_view_enable_model_drag_dest(
20370        tree_view: *mut GtkTreeView,
20371        formats: *mut gdk::GdkContentFormats,
20372        actions: gdk::GdkDragAction,
20373    );
20374    pub fn gtk_tree_view_enable_model_drag_source(
20375        tree_view: *mut GtkTreeView,
20376        start_button_mask: gdk::GdkModifierType,
20377        formats: *mut gdk::GdkContentFormats,
20378        actions: gdk::GdkDragAction,
20379    );
20380    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20381    pub fn gtk_tree_view_expand_row(
20382        tree_view: *mut GtkTreeView,
20383        path: *mut GtkTreePath,
20384        open_all: gboolean,
20385    ) -> gboolean;
20386    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20387    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20388    pub fn gtk_tree_view_get_background_area(
20389        tree_view: *mut GtkTreeView,
20390        path: *mut GtkTreePath,
20391        column: *mut GtkTreeViewColumn,
20392        rect: *mut gdk::GdkRectangle,
20393    );
20394    pub fn gtk_tree_view_get_cell_area(
20395        tree_view: *mut GtkTreeView,
20396        path: *mut GtkTreePath,
20397        column: *mut GtkTreeViewColumn,
20398        rect: *mut gdk::GdkRectangle,
20399    );
20400    pub fn gtk_tree_view_get_column(
20401        tree_view: *mut GtkTreeView,
20402        n: c_int,
20403    ) -> *mut GtkTreeViewColumn;
20404    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20405    pub fn gtk_tree_view_get_cursor(
20406        tree_view: *mut GtkTreeView,
20407        path: *mut *mut GtkTreePath,
20408        focus_column: *mut *mut GtkTreeViewColumn,
20409    );
20410    pub fn gtk_tree_view_get_dest_row_at_pos(
20411        tree_view: *mut GtkTreeView,
20412        drag_x: c_int,
20413        drag_y: c_int,
20414        path: *mut *mut GtkTreePath,
20415        pos: *mut GtkTreeViewDropPosition,
20416    ) -> gboolean;
20417    pub fn gtk_tree_view_get_drag_dest_row(
20418        tree_view: *mut GtkTreeView,
20419        path: *mut *mut GtkTreePath,
20420        pos: *mut GtkTreeViewDropPosition,
20421    );
20422    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20423    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20424    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20425    -> *mut GtkTreeViewColumn;
20426    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20427    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20428    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20429    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20430    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20431    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20432    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20433    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20434    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20435    pub fn gtk_tree_view_get_path_at_pos(
20436        tree_view: *mut GtkTreeView,
20437        x: c_int,
20438        y: c_int,
20439        path: *mut *mut GtkTreePath,
20440        column: *mut *mut GtkTreeViewColumn,
20441        cell_x: *mut c_int,
20442        cell_y: *mut c_int,
20443    ) -> gboolean;
20444    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20445    pub fn gtk_tree_view_get_row_separator_func(
20446        tree_view: *mut GtkTreeView,
20447    ) -> GtkTreeViewRowSeparatorFunc;
20448    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20449    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20450    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20451    pub fn gtk_tree_view_get_search_equal_func(
20452        tree_view: *mut GtkTreeView,
20453    ) -> GtkTreeViewSearchEqualFunc;
20454    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20455    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20456    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20457    pub fn gtk_tree_view_get_tooltip_context(
20458        tree_view: *mut GtkTreeView,
20459        x: c_int,
20460        y: c_int,
20461        keyboard_tip: gboolean,
20462        model: *mut *mut GtkTreeModel,
20463        path: *mut *mut GtkTreePath,
20464        iter: *mut GtkTreeIter,
20465    ) -> gboolean;
20466    pub fn gtk_tree_view_get_visible_range(
20467        tree_view: *mut GtkTreeView,
20468        start_path: *mut *mut GtkTreePath,
20469        end_path: *mut *mut GtkTreePath,
20470    ) -> gboolean;
20471    pub fn gtk_tree_view_get_visible_rect(
20472        tree_view: *mut GtkTreeView,
20473        visible_rect: *mut gdk::GdkRectangle,
20474    );
20475    pub fn gtk_tree_view_insert_column(
20476        tree_view: *mut GtkTreeView,
20477        column: *mut GtkTreeViewColumn,
20478        position: c_int,
20479    ) -> c_int;
20480    pub fn gtk_tree_view_insert_column_with_attributes(
20481        tree_view: *mut GtkTreeView,
20482        position: c_int,
20483        title: *const c_char,
20484        cell: *mut GtkCellRenderer,
20485        ...
20486    ) -> c_int;
20487    pub fn gtk_tree_view_insert_column_with_data_func(
20488        tree_view: *mut GtkTreeView,
20489        position: c_int,
20490        title: *const c_char,
20491        cell: *mut GtkCellRenderer,
20492        func: GtkTreeCellDataFunc,
20493        data: gpointer,
20494        dnotify: glib::GDestroyNotify,
20495    ) -> c_int;
20496    pub fn gtk_tree_view_is_blank_at_pos(
20497        tree_view: *mut GtkTreeView,
20498        x: c_int,
20499        y: c_int,
20500        path: *mut *mut GtkTreePath,
20501        column: *mut *mut GtkTreeViewColumn,
20502        cell_x: *mut c_int,
20503        cell_y: *mut c_int,
20504    ) -> gboolean;
20505    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20506    pub fn gtk_tree_view_map_expanded_rows(
20507        tree_view: *mut GtkTreeView,
20508        func: GtkTreeViewMappingFunc,
20509        data: gpointer,
20510    );
20511    pub fn gtk_tree_view_move_column_after(
20512        tree_view: *mut GtkTreeView,
20513        column: *mut GtkTreeViewColumn,
20514        base_column: *mut GtkTreeViewColumn,
20515    );
20516    pub fn gtk_tree_view_remove_column(
20517        tree_view: *mut GtkTreeView,
20518        column: *mut GtkTreeViewColumn,
20519    ) -> c_int;
20520    pub fn gtk_tree_view_row_activated(
20521        tree_view: *mut GtkTreeView,
20522        path: *mut GtkTreePath,
20523        column: *mut GtkTreeViewColumn,
20524    );
20525    pub fn gtk_tree_view_row_expanded(
20526        tree_view: *mut GtkTreeView,
20527        path: *mut GtkTreePath,
20528    ) -> gboolean;
20529    pub fn gtk_tree_view_scroll_to_cell(
20530        tree_view: *mut GtkTreeView,
20531        path: *mut GtkTreePath,
20532        column: *mut GtkTreeViewColumn,
20533        use_align: gboolean,
20534        row_align: c_float,
20535        col_align: c_float,
20536    );
20537    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20538    pub fn gtk_tree_view_set_activate_on_single_click(
20539        tree_view: *mut GtkTreeView,
20540        single: gboolean,
20541    );
20542    pub fn gtk_tree_view_set_column_drag_function(
20543        tree_view: *mut GtkTreeView,
20544        func: GtkTreeViewColumnDropFunc,
20545        user_data: gpointer,
20546        destroy: glib::GDestroyNotify,
20547    );
20548    pub fn gtk_tree_view_set_cursor(
20549        tree_view: *mut GtkTreeView,
20550        path: *mut GtkTreePath,
20551        focus_column: *mut GtkTreeViewColumn,
20552        start_editing: gboolean,
20553    );
20554    pub fn gtk_tree_view_set_cursor_on_cell(
20555        tree_view: *mut GtkTreeView,
20556        path: *mut GtkTreePath,
20557        focus_column: *mut GtkTreeViewColumn,
20558        focus_cell: *mut GtkCellRenderer,
20559        start_editing: gboolean,
20560    );
20561    pub fn gtk_tree_view_set_drag_dest_row(
20562        tree_view: *mut GtkTreeView,
20563        path: *mut GtkTreePath,
20564        pos: GtkTreeViewDropPosition,
20565    );
20566    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20567    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20568    pub fn gtk_tree_view_set_expander_column(
20569        tree_view: *mut GtkTreeView,
20570        column: *mut GtkTreeViewColumn,
20571    );
20572    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20573    pub fn gtk_tree_view_set_grid_lines(
20574        tree_view: *mut GtkTreeView,
20575        grid_lines: GtkTreeViewGridLines,
20576    );
20577    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20578    pub fn gtk_tree_view_set_headers_visible(
20579        tree_view: *mut GtkTreeView,
20580        headers_visible: gboolean,
20581    );
20582    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20583    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20584    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20585    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20586    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20587    pub fn gtk_tree_view_set_row_separator_func(
20588        tree_view: *mut GtkTreeView,
20589        func: GtkTreeViewRowSeparatorFunc,
20590        data: gpointer,
20591        destroy: glib::GDestroyNotify,
20592    );
20593    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20594    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20595    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20596    pub fn gtk_tree_view_set_search_equal_func(
20597        tree_view: *mut GtkTreeView,
20598        search_equal_func: GtkTreeViewSearchEqualFunc,
20599        search_user_data: gpointer,
20600        search_destroy: glib::GDestroyNotify,
20601    );
20602    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20603    pub fn gtk_tree_view_set_tooltip_cell(
20604        tree_view: *mut GtkTreeView,
20605        tooltip: *mut GtkTooltip,
20606        path: *mut GtkTreePath,
20607        column: *mut GtkTreeViewColumn,
20608        cell: *mut GtkCellRenderer,
20609    );
20610    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20611    pub fn gtk_tree_view_set_tooltip_row(
20612        tree_view: *mut GtkTreeView,
20613        tooltip: *mut GtkTooltip,
20614        path: *mut GtkTreePath,
20615    );
20616    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20617    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20618
20619    //=========================================================================
20620    // GtkTreeViewColumn
20621    //=========================================================================
20622    pub fn gtk_tree_view_column_get_type() -> GType;
20623    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20624    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20625    pub fn gtk_tree_view_column_new_with_attributes(
20626        title: *const c_char,
20627        cell: *mut GtkCellRenderer,
20628        ...
20629    ) -> *mut GtkTreeViewColumn;
20630    pub fn gtk_tree_view_column_add_attribute(
20631        tree_column: *mut GtkTreeViewColumn,
20632        cell_renderer: *mut GtkCellRenderer,
20633        attribute: *const c_char,
20634        column: c_int,
20635    );
20636    pub fn gtk_tree_view_column_cell_get_position(
20637        tree_column: *mut GtkTreeViewColumn,
20638        cell_renderer: *mut GtkCellRenderer,
20639        x_offset: *mut c_int,
20640        width: *mut c_int,
20641    ) -> gboolean;
20642    pub fn gtk_tree_view_column_cell_get_size(
20643        tree_column: *mut GtkTreeViewColumn,
20644        x_offset: *mut c_int,
20645        y_offset: *mut c_int,
20646        width: *mut c_int,
20647        height: *mut c_int,
20648    );
20649    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20650    pub fn gtk_tree_view_column_cell_set_cell_data(
20651        tree_column: *mut GtkTreeViewColumn,
20652        tree_model: *mut GtkTreeModel,
20653        iter: *mut GtkTreeIter,
20654        is_expander: gboolean,
20655        is_expanded: gboolean,
20656    );
20657    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20658    pub fn gtk_tree_view_column_clear_attributes(
20659        tree_column: *mut GtkTreeViewColumn,
20660        cell_renderer: *mut GtkCellRenderer,
20661    );
20662    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20663    pub fn gtk_tree_view_column_focus_cell(
20664        tree_column: *mut GtkTreeViewColumn,
20665        cell: *mut GtkCellRenderer,
20666    );
20667    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20668    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20669    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20670    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20671    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20672    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20673    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20674    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20675    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20676    pub fn gtk_tree_view_column_get_sizing(
20677        tree_column: *mut GtkTreeViewColumn,
20678    ) -> GtkTreeViewColumnSizing;
20679    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20680    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20681    -> gboolean;
20682    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20683    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20684    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20685    pub fn gtk_tree_view_column_get_tree_view(
20686        tree_column: *mut GtkTreeViewColumn,
20687    ) -> *mut GtkWidget;
20688    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20689    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20690    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20691    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20692    pub fn gtk_tree_view_column_pack_end(
20693        tree_column: *mut GtkTreeViewColumn,
20694        cell: *mut GtkCellRenderer,
20695        expand: gboolean,
20696    );
20697    pub fn gtk_tree_view_column_pack_start(
20698        tree_column: *mut GtkTreeViewColumn,
20699        cell: *mut GtkCellRenderer,
20700        expand: gboolean,
20701    );
20702    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20703    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20704    pub fn gtk_tree_view_column_set_attributes(
20705        tree_column: *mut GtkTreeViewColumn,
20706        cell_renderer: *mut GtkCellRenderer,
20707        ...
20708    );
20709    pub fn gtk_tree_view_column_set_cell_data_func(
20710        tree_column: *mut GtkTreeViewColumn,
20711        cell_renderer: *mut GtkCellRenderer,
20712        func: GtkTreeCellDataFunc,
20713        func_data: gpointer,
20714        destroy: glib::GDestroyNotify,
20715    );
20716    pub fn gtk_tree_view_column_set_clickable(
20717        tree_column: *mut GtkTreeViewColumn,
20718        clickable: gboolean,
20719    );
20720    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20721    pub fn gtk_tree_view_column_set_fixed_width(
20722        tree_column: *mut GtkTreeViewColumn,
20723        fixed_width: c_int,
20724    );
20725    pub fn gtk_tree_view_column_set_max_width(
20726        tree_column: *mut GtkTreeViewColumn,
20727        max_width: c_int,
20728    );
20729    pub fn gtk_tree_view_column_set_min_width(
20730        tree_column: *mut GtkTreeViewColumn,
20731        min_width: c_int,
20732    );
20733    pub fn gtk_tree_view_column_set_reorderable(
20734        tree_column: *mut GtkTreeViewColumn,
20735        reorderable: gboolean,
20736    );
20737    pub fn gtk_tree_view_column_set_resizable(
20738        tree_column: *mut GtkTreeViewColumn,
20739        resizable: gboolean,
20740    );
20741    pub fn gtk_tree_view_column_set_sizing(
20742        tree_column: *mut GtkTreeViewColumn,
20743        type_: GtkTreeViewColumnSizing,
20744    );
20745    pub fn gtk_tree_view_column_set_sort_column_id(
20746        tree_column: *mut GtkTreeViewColumn,
20747        sort_column_id: c_int,
20748    );
20749    pub fn gtk_tree_view_column_set_sort_indicator(
20750        tree_column: *mut GtkTreeViewColumn,
20751        setting: gboolean,
20752    );
20753    pub fn gtk_tree_view_column_set_sort_order(
20754        tree_column: *mut GtkTreeViewColumn,
20755        order: GtkSortType,
20756    );
20757    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20758    pub fn gtk_tree_view_column_set_title(
20759        tree_column: *mut GtkTreeViewColumn,
20760        title: *const c_char,
20761    );
20762    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20763    pub fn gtk_tree_view_column_set_widget(
20764        tree_column: *mut GtkTreeViewColumn,
20765        widget: *mut GtkWidget,
20766    );
20767
20768    //=========================================================================
20769    // GtkTryExpression
20770    //=========================================================================
20771    #[cfg(feature = "v4_22")]
20772    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20773    pub fn gtk_try_expression_get_type() -> GType;
20774    #[cfg(feature = "v4_22")]
20775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20776    pub fn gtk_try_expression_new(
20777        n_expressions: c_uint,
20778        expressions: *mut *mut GtkExpression,
20779    ) -> *mut GtkTryExpression;
20780
20781    //=========================================================================
20782    // GtkUriLauncher
20783    //=========================================================================
20784    #[cfg(feature = "v4_10")]
20785    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20786    pub fn gtk_uri_launcher_get_type() -> GType;
20787    #[cfg(feature = "v4_10")]
20788    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20789    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20790    #[cfg(feature = "v4_20")]
20791    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20792    pub fn gtk_uri_launcher_can_launch(
20793        self_: *mut GtkUriLauncher,
20794        parent: *mut GtkWindow,
20795    ) -> gboolean;
20796    #[cfg(feature = "v4_10")]
20797    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20798    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20799    #[cfg(feature = "v4_10")]
20800    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20801    pub fn gtk_uri_launcher_launch(
20802        self_: *mut GtkUriLauncher,
20803        parent: *mut GtkWindow,
20804        cancellable: *mut gio::GCancellable,
20805        callback: gio::GAsyncReadyCallback,
20806        user_data: gpointer,
20807    );
20808    #[cfg(feature = "v4_10")]
20809    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20810    pub fn gtk_uri_launcher_launch_finish(
20811        self_: *mut GtkUriLauncher,
20812        result: *mut gio::GAsyncResult,
20813        error: *mut *mut glib::GError,
20814    ) -> gboolean;
20815    #[cfg(feature = "v4_10")]
20816    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20817    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20818
20819    //=========================================================================
20820    // GtkVideo
20821    //=========================================================================
20822    pub fn gtk_video_get_type() -> GType;
20823    pub fn gtk_video_new() -> *mut GtkWidget;
20824    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20825    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20826    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20827    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20828    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20829    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20830    #[cfg(feature = "v4_14")]
20831    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20832    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20833    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20834    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20835    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20836    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20837    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20838    #[cfg(feature = "v4_14")]
20839    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20840    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20841    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20842    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20843    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20844
20845    //=========================================================================
20846    // GtkViewport
20847    //=========================================================================
20848    pub fn gtk_viewport_get_type() -> GType;
20849    pub fn gtk_viewport_new(
20850        hadjustment: *mut GtkAdjustment,
20851        vadjustment: *mut GtkAdjustment,
20852    ) -> *mut GtkWidget;
20853    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20854    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20855    #[cfg(feature = "v4_12")]
20856    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20857    pub fn gtk_viewport_scroll_to(
20858        viewport: *mut GtkViewport,
20859        descendant: *mut GtkWidget,
20860        scroll: *mut GtkScrollInfo,
20861    );
20862    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20863    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20864
20865    //=========================================================================
20866    // GtkVolumeButton
20867    //=========================================================================
20868    pub fn gtk_volume_button_get_type() -> GType;
20869    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20870
20871    //=========================================================================
20872    // GtkWidget
20873    //=========================================================================
20874    pub fn gtk_widget_get_type() -> GType;
20875    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20876    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20877    pub fn gtk_widget_action_set_enabled(
20878        widget: *mut GtkWidget,
20879        action_name: *const c_char,
20880        enabled: gboolean,
20881    );
20882    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20883    pub fn gtk_widget_activate_action(
20884        widget: *mut GtkWidget,
20885        name: *const c_char,
20886        format_string: *const c_char,
20887        ...
20888    ) -> gboolean;
20889    pub fn gtk_widget_activate_action_variant(
20890        widget: *mut GtkWidget,
20891        name: *const c_char,
20892        args: *mut glib::GVariant,
20893    ) -> gboolean;
20894    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20895    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20896    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20897    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20898    pub fn gtk_widget_add_tick_callback(
20899        widget: *mut GtkWidget,
20900        callback: GtkTickCallback,
20901        user_data: gpointer,
20902        notify: glib::GDestroyNotify,
20903    ) -> c_uint;
20904    pub fn gtk_widget_allocate(
20905        widget: *mut GtkWidget,
20906        width: c_int,
20907        height: c_int,
20908        baseline: c_int,
20909        transform: *mut gsk::GskTransform,
20910    );
20911    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20912    pub fn gtk_widget_compute_bounds(
20913        widget: *mut GtkWidget,
20914        target: *mut GtkWidget,
20915        out_bounds: *mut graphene::graphene_rect_t,
20916    ) -> gboolean;
20917    pub fn gtk_widget_compute_expand(
20918        widget: *mut GtkWidget,
20919        orientation: GtkOrientation,
20920    ) -> gboolean;
20921    pub fn gtk_widget_compute_point(
20922        widget: *mut GtkWidget,
20923        target: *mut GtkWidget,
20924        point: *const graphene::graphene_point_t,
20925        out_point: *mut graphene::graphene_point_t,
20926    ) -> gboolean;
20927    pub fn gtk_widget_compute_transform(
20928        widget: *mut GtkWidget,
20929        target: *mut GtkWidget,
20930        out_transform: *mut graphene::graphene_matrix_t,
20931    ) -> gboolean;
20932    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20933    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20934    pub fn gtk_widget_create_pango_layout(
20935        widget: *mut GtkWidget,
20936        text: *const c_char,
20937    ) -> *mut pango::PangoLayout;
20938    #[cfg(feature = "v4_8")]
20939    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20940    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20941    pub fn gtk_drag_check_threshold(
20942        widget: *mut GtkWidget,
20943        start_x: c_int,
20944        start_y: c_int,
20945        current_x: c_int,
20946        current_y: c_int,
20947    ) -> gboolean;
20948    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20949    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20950    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20951    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20952    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20953    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20954    #[cfg(feature = "v4_12")]
20955    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20956    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20957    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20958    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20959    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20960    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20961    #[cfg(feature = "v4_10")]
20962    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20963    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20964    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20965    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20966    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20967    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20968    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20969    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20970    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20971    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20972    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20973    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20974    pub fn gtk_widget_get_font_options(
20975        widget: *mut GtkWidget,
20976    ) -> *const cairo::cairo_font_options_t;
20977    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20978    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20979    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20980    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20981    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20982    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20983    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20984    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20985    #[cfg(feature = "v4_18")]
20986    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20987    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20988    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20989    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20990    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20991    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20992    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20993    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20994    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20995    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20996    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20997    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20998    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20999    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
21000    pub fn gtk_widget_get_preferred_size(
21001        widget: *mut GtkWidget,
21002        minimum_size: *mut GtkRequisition,
21003        natural_size: *mut GtkRequisition,
21004    );
21005    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
21006    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
21007    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
21008    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
21009    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
21010    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
21011    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
21012    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
21013    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
21014    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
21015    pub fn gtk_widget_get_size_request(
21016        widget: *mut GtkWidget,
21017        width: *mut c_int,
21018        height: *mut c_int,
21019    );
21020    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
21021    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
21022    pub fn gtk_widget_get_template_child(
21023        widget: *mut GtkWidget,
21024        widget_type: GType,
21025        name: *const c_char,
21026    ) -> *mut gobject::GObject;
21027    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
21028    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
21029    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
21030    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
21031    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
21032    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
21033    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
21034    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
21035    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
21036    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
21037    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
21038    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
21039    pub fn gtk_widget_hide(widget: *mut GtkWidget);
21040    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
21041    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
21042    pub fn gtk_widget_insert_action_group(
21043        widget: *mut GtkWidget,
21044        name: *const c_char,
21045        group: *mut gio::GActionGroup,
21046    );
21047    pub fn gtk_widget_insert_after(
21048        widget: *mut GtkWidget,
21049        parent: *mut GtkWidget,
21050        previous_sibling: *mut GtkWidget,
21051    );
21052    pub fn gtk_widget_insert_before(
21053        widget: *mut GtkWidget,
21054        parent: *mut GtkWidget,
21055        next_sibling: *mut GtkWidget,
21056    );
21057    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
21058    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
21059    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
21060    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
21061    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
21062    pub fn gtk_widget_keynav_failed(
21063        widget: *mut GtkWidget,
21064        direction: GtkDirectionType,
21065    ) -> gboolean;
21066    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
21067    pub fn gtk_widget_map(widget: *mut GtkWidget);
21068    pub fn gtk_widget_measure(
21069        widget: *mut GtkWidget,
21070        orientation: GtkOrientation,
21071        for_size: c_int,
21072        minimum: *mut c_int,
21073        natural: *mut c_int,
21074        minimum_baseline: *mut c_int,
21075        natural_baseline: *mut c_int,
21076    );
21077    pub fn gtk_widget_mnemonic_activate(
21078        widget: *mut GtkWidget,
21079        group_cycling: gboolean,
21080    ) -> gboolean;
21081    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
21082    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
21083    pub fn gtk_widget_pick(
21084        widget: *mut GtkWidget,
21085        x: c_double,
21086        y: c_double,
21087        flags: GtkPickFlags,
21088    ) -> *mut GtkWidget;
21089    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
21090    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
21091    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
21092    pub fn gtk_widget_realize(widget: *mut GtkWidget);
21093    pub fn gtk_widget_remove_controller(
21094        widget: *mut GtkWidget,
21095        controller: *mut GtkEventController,
21096    );
21097    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
21098    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
21099    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
21100    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
21101    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
21102    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
21103    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
21104    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
21105    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
21106    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
21107    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
21108    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
21109    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
21110    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
21111    pub fn gtk_widget_set_font_options(
21112        widget: *mut GtkWidget,
21113        options: *const cairo::cairo_font_options_t,
21114    );
21115    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
21116    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
21117    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
21118    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
21119    pub fn gtk_widget_set_layout_manager(
21120        widget: *mut GtkWidget,
21121        layout_manager: *mut GtkLayoutManager,
21122    );
21123    #[cfg(feature = "v4_18")]
21124    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21125    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
21126    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
21127    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
21128    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
21129    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
21130    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
21131    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
21132    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
21133    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
21134    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
21135    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
21136    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
21137    pub fn gtk_widget_set_state_flags(
21138        widget: *mut GtkWidget,
21139        flags: GtkStateFlags,
21140        clear: gboolean,
21141    );
21142    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
21143    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
21144    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
21145    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
21146    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
21147    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
21148    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
21149    pub fn gtk_widget_show(widget: *mut GtkWidget);
21150    pub fn gtk_widget_size_allocate(
21151        widget: *mut GtkWidget,
21152        allocation: *const GtkAllocation,
21153        baseline: c_int,
21154    );
21155    pub fn gtk_widget_snapshot_child(
21156        widget: *mut GtkWidget,
21157        child: *mut GtkWidget,
21158        snapshot: *mut GtkSnapshot,
21159    );
21160    pub fn gtk_widget_translate_coordinates(
21161        src_widget: *mut GtkWidget,
21162        dest_widget: *mut GtkWidget,
21163        src_x: c_double,
21164        src_y: c_double,
21165        dest_x: *mut c_double,
21166        dest_y: *mut c_double,
21167    ) -> gboolean;
21168    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
21169    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
21170    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
21171    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
21172    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
21173
21174    //=========================================================================
21175    // GtkWidgetPaintable
21176    //=========================================================================
21177    pub fn gtk_widget_paintable_get_type() -> GType;
21178    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21179    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21180    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21181
21182    //=========================================================================
21183    // GtkWindow
21184    //=========================================================================
21185    pub fn gtk_window_get_type() -> GType;
21186    pub fn gtk_window_new() -> *mut GtkWidget;
21187    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21188    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21189    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21190    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21191    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21192    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21193    pub fn gtk_window_close(window: *mut GtkWindow);
21194    pub fn gtk_window_destroy(window: *mut GtkWindow);
21195    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21196    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21197    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21198    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21199    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21200    pub fn gtk_window_get_default_size(
21201        window: *mut GtkWindow,
21202        width: *mut c_int,
21203        height: *mut c_int,
21204    );
21205    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21206    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21207    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21208    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21209    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21210    #[cfg(feature = "v4_20")]
21211    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21212    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21213    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21214    #[cfg(feature = "v4_2")]
21215    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21216    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21217    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21218    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21219    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21220    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21221    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21222    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21223    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21224    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21225    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21226    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21227    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21228    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21229    #[cfg(feature = "v4_12")]
21230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21231    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21232    pub fn gtk_window_maximize(window: *mut GtkWindow);
21233    pub fn gtk_window_minimize(window: *mut GtkWindow);
21234    pub fn gtk_window_present(window: *mut GtkWindow);
21235    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21236    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21237    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21238    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21239    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21240    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21241    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21242    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21243    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21244    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21245    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21246    #[cfg(feature = "v4_20")]
21247    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21248    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21249    #[cfg(feature = "v4_2")]
21250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21251    pub fn gtk_window_set_handle_menubar_accel(
21252        window: *mut GtkWindow,
21253        handle_menubar_accel: gboolean,
21254    );
21255    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21256    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21257    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21258    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21259    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21260    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21261    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21262    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21263    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21264    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21265    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21266    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21267
21268    //=========================================================================
21269    // GtkWindowControls
21270    //=========================================================================
21271    pub fn gtk_window_controls_get_type() -> GType;
21272    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21273    pub fn gtk_window_controls_get_decoration_layout(
21274        self_: *mut GtkWindowControls,
21275    ) -> *const c_char;
21276    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21277    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21278    #[cfg(feature = "v4_18")]
21279    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21280    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21281    pub fn gtk_window_controls_set_decoration_layout(
21282        self_: *mut GtkWindowControls,
21283        layout: *const c_char,
21284    );
21285    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21286    #[cfg(feature = "v4_18")]
21287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21288    pub fn gtk_window_controls_set_use_native_controls(
21289        self_: *mut GtkWindowControls,
21290        setting: gboolean,
21291    );
21292
21293    //=========================================================================
21294    // GtkWindowGroup
21295    //=========================================================================
21296    pub fn gtk_window_group_get_type() -> GType;
21297    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21298    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21299    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21300    pub fn gtk_window_group_remove_window(
21301        window_group: *mut GtkWindowGroup,
21302        window: *mut GtkWindow,
21303    );
21304
21305    //=========================================================================
21306    // GtkWindowHandle
21307    //=========================================================================
21308    pub fn gtk_window_handle_get_type() -> GType;
21309    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21310    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21311    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21312
21313    //=========================================================================
21314    // GtkAccessible
21315    //=========================================================================
21316    #[cfg(feature = "v4_10")]
21317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21318    pub fn gtk_accessible_get_type() -> GType;
21319    #[cfg(feature = "v4_14")]
21320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21321    pub fn gtk_accessible_announce(
21322        self_: *mut GtkAccessible,
21323        message: *const c_char,
21324        priority: GtkAccessibleAnnouncementPriority,
21325    );
21326    #[cfg(feature = "v4_22")]
21327    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21328    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21329    #[cfg(feature = "v4_10")]
21330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21331    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21332    #[cfg(feature = "v4_10")]
21333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21334    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21335    #[cfg(feature = "v4_10")]
21336    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21337    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21338    #[cfg(feature = "v4_10")]
21339    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21340    pub fn gtk_accessible_get_bounds(
21341        self_: *mut GtkAccessible,
21342        x: *mut c_int,
21343        y: *mut c_int,
21344        width: *mut c_int,
21345        height: *mut c_int,
21346    ) -> gboolean;
21347    #[cfg(feature = "v4_10")]
21348    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21349    pub fn gtk_accessible_get_first_accessible_child(
21350        self_: *mut GtkAccessible,
21351    ) -> *mut GtkAccessible;
21352    #[cfg(feature = "v4_10")]
21353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21354    pub fn gtk_accessible_get_next_accessible_sibling(
21355        self_: *mut GtkAccessible,
21356    ) -> *mut GtkAccessible;
21357    #[cfg(feature = "v4_10")]
21358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21359    pub fn gtk_accessible_get_platform_state(
21360        self_: *mut GtkAccessible,
21361        state: GtkAccessiblePlatformState,
21362    ) -> gboolean;
21363    #[cfg(feature = "v4_10")]
21364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21365    pub fn gtk_accessible_reset_property(
21366        self_: *mut GtkAccessible,
21367        property: GtkAccessibleProperty,
21368    );
21369    #[cfg(feature = "v4_10")]
21370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21371    pub fn gtk_accessible_reset_relation(
21372        self_: *mut GtkAccessible,
21373        relation: GtkAccessibleRelation,
21374    );
21375    #[cfg(feature = "v4_10")]
21376    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21377    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21378    #[cfg(feature = "v4_10")]
21379    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21380    pub fn gtk_accessible_set_accessible_parent(
21381        self_: *mut GtkAccessible,
21382        parent: *mut GtkAccessible,
21383        next_sibling: *mut GtkAccessible,
21384    );
21385    #[cfg(feature = "v4_10")]
21386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21387    pub fn gtk_accessible_update_next_accessible_sibling(
21388        self_: *mut GtkAccessible,
21389        new_sibling: *mut GtkAccessible,
21390    );
21391    #[cfg(feature = "v4_18")]
21392    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21393    pub fn gtk_accessible_update_platform_state(
21394        self_: *mut GtkAccessible,
21395        state: GtkAccessiblePlatformState,
21396    );
21397    #[cfg(feature = "v4_10")]
21398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21399    pub fn gtk_accessible_update_property(
21400        self_: *mut GtkAccessible,
21401        first_property: GtkAccessibleProperty,
21402        ...
21403    );
21404    #[cfg(feature = "v4_10")]
21405    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21406    pub fn gtk_accessible_update_property_value(
21407        self_: *mut GtkAccessible,
21408        n_properties: c_int,
21409        properties: *mut GtkAccessibleProperty,
21410        values: *const gobject::GValue,
21411    );
21412    #[cfg(feature = "v4_10")]
21413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21414    pub fn gtk_accessible_update_relation(
21415        self_: *mut GtkAccessible,
21416        first_relation: GtkAccessibleRelation,
21417        ...
21418    );
21419    #[cfg(feature = "v4_10")]
21420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21421    pub fn gtk_accessible_update_relation_value(
21422        self_: *mut GtkAccessible,
21423        n_relations: c_int,
21424        relations: *mut GtkAccessibleRelation,
21425        values: *const gobject::GValue,
21426    );
21427    #[cfg(feature = "v4_10")]
21428    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21429    pub fn gtk_accessible_update_state(
21430        self_: *mut GtkAccessible,
21431        first_state: GtkAccessibleState,
21432        ...
21433    );
21434    #[cfg(feature = "v4_10")]
21435    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21436    pub fn gtk_accessible_update_state_value(
21437        self_: *mut GtkAccessible,
21438        n_states: c_int,
21439        states: *mut GtkAccessibleState,
21440        values: *const gobject::GValue,
21441    );
21442
21443    //=========================================================================
21444    // GtkAccessibleHypertext
21445    //=========================================================================
21446    #[cfg(feature = "v4_22")]
21447    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21448    pub fn gtk_accessible_hypertext_get_type() -> GType;
21449
21450    //=========================================================================
21451    // GtkAccessibleRange
21452    //=========================================================================
21453    #[cfg(feature = "v4_10")]
21454    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21455    pub fn gtk_accessible_range_get_type() -> GType;
21456
21457    //=========================================================================
21458    // GtkAccessibleText
21459    //=========================================================================
21460    #[cfg(feature = "v4_14")]
21461    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21462    pub fn gtk_accessible_text_get_type() -> GType;
21463    #[cfg(feature = "v4_14")]
21464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21465    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21466    #[cfg(feature = "v4_14")]
21467    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21468    pub fn gtk_accessible_text_update_contents(
21469        self_: *mut GtkAccessibleText,
21470        change: GtkAccessibleTextContentChange,
21471        start: c_uint,
21472        end: c_uint,
21473    );
21474    #[cfg(feature = "v4_14")]
21475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21476    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21477
21478    //=========================================================================
21479    // GtkActionable
21480    //=========================================================================
21481    pub fn gtk_actionable_get_type() -> GType;
21482    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21483    pub fn gtk_actionable_get_action_target_value(
21484        actionable: *mut GtkActionable,
21485    ) -> *mut glib::GVariant;
21486    pub fn gtk_actionable_set_action_name(
21487        actionable: *mut GtkActionable,
21488        action_name: *const c_char,
21489    );
21490    pub fn gtk_actionable_set_action_target(
21491        actionable: *mut GtkActionable,
21492        format_string: *const c_char,
21493        ...
21494    );
21495    pub fn gtk_actionable_set_action_target_value(
21496        actionable: *mut GtkActionable,
21497        target_value: *mut glib::GVariant,
21498    );
21499    pub fn gtk_actionable_set_detailed_action_name(
21500        actionable: *mut GtkActionable,
21501        detailed_action_name: *const c_char,
21502    );
21503
21504    //=========================================================================
21505    // GtkAppChooser
21506    //=========================================================================
21507    pub fn gtk_app_chooser_get_type() -> GType;
21508    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21509    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21510    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21511
21512    //=========================================================================
21513    // GtkBuildable
21514    //=========================================================================
21515    pub fn gtk_buildable_get_type() -> GType;
21516    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21517
21518    //=========================================================================
21519    // GtkBuilderScope
21520    //=========================================================================
21521    pub fn gtk_builder_scope_get_type() -> GType;
21522
21523    //=========================================================================
21524    // GtkCellEditable
21525    //=========================================================================
21526    pub fn gtk_cell_editable_get_type() -> GType;
21527    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21528    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21529    pub fn gtk_cell_editable_start_editing(
21530        cell_editable: *mut GtkCellEditable,
21531        event: *mut gdk::GdkEvent,
21532    );
21533
21534    //=========================================================================
21535    // GtkCellLayout
21536    //=========================================================================
21537    pub fn gtk_cell_layout_get_type() -> GType;
21538    pub fn gtk_cell_layout_add_attribute(
21539        cell_layout: *mut GtkCellLayout,
21540        cell: *mut GtkCellRenderer,
21541        attribute: *const c_char,
21542        column: c_int,
21543    );
21544    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21545    pub fn gtk_cell_layout_clear_attributes(
21546        cell_layout: *mut GtkCellLayout,
21547        cell: *mut GtkCellRenderer,
21548    );
21549    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21550    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21551    pub fn gtk_cell_layout_pack_end(
21552        cell_layout: *mut GtkCellLayout,
21553        cell: *mut GtkCellRenderer,
21554        expand: gboolean,
21555    );
21556    pub fn gtk_cell_layout_pack_start(
21557        cell_layout: *mut GtkCellLayout,
21558        cell: *mut GtkCellRenderer,
21559        expand: gboolean,
21560    );
21561    pub fn gtk_cell_layout_reorder(
21562        cell_layout: *mut GtkCellLayout,
21563        cell: *mut GtkCellRenderer,
21564        position: c_int,
21565    );
21566    pub fn gtk_cell_layout_set_attributes(
21567        cell_layout: *mut GtkCellLayout,
21568        cell: *mut GtkCellRenderer,
21569        ...
21570    );
21571    pub fn gtk_cell_layout_set_cell_data_func(
21572        cell_layout: *mut GtkCellLayout,
21573        cell: *mut GtkCellRenderer,
21574        func: GtkCellLayoutDataFunc,
21575        func_data: gpointer,
21576        destroy: glib::GDestroyNotify,
21577    );
21578
21579    //=========================================================================
21580    // GtkColorChooser
21581    //=========================================================================
21582    pub fn gtk_color_chooser_get_type() -> GType;
21583    pub fn gtk_color_chooser_add_palette(
21584        chooser: *mut GtkColorChooser,
21585        orientation: GtkOrientation,
21586        colors_per_line: c_int,
21587        n_colors: c_int,
21588        colors: *mut gdk::GdkRGBA,
21589    );
21590    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21591    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21592    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21593    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21594
21595    //=========================================================================
21596    // GtkConstraintTarget
21597    //=========================================================================
21598    pub fn gtk_constraint_target_get_type() -> GType;
21599
21600    //=========================================================================
21601    // GtkEditable
21602    //=========================================================================
21603    pub fn gtk_editable_get_type() -> GType;
21604    pub fn gtk_editable_delegate_get_property(
21605        object: *mut gobject::GObject,
21606        prop_id: c_uint,
21607        value: *mut gobject::GValue,
21608        pspec: *mut gobject::GParamSpec,
21609    ) -> gboolean;
21610    pub fn gtk_editable_delegate_set_property(
21611        object: *mut gobject::GObject,
21612        prop_id: c_uint,
21613        value: *const gobject::GValue,
21614        pspec: *mut gobject::GParamSpec,
21615    ) -> gboolean;
21616    pub fn gtk_editable_install_properties(
21617        object_class: *mut gobject::GObjectClass,
21618        first_prop: c_uint,
21619    ) -> c_uint;
21620    #[cfg(feature = "v4_10")]
21621    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21622    pub fn gtk_editable_delegate_get_accessible_platform_state(
21623        editable: *mut GtkEditable,
21624        state: GtkAccessiblePlatformState,
21625    ) -> gboolean;
21626    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21627    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21628    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21629    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21630    pub fn gtk_editable_get_chars(
21631        editable: *mut GtkEditable,
21632        start_pos: c_int,
21633        end_pos: c_int,
21634    ) -> *mut c_char;
21635    #[cfg(feature = "v4_24")]
21636    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21637    pub fn gtk_editable_get_complete_text(editable: *mut GtkEditable) -> *mut c_char;
21638    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21639    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21640    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21641    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21642    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21643    pub fn gtk_editable_get_selection_bounds(
21644        editable: *mut GtkEditable,
21645        start_pos: *mut c_int,
21646        end_pos: *mut c_int,
21647    ) -> gboolean;
21648    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21649    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21650    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21651    pub fn gtk_editable_insert_text(
21652        editable: *mut GtkEditable,
21653        text: *const c_char,
21654        length: c_int,
21655        position: *mut c_int,
21656    );
21657    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21658    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21659    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21660    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21661    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21662    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21663    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21664    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21665
21666    //=========================================================================
21667    // GtkFileChooser
21668    //=========================================================================
21669    pub fn gtk_file_chooser_get_type() -> GType;
21670    pub fn gtk_file_chooser_add_choice(
21671        chooser: *mut GtkFileChooser,
21672        id: *const c_char,
21673        label: *const c_char,
21674        options: *mut *const c_char,
21675        option_labels: *mut *const c_char,
21676    );
21677    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21678    pub fn gtk_file_chooser_add_shortcut_folder(
21679        chooser: *mut GtkFileChooser,
21680        folder: *mut gio::GFile,
21681        error: *mut *mut glib::GError,
21682    ) -> gboolean;
21683    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21684    pub fn gtk_file_chooser_get_choice(
21685        chooser: *mut GtkFileChooser,
21686        id: *const c_char,
21687    ) -> *const c_char;
21688    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21689    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21690    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21691    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21692    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21693    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21694    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21695    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21696    pub fn gtk_file_chooser_get_shortcut_folders(
21697        chooser: *mut GtkFileChooser,
21698    ) -> *mut gio::GListModel;
21699    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21700    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21701    pub fn gtk_file_chooser_remove_shortcut_folder(
21702        chooser: *mut GtkFileChooser,
21703        folder: *mut gio::GFile,
21704        error: *mut *mut glib::GError,
21705    ) -> gboolean;
21706    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21707    pub fn gtk_file_chooser_set_choice(
21708        chooser: *mut GtkFileChooser,
21709        id: *const c_char,
21710        option: *const c_char,
21711    );
21712    pub fn gtk_file_chooser_set_create_folders(
21713        chooser: *mut GtkFileChooser,
21714        create_folders: gboolean,
21715    );
21716    pub fn gtk_file_chooser_set_current_folder(
21717        chooser: *mut GtkFileChooser,
21718        file: *mut gio::GFile,
21719        error: *mut *mut glib::GError,
21720    ) -> gboolean;
21721    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21722    pub fn gtk_file_chooser_set_file(
21723        chooser: *mut GtkFileChooser,
21724        file: *mut gio::GFile,
21725        error: *mut *mut glib::GError,
21726    ) -> gboolean;
21727    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21728    pub fn gtk_file_chooser_set_select_multiple(
21729        chooser: *mut GtkFileChooser,
21730        select_multiple: gboolean,
21731    );
21732
21733    //=========================================================================
21734    // GtkFontChooser
21735    //=========================================================================
21736    pub fn gtk_font_chooser_get_type() -> GType;
21737    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21738    pub fn gtk_font_chooser_get_font_desc(
21739        fontchooser: *mut GtkFontChooser,
21740    ) -> *mut pango::PangoFontDescription;
21741    pub fn gtk_font_chooser_get_font_face(
21742        fontchooser: *mut GtkFontChooser,
21743    ) -> *mut pango::PangoFontFace;
21744    pub fn gtk_font_chooser_get_font_family(
21745        fontchooser: *mut GtkFontChooser,
21746    ) -> *mut pango::PangoFontFamily;
21747    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21748    pub fn gtk_font_chooser_get_font_map(
21749        fontchooser: *mut GtkFontChooser,
21750    ) -> *mut pango::PangoFontMap;
21751    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21752    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21753    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21754    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21755    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21756    pub fn gtk_font_chooser_set_filter_func(
21757        fontchooser: *mut GtkFontChooser,
21758        filter: GtkFontFilterFunc,
21759        user_data: gpointer,
21760        destroy: glib::GDestroyNotify,
21761    );
21762    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21763    pub fn gtk_font_chooser_set_font_desc(
21764        fontchooser: *mut GtkFontChooser,
21765        font_desc: *const pango::PangoFontDescription,
21766    );
21767    pub fn gtk_font_chooser_set_font_map(
21768        fontchooser: *mut GtkFontChooser,
21769        fontmap: *mut pango::PangoFontMap,
21770    );
21771    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21772    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21773    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21774    pub fn gtk_font_chooser_set_show_preview_entry(
21775        fontchooser: *mut GtkFontChooser,
21776        show_preview_entry: gboolean,
21777    );
21778
21779    //=========================================================================
21780    // GtkNative
21781    //=========================================================================
21782    pub fn gtk_native_get_type() -> GType;
21783    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21784    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21785    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21786    pub fn gtk_native_get_surface_transform(
21787        self_: *mut GtkNative,
21788        x: *mut c_double,
21789        y: *mut c_double,
21790    );
21791    pub fn gtk_native_realize(self_: *mut GtkNative);
21792    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21793
21794    //=========================================================================
21795    // GtkOrientable
21796    //=========================================================================
21797    pub fn gtk_orientable_get_type() -> GType;
21798    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21799    pub fn gtk_orientable_set_orientation(
21800        orientable: *mut GtkOrientable,
21801        orientation: GtkOrientation,
21802    );
21803
21804    //=========================================================================
21805    // GtkPrintOperationPreview
21806    //=========================================================================
21807    pub fn gtk_print_operation_preview_get_type() -> GType;
21808    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21809    pub fn gtk_print_operation_preview_is_selected(
21810        preview: *mut GtkPrintOperationPreview,
21811        page_nr: c_int,
21812    ) -> gboolean;
21813    pub fn gtk_print_operation_preview_render_page(
21814        preview: *mut GtkPrintOperationPreview,
21815        page_nr: c_int,
21816    );
21817
21818    //=========================================================================
21819    // GtkRoot
21820    //=========================================================================
21821    pub fn gtk_root_get_type() -> GType;
21822    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21823    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21824    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21825
21826    //=========================================================================
21827    // GtkScrollable
21828    //=========================================================================
21829    pub fn gtk_scrollable_get_type() -> GType;
21830    pub fn gtk_scrollable_get_border(
21831        scrollable: *mut GtkScrollable,
21832        border: *mut GtkBorder,
21833    ) -> gboolean;
21834    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21835    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21836    -> GtkScrollablePolicy;
21837    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21838    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21839    -> GtkScrollablePolicy;
21840    pub fn gtk_scrollable_set_hadjustment(
21841        scrollable: *mut GtkScrollable,
21842        hadjustment: *mut GtkAdjustment,
21843    );
21844    pub fn gtk_scrollable_set_hscroll_policy(
21845        scrollable: *mut GtkScrollable,
21846        policy: GtkScrollablePolicy,
21847    );
21848    pub fn gtk_scrollable_set_vadjustment(
21849        scrollable: *mut GtkScrollable,
21850        vadjustment: *mut GtkAdjustment,
21851    );
21852    pub fn gtk_scrollable_set_vscroll_policy(
21853        scrollable: *mut GtkScrollable,
21854        policy: GtkScrollablePolicy,
21855    );
21856
21857    //=========================================================================
21858    // GtkSectionModel
21859    //=========================================================================
21860    #[cfg(feature = "v4_12")]
21861    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21862    pub fn gtk_section_model_get_type() -> GType;
21863    #[cfg(feature = "v4_12")]
21864    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21865    pub fn gtk_section_model_get_section(
21866        self_: *mut GtkSectionModel,
21867        position: c_uint,
21868        out_start: *mut c_uint,
21869        out_end: *mut c_uint,
21870    );
21871    #[cfg(feature = "v4_12")]
21872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21873    pub fn gtk_section_model_sections_changed(
21874        self_: *mut GtkSectionModel,
21875        position: c_uint,
21876        n_items: c_uint,
21877    );
21878
21879    //=========================================================================
21880    // GtkSelectionModel
21881    //=========================================================================
21882    pub fn gtk_selection_model_get_type() -> GType;
21883    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21884    pub fn gtk_selection_model_get_selection_in_range(
21885        model: *mut GtkSelectionModel,
21886        position: c_uint,
21887        n_items: c_uint,
21888    ) -> *mut GtkBitset;
21889    pub fn gtk_selection_model_is_selected(
21890        model: *mut GtkSelectionModel,
21891        position: c_uint,
21892    ) -> gboolean;
21893    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21894    pub fn gtk_selection_model_select_item(
21895        model: *mut GtkSelectionModel,
21896        position: c_uint,
21897        unselect_rest: gboolean,
21898    ) -> gboolean;
21899    pub fn gtk_selection_model_select_range(
21900        model: *mut GtkSelectionModel,
21901        position: c_uint,
21902        n_items: c_uint,
21903        unselect_rest: gboolean,
21904    ) -> gboolean;
21905    pub fn gtk_selection_model_selection_changed(
21906        model: *mut GtkSelectionModel,
21907        position: c_uint,
21908        n_items: c_uint,
21909    );
21910    pub fn gtk_selection_model_set_selection(
21911        model: *mut GtkSelectionModel,
21912        selected: *mut GtkBitset,
21913        mask: *mut GtkBitset,
21914    ) -> gboolean;
21915    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21916    pub fn gtk_selection_model_unselect_item(
21917        model: *mut GtkSelectionModel,
21918        position: c_uint,
21919    ) -> gboolean;
21920    pub fn gtk_selection_model_unselect_range(
21921        model: *mut GtkSelectionModel,
21922        position: c_uint,
21923        n_items: c_uint,
21924    ) -> gboolean;
21925
21926    //=========================================================================
21927    // GtkShortcutManager
21928    //=========================================================================
21929    pub fn gtk_shortcut_manager_get_type() -> GType;
21930
21931    //=========================================================================
21932    // GtkStyleProvider
21933    //=========================================================================
21934    pub fn gtk_style_provider_get_type() -> GType;
21935
21936    //=========================================================================
21937    // GtkSymbolicPaintable
21938    //=========================================================================
21939    #[cfg(feature = "v4_6")]
21940    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21941    pub fn gtk_symbolic_paintable_get_type() -> GType;
21942    #[cfg(feature = "v4_6")]
21943    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21944    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21945        paintable: *mut GtkSymbolicPaintable,
21946        snapshot: *mut gdk::GdkSnapshot,
21947        width: c_double,
21948        height: c_double,
21949        colors: *const gdk::GdkRGBA,
21950        n_colors: size_t,
21951    );
21952    #[cfg(feature = "v4_22")]
21953    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21954    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21955        paintable: *mut GtkSymbolicPaintable,
21956        snapshot: *mut gdk::GdkSnapshot,
21957        width: c_double,
21958        height: c_double,
21959        colors: *const gdk::GdkRGBA,
21960        n_colors: size_t,
21961        weight: c_double,
21962    );
21963
21964    //=========================================================================
21965    // GtkTreeDragDest
21966    //=========================================================================
21967    pub fn gtk_tree_drag_dest_get_type() -> GType;
21968    pub fn gtk_tree_drag_dest_drag_data_received(
21969        drag_dest: *mut GtkTreeDragDest,
21970        dest: *mut GtkTreePath,
21971        value: *const gobject::GValue,
21972    ) -> gboolean;
21973    pub fn gtk_tree_drag_dest_row_drop_possible(
21974        drag_dest: *mut GtkTreeDragDest,
21975        dest_path: *mut GtkTreePath,
21976        value: *const gobject::GValue,
21977    ) -> gboolean;
21978
21979    //=========================================================================
21980    // GtkTreeDragSource
21981    //=========================================================================
21982    pub fn gtk_tree_drag_source_get_type() -> GType;
21983    pub fn gtk_tree_drag_source_drag_data_delete(
21984        drag_source: *mut GtkTreeDragSource,
21985        path: *mut GtkTreePath,
21986    ) -> gboolean;
21987    pub fn gtk_tree_drag_source_drag_data_get(
21988        drag_source: *mut GtkTreeDragSource,
21989        path: *mut GtkTreePath,
21990    ) -> *mut gdk::GdkContentProvider;
21991    pub fn gtk_tree_drag_source_row_draggable(
21992        drag_source: *mut GtkTreeDragSource,
21993        path: *mut GtkTreePath,
21994    ) -> gboolean;
21995
21996    //=========================================================================
21997    // GtkTreeModel
21998    //=========================================================================
21999    pub fn gtk_tree_model_get_type() -> GType;
22000    pub fn gtk_tree_model_filter_new(
22001        child_model: *mut GtkTreeModel,
22002        root: *mut GtkTreePath,
22003    ) -> *mut GtkTreeModel;
22004    pub fn gtk_tree_model_foreach(
22005        model: *mut GtkTreeModel,
22006        func: GtkTreeModelForeachFunc,
22007        user_data: gpointer,
22008    );
22009    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
22010    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
22011    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
22012    pub fn gtk_tree_model_get_iter(
22013        tree_model: *mut GtkTreeModel,
22014        iter: *mut GtkTreeIter,
22015        path: *mut GtkTreePath,
22016    ) -> gboolean;
22017    pub fn gtk_tree_model_get_iter_first(
22018        tree_model: *mut GtkTreeModel,
22019        iter: *mut GtkTreeIter,
22020    ) -> gboolean;
22021    pub fn gtk_tree_model_get_iter_from_string(
22022        tree_model: *mut GtkTreeModel,
22023        iter: *mut GtkTreeIter,
22024        path_string: *const c_char,
22025    ) -> gboolean;
22026    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
22027    pub fn gtk_tree_model_get_path(
22028        tree_model: *mut GtkTreeModel,
22029        iter: *mut GtkTreeIter,
22030    ) -> *mut GtkTreePath;
22031    pub fn gtk_tree_model_get_string_from_iter(
22032        tree_model: *mut GtkTreeModel,
22033        iter: *mut GtkTreeIter,
22034    ) -> *mut c_char;
22035    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
22036    pub fn gtk_tree_model_get_value(
22037        tree_model: *mut GtkTreeModel,
22038        iter: *mut GtkTreeIter,
22039        column: c_int,
22040        value: *mut gobject::GValue,
22041    );
22042    pub fn gtk_tree_model_iter_children(
22043        tree_model: *mut GtkTreeModel,
22044        iter: *mut GtkTreeIter,
22045        parent: *mut GtkTreeIter,
22046    ) -> gboolean;
22047    pub fn gtk_tree_model_iter_has_child(
22048        tree_model: *mut GtkTreeModel,
22049        iter: *mut GtkTreeIter,
22050    ) -> gboolean;
22051    pub fn gtk_tree_model_iter_n_children(
22052        tree_model: *mut GtkTreeModel,
22053        iter: *mut GtkTreeIter,
22054    ) -> c_int;
22055    pub fn gtk_tree_model_iter_next(
22056        tree_model: *mut GtkTreeModel,
22057        iter: *mut GtkTreeIter,
22058    ) -> gboolean;
22059    pub fn gtk_tree_model_iter_nth_child(
22060        tree_model: *mut GtkTreeModel,
22061        iter: *mut GtkTreeIter,
22062        parent: *mut GtkTreeIter,
22063        n: c_int,
22064    ) -> gboolean;
22065    pub fn gtk_tree_model_iter_parent(
22066        tree_model: *mut GtkTreeModel,
22067        iter: *mut GtkTreeIter,
22068        child: *mut GtkTreeIter,
22069    ) -> gboolean;
22070    pub fn gtk_tree_model_iter_previous(
22071        tree_model: *mut GtkTreeModel,
22072        iter: *mut GtkTreeIter,
22073    ) -> gboolean;
22074    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22075    pub fn gtk_tree_model_row_changed(
22076        tree_model: *mut GtkTreeModel,
22077        path: *mut GtkTreePath,
22078        iter: *mut GtkTreeIter,
22079    );
22080    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
22081    pub fn gtk_tree_model_row_has_child_toggled(
22082        tree_model: *mut GtkTreeModel,
22083        path: *mut GtkTreePath,
22084        iter: *mut GtkTreeIter,
22085    );
22086    pub fn gtk_tree_model_row_inserted(
22087        tree_model: *mut GtkTreeModel,
22088        path: *mut GtkTreePath,
22089        iter: *mut GtkTreeIter,
22090    );
22091    pub fn gtk_tree_model_rows_reordered(
22092        tree_model: *mut GtkTreeModel,
22093        path: *mut GtkTreePath,
22094        iter: *mut GtkTreeIter,
22095        new_order: *mut c_int,
22096    );
22097    pub fn gtk_tree_model_rows_reordered_with_length(
22098        tree_model: *mut GtkTreeModel,
22099        path: *mut GtkTreePath,
22100        iter: *mut GtkTreeIter,
22101        new_order: *mut c_int,
22102        length: c_int,
22103    );
22104    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22105
22106    //=========================================================================
22107    // GtkTreeSortable
22108    //=========================================================================
22109    pub fn gtk_tree_sortable_get_type() -> GType;
22110    pub fn gtk_tree_sortable_get_sort_column_id(
22111        sortable: *mut GtkTreeSortable,
22112        sort_column_id: *mut c_int,
22113        order: *mut GtkSortType,
22114    ) -> gboolean;
22115    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
22116    pub fn gtk_tree_sortable_set_default_sort_func(
22117        sortable: *mut GtkTreeSortable,
22118        sort_func: GtkTreeIterCompareFunc,
22119        user_data: gpointer,
22120        destroy: glib::GDestroyNotify,
22121    );
22122    pub fn gtk_tree_sortable_set_sort_column_id(
22123        sortable: *mut GtkTreeSortable,
22124        sort_column_id: c_int,
22125        order: GtkSortType,
22126    );
22127    pub fn gtk_tree_sortable_set_sort_func(
22128        sortable: *mut GtkTreeSortable,
22129        sort_column_id: c_int,
22130        sort_func: GtkTreeIterCompareFunc,
22131        user_data: gpointer,
22132        destroy: glib::GDestroyNotify,
22133    );
22134    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
22135
22136    //=========================================================================
22137    // Other functions
22138    //=========================================================================
22139    #[cfg(feature = "v4_22")]
22140    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22141    pub fn gtk_accelerator_get_accessible_label(
22142        accelerator_key: c_uint,
22143        accelerator_mods: gdk::GdkModifierType,
22144    ) -> *mut c_char;
22145    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
22146    pub fn gtk_accelerator_get_label(
22147        accelerator_key: c_uint,
22148        accelerator_mods: gdk::GdkModifierType,
22149    ) -> *mut c_char;
22150    pub fn gtk_accelerator_get_label_with_keycode(
22151        display: *mut gdk::GdkDisplay,
22152        accelerator_key: c_uint,
22153        keycode: c_uint,
22154        accelerator_mods: gdk::GdkModifierType,
22155    ) -> *mut c_char;
22156    pub fn gtk_accelerator_name(
22157        accelerator_key: c_uint,
22158        accelerator_mods: gdk::GdkModifierType,
22159    ) -> *mut c_char;
22160    pub fn gtk_accelerator_name_with_keycode(
22161        display: *mut gdk::GdkDisplay,
22162        accelerator_key: c_uint,
22163        keycode: c_uint,
22164        accelerator_mods: gdk::GdkModifierType,
22165    ) -> *mut c_char;
22166    pub fn gtk_accelerator_parse(
22167        accelerator: *const c_char,
22168        accelerator_key: *mut c_uint,
22169        accelerator_mods: *mut gdk::GdkModifierType,
22170    ) -> gboolean;
22171    pub fn gtk_accelerator_parse_with_keycode(
22172        accelerator: *const c_char,
22173        display: *mut gdk::GdkDisplay,
22174        accelerator_key: *mut c_uint,
22175        accelerator_codes: *mut *mut c_uint,
22176        accelerator_mods: *mut gdk::GdkModifierType,
22177    ) -> gboolean;
22178    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
22179    pub fn gtk_check_version(
22180        required_major: c_uint,
22181        required_minor: c_uint,
22182        required_micro: c_uint,
22183    ) -> *const c_char;
22184    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
22185    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
22186    #[cfg(feature = "v4_22")]
22187    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22188    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
22189    #[cfg(feature = "v4_18")]
22190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
22191    pub fn gtk_disable_portals();
22192    pub fn gtk_disable_setlocale();
22193    pub fn gtk_distribute_natural_allocation(
22194        extra_space: c_int,
22195        n_requested_sizes: c_uint,
22196        sizes: *mut GtkRequestedSize,
22197    ) -> c_int;
22198    pub fn gtk_enumerate_printers(
22199        func: GtkPrinterFunc,
22200        data: gpointer,
22201        destroy: glib::GDestroyNotify,
22202        wait: gboolean,
22203    );
22204    pub fn gtk_get_binary_age() -> c_uint;
22205    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22206    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22207    pub fn gtk_get_interface_age() -> c_uint;
22208    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22209    pub fn gtk_get_major_version() -> c_uint;
22210    pub fn gtk_get_micro_version() -> c_uint;
22211    pub fn gtk_get_minor_version() -> c_uint;
22212    pub fn gtk_hsv_to_rgb(
22213        h: c_float,
22214        s: c_float,
22215        v: c_float,
22216        r: *mut c_float,
22217        g: *mut c_float,
22218        b: *mut c_float,
22219    );
22220    pub fn gtk_init();
22221    pub fn gtk_init_check() -> gboolean;
22222    pub fn gtk_is_initialized() -> gboolean;
22223    pub fn gtk_param_spec_expression(
22224        name: *const c_char,
22225        nick: *const c_char,
22226        blurb: *const c_char,
22227        flags: gobject::GParamFlags,
22228    ) -> *mut gobject::GParamSpec;
22229    pub fn gtk_print_run_page_setup_dialog(
22230        parent: *mut GtkWindow,
22231        page_setup: *mut GtkPageSetup,
22232        settings: *mut GtkPrintSettings,
22233    ) -> *mut GtkPageSetup;
22234    pub fn gtk_print_run_page_setup_dialog_async(
22235        parent: *mut GtkWindow,
22236        page_setup: *mut GtkPageSetup,
22237        settings: *mut GtkPrintSettings,
22238        done_cb: GtkPageSetupDoneFunc,
22239        data: gpointer,
22240    );
22241    pub fn gtk_render_activity(
22242        context: *mut GtkStyleContext,
22243        cr: *mut cairo::cairo_t,
22244        x: c_double,
22245        y: c_double,
22246        width: c_double,
22247        height: c_double,
22248    );
22249    pub fn gtk_render_arrow(
22250        context: *mut GtkStyleContext,
22251        cr: *mut cairo::cairo_t,
22252        angle: c_double,
22253        x: c_double,
22254        y: c_double,
22255        size: c_double,
22256    );
22257    pub fn gtk_render_background(
22258        context: *mut GtkStyleContext,
22259        cr: *mut cairo::cairo_t,
22260        x: c_double,
22261        y: c_double,
22262        width: c_double,
22263        height: c_double,
22264    );
22265    pub fn gtk_render_check(
22266        context: *mut GtkStyleContext,
22267        cr: *mut cairo::cairo_t,
22268        x: c_double,
22269        y: c_double,
22270        width: c_double,
22271        height: c_double,
22272    );
22273    pub fn gtk_render_expander(
22274        context: *mut GtkStyleContext,
22275        cr: *mut cairo::cairo_t,
22276        x: c_double,
22277        y: c_double,
22278        width: c_double,
22279        height: c_double,
22280    );
22281    pub fn gtk_render_focus(
22282        context: *mut GtkStyleContext,
22283        cr: *mut cairo::cairo_t,
22284        x: c_double,
22285        y: c_double,
22286        width: c_double,
22287        height: c_double,
22288    );
22289    pub fn gtk_render_frame(
22290        context: *mut GtkStyleContext,
22291        cr: *mut cairo::cairo_t,
22292        x: c_double,
22293        y: c_double,
22294        width: c_double,
22295        height: c_double,
22296    );
22297    pub fn gtk_render_handle(
22298        context: *mut GtkStyleContext,
22299        cr: *mut cairo::cairo_t,
22300        x: c_double,
22301        y: c_double,
22302        width: c_double,
22303        height: c_double,
22304    );
22305    pub fn gtk_render_icon(
22306        context: *mut GtkStyleContext,
22307        cr: *mut cairo::cairo_t,
22308        texture: *mut gdk::GdkTexture,
22309        x: c_double,
22310        y: c_double,
22311    );
22312    pub fn gtk_render_layout(
22313        context: *mut GtkStyleContext,
22314        cr: *mut cairo::cairo_t,
22315        x: c_double,
22316        y: c_double,
22317        layout: *mut pango::PangoLayout,
22318    );
22319    pub fn gtk_render_line(
22320        context: *mut GtkStyleContext,
22321        cr: *mut cairo::cairo_t,
22322        x0: c_double,
22323        y0: c_double,
22324        x1: c_double,
22325        y1: c_double,
22326    );
22327    pub fn gtk_render_option(
22328        context: *mut GtkStyleContext,
22329        cr: *mut cairo::cairo_t,
22330        x: c_double,
22331        y: c_double,
22332        width: c_double,
22333        height: c_double,
22334    );
22335    pub fn gtk_rgb_to_hsv(
22336        r: c_float,
22337        g: c_float,
22338        b: c_float,
22339        h: *mut c_float,
22340        s: *mut c_float,
22341        v: *mut c_float,
22342    );
22343    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22344    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22345    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22346    pub fn gtk_show_uri_full(
22347        parent: *mut GtkWindow,
22348        uri: *const c_char,
22349        timestamp: u32,
22350        cancellable: *mut gio::GCancellable,
22351        callback: gio::GAsyncReadyCallback,
22352        user_data: gpointer,
22353    );
22354    pub fn gtk_show_uri_full_finish(
22355        parent: *mut GtkWindow,
22356        result: *mut gio::GAsyncResult,
22357        error: *mut *mut glib::GError,
22358    ) -> gboolean;
22359    #[cfg(feature = "v4_10")]
22360    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22361    pub fn gtk_test_accessible_assertion_message_role(
22362        domain: *const c_char,
22363        file: *const c_char,
22364        line: c_int,
22365        func: *const c_char,
22366        expr: *const c_char,
22367        accessible: *mut GtkAccessible,
22368        expected_role: GtkAccessibleRole,
22369        actual_role: GtkAccessibleRole,
22370    );
22371    #[cfg(feature = "v4_10")]
22372    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22373    pub fn gtk_test_accessible_check_property(
22374        accessible: *mut GtkAccessible,
22375        property: GtkAccessibleProperty,
22376        ...
22377    ) -> *mut c_char;
22378    #[cfg(feature = "v4_10")]
22379    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22380    pub fn gtk_test_accessible_check_relation(
22381        accessible: *mut GtkAccessible,
22382        relation: GtkAccessibleRelation,
22383        ...
22384    ) -> *mut c_char;
22385    #[cfg(feature = "v4_10")]
22386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22387    pub fn gtk_test_accessible_check_state(
22388        accessible: *mut GtkAccessible,
22389        state: GtkAccessibleState,
22390        ...
22391    ) -> *mut c_char;
22392    #[cfg(feature = "v4_10")]
22393    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22394    pub fn gtk_test_accessible_has_property(
22395        accessible: *mut GtkAccessible,
22396        property: GtkAccessibleProperty,
22397    ) -> gboolean;
22398    #[cfg(feature = "v4_10")]
22399    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22400    pub fn gtk_test_accessible_has_relation(
22401        accessible: *mut GtkAccessible,
22402        relation: GtkAccessibleRelation,
22403    ) -> gboolean;
22404    #[cfg(feature = "v4_10")]
22405    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22406    pub fn gtk_test_accessible_has_role(
22407        accessible: *mut GtkAccessible,
22408        role: GtkAccessibleRole,
22409    ) -> gboolean;
22410    #[cfg(feature = "v4_10")]
22411    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22412    pub fn gtk_test_accessible_has_state(
22413        accessible: *mut GtkAccessible,
22414        state: GtkAccessibleState,
22415    ) -> gboolean;
22416    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22417    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22418    pub fn gtk_test_register_all_types();
22419    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22420    pub fn gtk_tree_create_row_drag_content(
22421        tree_model: *mut GtkTreeModel,
22422        path: *mut GtkTreePath,
22423    ) -> *mut gdk::GdkContentProvider;
22424    pub fn gtk_tree_get_row_drag_data(
22425        value: *const gobject::GValue,
22426        tree_model: *mut *mut GtkTreeModel,
22427        path: *mut *mut GtkTreePath,
22428    ) -> gboolean;
22429    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22430    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22431    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22432    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22433
22434}