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    pub fn gtk_alternative_trigger_get_first(
11932        self_: *mut GtkAlternativeTrigger,
11933    ) -> *mut GtkShortcutTrigger;
11934    pub fn gtk_alternative_trigger_get_second(
11935        self_: *mut GtkAlternativeTrigger,
11936    ) -> *mut GtkShortcutTrigger;
11937
11938    //=========================================================================
11939    // GtkAnyFilter
11940    //=========================================================================
11941    pub fn gtk_any_filter_get_type() -> GType;
11942    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11943
11944    //=========================================================================
11945    // GtkAppChooserButton
11946    //=========================================================================
11947    pub fn gtk_app_chooser_button_get_type() -> GType;
11948    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11949    pub fn gtk_app_chooser_button_append_custom_item(
11950        self_: *mut GtkAppChooserButton,
11951        name: *const c_char,
11952        label: *const c_char,
11953        icon: *mut gio::GIcon,
11954    );
11955    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11956    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11957    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11958    pub fn gtk_app_chooser_button_get_show_default_item(
11959        self_: *mut GtkAppChooserButton,
11960    ) -> gboolean;
11961    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11962    -> gboolean;
11963    pub fn gtk_app_chooser_button_set_active_custom_item(
11964        self_: *mut GtkAppChooserButton,
11965        name: *const c_char,
11966    );
11967    pub fn gtk_app_chooser_button_set_heading(
11968        self_: *mut GtkAppChooserButton,
11969        heading: *const c_char,
11970    );
11971    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11972    pub fn gtk_app_chooser_button_set_show_default_item(
11973        self_: *mut GtkAppChooserButton,
11974        setting: gboolean,
11975    );
11976    pub fn gtk_app_chooser_button_set_show_dialog_item(
11977        self_: *mut GtkAppChooserButton,
11978        setting: gboolean,
11979    );
11980
11981    //=========================================================================
11982    // GtkAppChooserDialog
11983    //=========================================================================
11984    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11985    pub fn gtk_app_chooser_dialog_new(
11986        parent: *mut GtkWindow,
11987        flags: GtkDialogFlags,
11988        file: *mut gio::GFile,
11989    ) -> *mut GtkWidget;
11990    pub fn gtk_app_chooser_dialog_new_for_content_type(
11991        parent: *mut GtkWindow,
11992        flags: GtkDialogFlags,
11993        content_type: *const c_char,
11994    ) -> *mut GtkWidget;
11995    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11996    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11997    pub fn gtk_app_chooser_dialog_set_heading(
11998        self_: *mut GtkAppChooserDialog,
11999        heading: *const c_char,
12000    );
12001
12002    //=========================================================================
12003    // GtkAppChooserWidget
12004    //=========================================================================
12005    pub fn gtk_app_chooser_widget_get_type() -> GType;
12006    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
12007    pub fn gtk_app_chooser_widget_get_default_text(
12008        self_: *mut GtkAppChooserWidget,
12009    ) -> *const c_char;
12010    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
12011    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
12012    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
12013    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
12014    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
12015    -> gboolean;
12016    pub fn gtk_app_chooser_widget_set_default_text(
12017        self_: *mut GtkAppChooserWidget,
12018        text: *const c_char,
12019    );
12020    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
12021    pub fn gtk_app_chooser_widget_set_show_default(
12022        self_: *mut GtkAppChooserWidget,
12023        setting: gboolean,
12024    );
12025    pub fn gtk_app_chooser_widget_set_show_fallback(
12026        self_: *mut GtkAppChooserWidget,
12027        setting: gboolean,
12028    );
12029    pub fn gtk_app_chooser_widget_set_show_other(
12030        self_: *mut GtkAppChooserWidget,
12031        setting: gboolean,
12032    );
12033    pub fn gtk_app_chooser_widget_set_show_recommended(
12034        self_: *mut GtkAppChooserWidget,
12035        setting: gboolean,
12036    );
12037
12038    //=========================================================================
12039    // GtkApplication
12040    //=========================================================================
12041    pub fn gtk_application_get_type() -> GType;
12042    pub fn gtk_application_new(
12043        application_id: *const c_char,
12044        flags: gio::GApplicationFlags,
12045    ) -> *mut GtkApplication;
12046    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
12047    #[cfg(feature = "v4_24")]
12048    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12049    pub fn gtk_application_forget(application: *mut GtkApplication);
12050    pub fn gtk_application_get_accels_for_action(
12051        application: *mut GtkApplication,
12052        detailed_action_name: *const c_char,
12053    ) -> *mut *mut c_char;
12054    pub fn gtk_application_get_actions_for_accel(
12055        application: *mut GtkApplication,
12056        accel: *const c_char,
12057    ) -> *mut *mut c_char;
12058    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
12059    pub fn gtk_application_get_menu_by_id(
12060        application: *mut GtkApplication,
12061        id: *const c_char,
12062    ) -> *mut gio::GMenu;
12063    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
12064    pub fn gtk_application_get_window_by_id(
12065        application: *mut GtkApplication,
12066        id: c_uint,
12067    ) -> *mut GtkWindow;
12068    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
12069    pub fn gtk_application_inhibit(
12070        application: *mut GtkApplication,
12071        window: *mut GtkWindow,
12072        flags: GtkApplicationInhibitFlags,
12073        reason: *const c_char,
12074    ) -> c_uint;
12075    pub fn gtk_application_list_action_descriptions(
12076        application: *mut GtkApplication,
12077    ) -> *mut *mut c_char;
12078    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
12079    #[cfg(feature = "v4_24")]
12080    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12081    pub fn gtk_application_save(application: *mut GtkApplication);
12082    pub fn gtk_application_set_accels_for_action(
12083        application: *mut GtkApplication,
12084        detailed_action_name: *const c_char,
12085        accels: *const *const c_char,
12086    );
12087    pub fn gtk_application_set_menubar(
12088        application: *mut GtkApplication,
12089        menubar: *mut gio::GMenuModel,
12090    );
12091    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
12092
12093    //=========================================================================
12094    // GtkApplicationWindow
12095    //=========================================================================
12096    pub fn gtk_application_window_get_type() -> GType;
12097    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12098    pub fn gtk_application_window_get_help_overlay(
12099        window: *mut GtkApplicationWindow,
12100    ) -> *mut GtkShortcutsWindow;
12101    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12102    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12103    pub fn gtk_application_window_set_help_overlay(
12104        window: *mut GtkApplicationWindow,
12105        help_overlay: *mut GtkShortcutsWindow,
12106    );
12107    pub fn gtk_application_window_set_show_menubar(
12108        window: *mut GtkApplicationWindow,
12109        show_menubar: gboolean,
12110    );
12111
12112    //=========================================================================
12113    // GtkAspectFrame
12114    //=========================================================================
12115    pub fn gtk_aspect_frame_get_type() -> GType;
12116    pub fn gtk_aspect_frame_new(
12117        xalign: c_float,
12118        yalign: c_float,
12119        ratio: c_float,
12120        obey_child: gboolean,
12121    ) -> *mut GtkWidget;
12122    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12123    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12124    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12125    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12126    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12127    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12128    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12129    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12130    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12131    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12132
12133    //=========================================================================
12134    // GtkAssistant
12135    //=========================================================================
12136    pub fn gtk_assistant_get_type() -> GType;
12137    pub fn gtk_assistant_new() -> *mut GtkWidget;
12138    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12139    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12140    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12141    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12142    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12143    pub fn gtk_assistant_get_nth_page(
12144        assistant: *mut GtkAssistant,
12145        page_num: c_int,
12146    ) -> *mut GtkWidget;
12147    pub fn gtk_assistant_get_page(
12148        assistant: *mut GtkAssistant,
12149        child: *mut GtkWidget,
12150    ) -> *mut GtkAssistantPage;
12151    pub fn gtk_assistant_get_page_complete(
12152        assistant: *mut GtkAssistant,
12153        page: *mut GtkWidget,
12154    ) -> gboolean;
12155    pub fn gtk_assistant_get_page_title(
12156        assistant: *mut GtkAssistant,
12157        page: *mut GtkWidget,
12158    ) -> *const c_char;
12159    pub fn gtk_assistant_get_page_type(
12160        assistant: *mut GtkAssistant,
12161        page: *mut GtkWidget,
12162    ) -> GtkAssistantPageType;
12163    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12164    pub fn gtk_assistant_insert_page(
12165        assistant: *mut GtkAssistant,
12166        page: *mut GtkWidget,
12167        position: c_int,
12168    ) -> c_int;
12169    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12170    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12171    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12172    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12173    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12174    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12175    pub fn gtk_assistant_set_forward_page_func(
12176        assistant: *mut GtkAssistant,
12177        page_func: GtkAssistantPageFunc,
12178        data: gpointer,
12179        destroy: glib::GDestroyNotify,
12180    );
12181    pub fn gtk_assistant_set_page_complete(
12182        assistant: *mut GtkAssistant,
12183        page: *mut GtkWidget,
12184        complete: gboolean,
12185    );
12186    pub fn gtk_assistant_set_page_title(
12187        assistant: *mut GtkAssistant,
12188        page: *mut GtkWidget,
12189        title: *const c_char,
12190    );
12191    pub fn gtk_assistant_set_page_type(
12192        assistant: *mut GtkAssistant,
12193        page: *mut GtkWidget,
12194        type_: GtkAssistantPageType,
12195    );
12196    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12197
12198    //=========================================================================
12199    // GtkAssistantPage
12200    //=========================================================================
12201    pub fn gtk_assistant_page_get_type() -> GType;
12202    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12203
12204    //=========================================================================
12205    // GtkBinLayout
12206    //=========================================================================
12207    pub fn gtk_bin_layout_get_type() -> GType;
12208    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12209
12210    //=========================================================================
12211    // GtkBookmarkList
12212    //=========================================================================
12213    pub fn gtk_bookmark_list_get_type() -> GType;
12214    pub fn gtk_bookmark_list_new(
12215        filename: *const c_char,
12216        attributes: *const c_char,
12217    ) -> *mut GtkBookmarkList;
12218    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12219    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12220    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12221    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12222    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12223    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12224
12225    //=========================================================================
12226    // GtkBoolFilter
12227    //=========================================================================
12228    pub fn gtk_bool_filter_get_type() -> GType;
12229    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12230    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12231    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12232    pub fn gtk_bool_filter_set_expression(
12233        self_: *mut GtkBoolFilter,
12234        expression: *mut GtkExpression,
12235    );
12236    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12237
12238    //=========================================================================
12239    // GtkBox
12240    //=========================================================================
12241    pub fn gtk_box_get_type() -> GType;
12242    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12243    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12244    #[cfg(feature = "v4_12")]
12245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12246    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12247    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12248    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12249    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12250    pub fn gtk_box_insert_child_after(
12251        box_: *mut GtkBox,
12252        child: *mut GtkWidget,
12253        sibling: *mut GtkWidget,
12254    );
12255    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12256    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12257    pub fn gtk_box_reorder_child_after(
12258        box_: *mut GtkBox,
12259        child: *mut GtkWidget,
12260        sibling: *mut GtkWidget,
12261    );
12262    #[cfg(feature = "v4_12")]
12263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12264    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12265    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12266    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12267    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12268
12269    //=========================================================================
12270    // GtkBoxLayout
12271    //=========================================================================
12272    pub fn gtk_box_layout_get_type() -> GType;
12273    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12274    #[cfg(feature = "v4_12")]
12275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12276    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12277    pub fn gtk_box_layout_get_baseline_position(
12278        box_layout: *mut GtkBoxLayout,
12279    ) -> GtkBaselinePosition;
12280    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12281    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12282    #[cfg(feature = "v4_12")]
12283    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12284    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12285    pub fn gtk_box_layout_set_baseline_position(
12286        box_layout: *mut GtkBoxLayout,
12287        position: GtkBaselinePosition,
12288    );
12289    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12290    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12291
12292    //=========================================================================
12293    // GtkBuilder
12294    //=========================================================================
12295    pub fn gtk_builder_get_type() -> GType;
12296    pub fn gtk_builder_new() -> *mut GtkBuilder;
12297    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12298    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12299    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12300    pub fn gtk_builder_add_from_file(
12301        builder: *mut GtkBuilder,
12302        filename: *const c_char,
12303        error: *mut *mut glib::GError,
12304    ) -> gboolean;
12305    pub fn gtk_builder_add_from_resource(
12306        builder: *mut GtkBuilder,
12307        resource_path: *const c_char,
12308        error: *mut *mut glib::GError,
12309    ) -> gboolean;
12310    pub fn gtk_builder_add_from_string(
12311        builder: *mut GtkBuilder,
12312        buffer: *const c_char,
12313        length: ssize_t,
12314        error: *mut *mut glib::GError,
12315    ) -> gboolean;
12316    pub fn gtk_builder_add_objects_from_file(
12317        builder: *mut GtkBuilder,
12318        filename: *const c_char,
12319        object_ids: *mut *const c_char,
12320        error: *mut *mut glib::GError,
12321    ) -> gboolean;
12322    pub fn gtk_builder_add_objects_from_resource(
12323        builder: *mut GtkBuilder,
12324        resource_path: *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_string(
12329        builder: *mut GtkBuilder,
12330        buffer: *const c_char,
12331        length: ssize_t,
12332        object_ids: *mut *const c_char,
12333        error: *mut *mut glib::GError,
12334    ) -> gboolean;
12335    pub fn gtk_builder_create_closure(
12336        builder: *mut GtkBuilder,
12337        function_name: *const c_char,
12338        flags: GtkBuilderClosureFlags,
12339        object: *mut gobject::GObject,
12340        error: *mut *mut glib::GError,
12341    ) -> *mut gobject::GClosure;
12342    pub fn gtk_builder_expose_object(
12343        builder: *mut GtkBuilder,
12344        name: *const c_char,
12345        object: *mut gobject::GObject,
12346    );
12347    pub fn gtk_builder_extend_with_template(
12348        builder: *mut GtkBuilder,
12349        object: *mut gobject::GObject,
12350        template_type: GType,
12351        buffer: *const c_char,
12352        length: ssize_t,
12353        error: *mut *mut glib::GError,
12354    ) -> gboolean;
12355    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12356    pub fn gtk_builder_get_object(
12357        builder: *mut GtkBuilder,
12358        name: *const c_char,
12359    ) -> *mut gobject::GObject;
12360    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12361    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12362    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12363    pub fn gtk_builder_get_type_from_name(
12364        builder: *mut GtkBuilder,
12365        type_name: *const c_char,
12366    ) -> GType;
12367    pub fn gtk_builder_set_current_object(
12368        builder: *mut GtkBuilder,
12369        current_object: *mut gobject::GObject,
12370    );
12371    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12372    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12373    pub fn gtk_builder_value_from_string(
12374        builder: *mut GtkBuilder,
12375        pspec: *mut gobject::GParamSpec,
12376        string: *const c_char,
12377        value: *mut gobject::GValue,
12378        error: *mut *mut glib::GError,
12379    ) -> gboolean;
12380    pub fn gtk_builder_value_from_string_type(
12381        builder: *mut GtkBuilder,
12382        type_: GType,
12383        string: *const c_char,
12384        value: *mut gobject::GValue,
12385        error: *mut *mut glib::GError,
12386    ) -> gboolean;
12387
12388    //=========================================================================
12389    // GtkBuilderCScope
12390    //=========================================================================
12391    pub fn gtk_builder_cscope_get_type() -> GType;
12392    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12393    pub fn gtk_builder_cscope_add_callback_symbol(
12394        self_: *mut GtkBuilderCScope,
12395        callback_name: *const c_char,
12396        callback_symbol: gobject::GCallback,
12397    );
12398    pub fn gtk_builder_cscope_add_callback_symbols(
12399        self_: *mut GtkBuilderCScope,
12400        first_callback_name: *const c_char,
12401        first_callback_symbol: gobject::GCallback,
12402        ...
12403    );
12404    pub fn gtk_builder_cscope_lookup_callback_symbol(
12405        self_: *mut GtkBuilderCScope,
12406        callback_name: *const c_char,
12407    ) -> gobject::GCallback;
12408
12409    //=========================================================================
12410    // GtkBuilderListItemFactory
12411    //=========================================================================
12412    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12413    pub fn gtk_builder_list_item_factory_new_from_bytes(
12414        scope: *mut GtkBuilderScope,
12415        bytes: *mut glib::GBytes,
12416    ) -> *mut GtkListItemFactory;
12417    pub fn gtk_builder_list_item_factory_new_from_resource(
12418        scope: *mut GtkBuilderScope,
12419        resource_path: *const c_char,
12420    ) -> *mut GtkListItemFactory;
12421    pub fn gtk_builder_list_item_factory_get_bytes(
12422        self_: *mut GtkBuilderListItemFactory,
12423    ) -> *mut glib::GBytes;
12424    pub fn gtk_builder_list_item_factory_get_resource(
12425        self_: *mut GtkBuilderListItemFactory,
12426    ) -> *const c_char;
12427    pub fn gtk_builder_list_item_factory_get_scope(
12428        self_: *mut GtkBuilderListItemFactory,
12429    ) -> *mut GtkBuilderScope;
12430
12431    //=========================================================================
12432    // GtkButton
12433    //=========================================================================
12434    pub fn gtk_button_get_type() -> GType;
12435    pub fn gtk_button_new() -> *mut GtkWidget;
12436    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12437    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12438    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12439    #[cfg(feature = "v4_12")]
12440    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12441    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12442    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12443    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12444    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12445    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12446    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12447    #[cfg(feature = "v4_12")]
12448    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12449    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12450    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12451    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12452    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12453    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12454    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12455
12456    //=========================================================================
12457    // GtkCClosureExpression
12458    //=========================================================================
12459    pub fn gtk_cclosure_expression_get_type() -> GType;
12460    pub fn gtk_cclosure_expression_new(
12461        value_type: GType,
12462        marshal: gobject::GClosureMarshal,
12463        n_params: c_uint,
12464        params: *mut *mut GtkExpression,
12465        callback_func: gobject::GCallback,
12466        user_data: gpointer,
12467        user_destroy: gobject::GClosureNotify,
12468    ) -> *mut GtkCClosureExpression;
12469
12470    //=========================================================================
12471    // GtkCalendar
12472    //=========================================================================
12473    pub fn gtk_calendar_get_type() -> GType;
12474    pub fn gtk_calendar_new() -> *mut GtkWidget;
12475    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12476    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12477    #[cfg(feature = "v4_14")]
12478    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12479    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12480    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12481    #[cfg(feature = "v4_14")]
12482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12483    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12484    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12485    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12486    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12487    #[cfg(feature = "v4_14")]
12488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12489    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12490    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12491    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12492    #[cfg(feature = "v4_20")]
12493    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12494    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12495    #[cfg(feature = "v4_14")]
12496    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12497    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12498    #[cfg(feature = "v4_14")]
12499    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12500    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12501    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12502    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12503    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12504    #[cfg(feature = "v4_14")]
12505    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12506    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12507    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12508
12509    //=========================================================================
12510    // GtkCallbackAction
12511    //=========================================================================
12512    pub fn gtk_callback_action_get_type() -> GType;
12513    pub fn gtk_callback_action_new(
12514        callback: GtkShortcutFunc,
12515        data: gpointer,
12516        destroy: glib::GDestroyNotify,
12517    ) -> *mut GtkCallbackAction;
12518
12519    //=========================================================================
12520    // GtkCellArea
12521    //=========================================================================
12522    pub fn gtk_cell_area_get_type() -> GType;
12523    pub fn gtk_cell_area_activate(
12524        area: *mut GtkCellArea,
12525        context: *mut GtkCellAreaContext,
12526        widget: *mut GtkWidget,
12527        cell_area: *const gdk::GdkRectangle,
12528        flags: GtkCellRendererState,
12529        edit_only: gboolean,
12530    ) -> gboolean;
12531    pub fn gtk_cell_area_activate_cell(
12532        area: *mut GtkCellArea,
12533        widget: *mut GtkWidget,
12534        renderer: *mut GtkCellRenderer,
12535        event: *mut gdk::GdkEvent,
12536        cell_area: *const gdk::GdkRectangle,
12537        flags: GtkCellRendererState,
12538    ) -> gboolean;
12539    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12540    pub fn gtk_cell_area_add_focus_sibling(
12541        area: *mut GtkCellArea,
12542        renderer: *mut GtkCellRenderer,
12543        sibling: *mut GtkCellRenderer,
12544    );
12545    pub fn gtk_cell_area_add_with_properties(
12546        area: *mut GtkCellArea,
12547        renderer: *mut GtkCellRenderer,
12548        first_prop_name: *const c_char,
12549        ...
12550    );
12551    pub fn gtk_cell_area_apply_attributes(
12552        area: *mut GtkCellArea,
12553        tree_model: *mut GtkTreeModel,
12554        iter: *mut GtkTreeIter,
12555        is_expander: gboolean,
12556        is_expanded: gboolean,
12557    );
12558    pub fn gtk_cell_area_attribute_connect(
12559        area: *mut GtkCellArea,
12560        renderer: *mut GtkCellRenderer,
12561        attribute: *const c_char,
12562        column: c_int,
12563    );
12564    pub fn gtk_cell_area_attribute_disconnect(
12565        area: *mut GtkCellArea,
12566        renderer: *mut GtkCellRenderer,
12567        attribute: *const c_char,
12568    );
12569    pub fn gtk_cell_area_attribute_get_column(
12570        area: *mut GtkCellArea,
12571        renderer: *mut GtkCellRenderer,
12572        attribute: *const c_char,
12573    ) -> c_int;
12574    pub fn gtk_cell_area_cell_get(
12575        area: *mut GtkCellArea,
12576        renderer: *mut GtkCellRenderer,
12577        first_prop_name: *const c_char,
12578        ...
12579    );
12580    pub fn gtk_cell_area_cell_get_property(
12581        area: *mut GtkCellArea,
12582        renderer: *mut GtkCellRenderer,
12583        property_name: *const c_char,
12584        value: *mut gobject::GValue,
12585    );
12586    //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);
12587    pub fn gtk_cell_area_cell_set(
12588        area: *mut GtkCellArea,
12589        renderer: *mut GtkCellRenderer,
12590        first_prop_name: *const c_char,
12591        ...
12592    );
12593    pub fn gtk_cell_area_cell_set_property(
12594        area: *mut GtkCellArea,
12595        renderer: *mut GtkCellRenderer,
12596        property_name: *const c_char,
12597        value: *const gobject::GValue,
12598    );
12599    //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);
12600    pub fn gtk_cell_area_copy_context(
12601        area: *mut GtkCellArea,
12602        context: *mut GtkCellAreaContext,
12603    ) -> *mut GtkCellAreaContext;
12604    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12605    pub fn gtk_cell_area_event(
12606        area: *mut GtkCellArea,
12607        context: *mut GtkCellAreaContext,
12608        widget: *mut GtkWidget,
12609        event: *mut gdk::GdkEvent,
12610        cell_area: *const gdk::GdkRectangle,
12611        flags: GtkCellRendererState,
12612    ) -> c_int;
12613    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12614    pub fn gtk_cell_area_foreach(
12615        area: *mut GtkCellArea,
12616        callback: GtkCellCallback,
12617        callback_data: gpointer,
12618    );
12619    pub fn gtk_cell_area_foreach_alloc(
12620        area: *mut GtkCellArea,
12621        context: *mut GtkCellAreaContext,
12622        widget: *mut GtkWidget,
12623        cell_area: *const gdk::GdkRectangle,
12624        background_area: *const gdk::GdkRectangle,
12625        callback: GtkCellAllocCallback,
12626        callback_data: gpointer,
12627    );
12628    pub fn gtk_cell_area_get_cell_allocation(
12629        area: *mut GtkCellArea,
12630        context: *mut GtkCellAreaContext,
12631        widget: *mut GtkWidget,
12632        renderer: *mut GtkCellRenderer,
12633        cell_area: *const gdk::GdkRectangle,
12634        allocation: *mut gdk::GdkRectangle,
12635    );
12636    pub fn gtk_cell_area_get_cell_at_position(
12637        area: *mut GtkCellArea,
12638        context: *mut GtkCellAreaContext,
12639        widget: *mut GtkWidget,
12640        cell_area: *const gdk::GdkRectangle,
12641        x: c_int,
12642        y: c_int,
12643        alloc_area: *mut gdk::GdkRectangle,
12644    ) -> *mut GtkCellRenderer;
12645    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12646    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12647    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12648    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12649    pub fn gtk_cell_area_get_focus_from_sibling(
12650        area: *mut GtkCellArea,
12651        renderer: *mut GtkCellRenderer,
12652    ) -> *mut GtkCellRenderer;
12653    pub fn gtk_cell_area_get_focus_siblings(
12654        area: *mut GtkCellArea,
12655        renderer: *mut GtkCellRenderer,
12656    ) -> *const glib::GList;
12657    pub fn gtk_cell_area_get_preferred_height(
12658        area: *mut GtkCellArea,
12659        context: *mut GtkCellAreaContext,
12660        widget: *mut GtkWidget,
12661        minimum_height: *mut c_int,
12662        natural_height: *mut c_int,
12663    );
12664    pub fn gtk_cell_area_get_preferred_height_for_width(
12665        area: *mut GtkCellArea,
12666        context: *mut GtkCellAreaContext,
12667        widget: *mut GtkWidget,
12668        width: c_int,
12669        minimum_height: *mut c_int,
12670        natural_height: *mut c_int,
12671    );
12672    pub fn gtk_cell_area_get_preferred_width(
12673        area: *mut GtkCellArea,
12674        context: *mut GtkCellAreaContext,
12675        widget: *mut GtkWidget,
12676        minimum_width: *mut c_int,
12677        natural_width: *mut c_int,
12678    );
12679    pub fn gtk_cell_area_get_preferred_width_for_height(
12680        area: *mut GtkCellArea,
12681        context: *mut GtkCellAreaContext,
12682        widget: *mut GtkWidget,
12683        height: c_int,
12684        minimum_width: *mut c_int,
12685        natural_width: *mut c_int,
12686    );
12687    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12688    pub fn gtk_cell_area_has_renderer(
12689        area: *mut GtkCellArea,
12690        renderer: *mut GtkCellRenderer,
12691    ) -> gboolean;
12692    pub fn gtk_cell_area_inner_cell_area(
12693        area: *mut GtkCellArea,
12694        widget: *mut GtkWidget,
12695        cell_area: *const gdk::GdkRectangle,
12696        inner_area: *mut gdk::GdkRectangle,
12697    );
12698    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12699    pub fn gtk_cell_area_is_focus_sibling(
12700        area: *mut GtkCellArea,
12701        renderer: *mut GtkCellRenderer,
12702        sibling: *mut GtkCellRenderer,
12703    ) -> gboolean;
12704    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12705    pub fn gtk_cell_area_remove_focus_sibling(
12706        area: *mut GtkCellArea,
12707        renderer: *mut GtkCellRenderer,
12708        sibling: *mut GtkCellRenderer,
12709    );
12710    pub fn gtk_cell_area_request_renderer(
12711        area: *mut GtkCellArea,
12712        renderer: *mut GtkCellRenderer,
12713        orientation: GtkOrientation,
12714        widget: *mut GtkWidget,
12715        for_size: c_int,
12716        minimum_size: *mut c_int,
12717        natural_size: *mut c_int,
12718    );
12719    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12720    pub fn gtk_cell_area_snapshot(
12721        area: *mut GtkCellArea,
12722        context: *mut GtkCellAreaContext,
12723        widget: *mut GtkWidget,
12724        snapshot: *mut GtkSnapshot,
12725        background_area: *const gdk::GdkRectangle,
12726        cell_area: *const gdk::GdkRectangle,
12727        flags: GtkCellRendererState,
12728        paint_focus: gboolean,
12729    );
12730    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12731
12732    //=========================================================================
12733    // GtkCellAreaBox
12734    //=========================================================================
12735    pub fn gtk_cell_area_box_get_type() -> GType;
12736    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12737    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12738    pub fn gtk_cell_area_box_pack_end(
12739        box_: *mut GtkCellAreaBox,
12740        renderer: *mut GtkCellRenderer,
12741        expand: gboolean,
12742        align: gboolean,
12743        fixed: gboolean,
12744    );
12745    pub fn gtk_cell_area_box_pack_start(
12746        box_: *mut GtkCellAreaBox,
12747        renderer: *mut GtkCellRenderer,
12748        expand: gboolean,
12749        align: gboolean,
12750        fixed: gboolean,
12751    );
12752    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12753
12754    //=========================================================================
12755    // GtkCellAreaContext
12756    //=========================================================================
12757    pub fn gtk_cell_area_context_get_type() -> GType;
12758    pub fn gtk_cell_area_context_allocate(
12759        context: *mut GtkCellAreaContext,
12760        width: c_int,
12761        height: c_int,
12762    );
12763    pub fn gtk_cell_area_context_get_allocation(
12764        context: *mut GtkCellAreaContext,
12765        width: *mut c_int,
12766        height: *mut c_int,
12767    );
12768    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12769    pub fn gtk_cell_area_context_get_preferred_height(
12770        context: *mut GtkCellAreaContext,
12771        minimum_height: *mut c_int,
12772        natural_height: *mut c_int,
12773    );
12774    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12775        context: *mut GtkCellAreaContext,
12776        width: c_int,
12777        minimum_height: *mut c_int,
12778        natural_height: *mut c_int,
12779    );
12780    pub fn gtk_cell_area_context_get_preferred_width(
12781        context: *mut GtkCellAreaContext,
12782        minimum_width: *mut c_int,
12783        natural_width: *mut c_int,
12784    );
12785    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12786        context: *mut GtkCellAreaContext,
12787        height: c_int,
12788        minimum_width: *mut c_int,
12789        natural_width: *mut c_int,
12790    );
12791    pub fn gtk_cell_area_context_push_preferred_height(
12792        context: *mut GtkCellAreaContext,
12793        minimum_height: c_int,
12794        natural_height: c_int,
12795    );
12796    pub fn gtk_cell_area_context_push_preferred_width(
12797        context: *mut GtkCellAreaContext,
12798        minimum_width: c_int,
12799        natural_width: c_int,
12800    );
12801    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12802
12803    //=========================================================================
12804    // GtkCellRenderer
12805    //=========================================================================
12806    pub fn gtk_cell_renderer_get_type() -> GType;
12807    pub fn gtk_cell_renderer_activate(
12808        cell: *mut GtkCellRenderer,
12809        event: *mut gdk::GdkEvent,
12810        widget: *mut GtkWidget,
12811        path: *const c_char,
12812        background_area: *const gdk::GdkRectangle,
12813        cell_area: *const gdk::GdkRectangle,
12814        flags: GtkCellRendererState,
12815    ) -> gboolean;
12816    pub fn gtk_cell_renderer_get_aligned_area(
12817        cell: *mut GtkCellRenderer,
12818        widget: *mut GtkWidget,
12819        flags: GtkCellRendererState,
12820        cell_area: *const gdk::GdkRectangle,
12821        aligned_area: *mut gdk::GdkRectangle,
12822    );
12823    pub fn gtk_cell_renderer_get_alignment(
12824        cell: *mut GtkCellRenderer,
12825        xalign: *mut c_float,
12826        yalign: *mut c_float,
12827    );
12828    pub fn gtk_cell_renderer_get_fixed_size(
12829        cell: *mut GtkCellRenderer,
12830        width: *mut c_int,
12831        height: *mut c_int,
12832    );
12833    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12834    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12835    pub fn gtk_cell_renderer_get_padding(
12836        cell: *mut GtkCellRenderer,
12837        xpad: *mut c_int,
12838        ypad: *mut c_int,
12839    );
12840    pub fn gtk_cell_renderer_get_preferred_height(
12841        cell: *mut GtkCellRenderer,
12842        widget: *mut GtkWidget,
12843        minimum_size: *mut c_int,
12844        natural_size: *mut c_int,
12845    );
12846    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12847        cell: *mut GtkCellRenderer,
12848        widget: *mut GtkWidget,
12849        width: c_int,
12850        minimum_height: *mut c_int,
12851        natural_height: *mut c_int,
12852    );
12853    pub fn gtk_cell_renderer_get_preferred_size(
12854        cell: *mut GtkCellRenderer,
12855        widget: *mut GtkWidget,
12856        minimum_size: *mut GtkRequisition,
12857        natural_size: *mut GtkRequisition,
12858    );
12859    pub fn gtk_cell_renderer_get_preferred_width(
12860        cell: *mut GtkCellRenderer,
12861        widget: *mut GtkWidget,
12862        minimum_size: *mut c_int,
12863        natural_size: *mut c_int,
12864    );
12865    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12866        cell: *mut GtkCellRenderer,
12867        widget: *mut GtkWidget,
12868        height: c_int,
12869        minimum_width: *mut c_int,
12870        natural_width: *mut c_int,
12871    );
12872    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12873    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12874    pub fn gtk_cell_renderer_get_state(
12875        cell: *mut GtkCellRenderer,
12876        widget: *mut GtkWidget,
12877        cell_state: GtkCellRendererState,
12878    ) -> GtkStateFlags;
12879    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12880    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12881    pub fn gtk_cell_renderer_set_alignment(
12882        cell: *mut GtkCellRenderer,
12883        xalign: c_float,
12884        yalign: c_float,
12885    );
12886    pub fn gtk_cell_renderer_set_fixed_size(
12887        cell: *mut GtkCellRenderer,
12888        width: c_int,
12889        height: c_int,
12890    );
12891    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12892    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12893    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12894    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12895    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12896    pub fn gtk_cell_renderer_snapshot(
12897        cell: *mut GtkCellRenderer,
12898        snapshot: *mut GtkSnapshot,
12899        widget: *mut GtkWidget,
12900        background_area: *const gdk::GdkRectangle,
12901        cell_area: *const gdk::GdkRectangle,
12902        flags: GtkCellRendererState,
12903    );
12904    pub fn gtk_cell_renderer_start_editing(
12905        cell: *mut GtkCellRenderer,
12906        event: *mut gdk::GdkEvent,
12907        widget: *mut GtkWidget,
12908        path: *const c_char,
12909        background_area: *const gdk::GdkRectangle,
12910        cell_area: *const gdk::GdkRectangle,
12911        flags: GtkCellRendererState,
12912    ) -> *mut GtkCellEditable;
12913    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12914
12915    //=========================================================================
12916    // GtkCellRendererAccel
12917    //=========================================================================
12918    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12919    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12920
12921    //=========================================================================
12922    // GtkCellRendererCombo
12923    //=========================================================================
12924    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12925    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12926
12927    //=========================================================================
12928    // GtkCellRendererPixbuf
12929    //=========================================================================
12930    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12931    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12932
12933    //=========================================================================
12934    // GtkCellRendererProgress
12935    //=========================================================================
12936    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12937    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12938
12939    //=========================================================================
12940    // GtkCellRendererSpin
12941    //=========================================================================
12942    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12943    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12944
12945    //=========================================================================
12946    // GtkCellRendererSpinner
12947    //=========================================================================
12948    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12949    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12950
12951    //=========================================================================
12952    // GtkCellRendererText
12953    //=========================================================================
12954    pub fn gtk_cell_renderer_text_get_type() -> GType;
12955    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12956    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12957        renderer: *mut GtkCellRendererText,
12958        number_of_rows: c_int,
12959    );
12960
12961    //=========================================================================
12962    // GtkCellRendererToggle
12963    //=========================================================================
12964    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12965    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12966    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12967    -> gboolean;
12968    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12969    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12970    pub fn gtk_cell_renderer_toggle_set_activatable(
12971        toggle: *mut GtkCellRendererToggle,
12972        setting: gboolean,
12973    );
12974    pub fn gtk_cell_renderer_toggle_set_active(
12975        toggle: *mut GtkCellRendererToggle,
12976        setting: gboolean,
12977    );
12978    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12979
12980    //=========================================================================
12981    // GtkCellView
12982    //=========================================================================
12983    pub fn gtk_cell_view_get_type() -> GType;
12984    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12985    pub fn gtk_cell_view_new_with_context(
12986        area: *mut GtkCellArea,
12987        context: *mut GtkCellAreaContext,
12988    ) -> *mut GtkWidget;
12989    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12990    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12991    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12992    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12993    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12994    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12995    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12996    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12997    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12998    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12999    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
13000
13001    //=========================================================================
13002    // GtkCenterBox
13003    //=========================================================================
13004    pub fn gtk_center_box_get_type() -> GType;
13005    pub fn gtk_center_box_new() -> *mut GtkWidget;
13006    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
13007    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13008    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13009    #[cfg(feature = "v4_12")]
13010    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13011    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
13012    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13013    pub fn gtk_center_box_set_baseline_position(
13014        self_: *mut GtkCenterBox,
13015        position: GtkBaselinePosition,
13016    );
13017    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13018    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13019    #[cfg(feature = "v4_12")]
13020    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13021    pub fn gtk_center_box_set_shrink_center_last(
13022        self_: *mut GtkCenterBox,
13023        shrink_center_last: gboolean,
13024    );
13025    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13026
13027    //=========================================================================
13028    // GtkCenterLayout
13029    //=========================================================================
13030    pub fn gtk_center_layout_get_type() -> GType;
13031    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
13032    pub fn gtk_center_layout_get_baseline_position(
13033        self_: *mut GtkCenterLayout,
13034    ) -> GtkBaselinePosition;
13035    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13036    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13037    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
13038    #[cfg(feature = "v4_12")]
13039    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13040    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
13041    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13042    pub fn gtk_center_layout_set_baseline_position(
13043        self_: *mut GtkCenterLayout,
13044        baseline_position: GtkBaselinePosition,
13045    );
13046    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13047    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13048    pub fn gtk_center_layout_set_orientation(
13049        self_: *mut GtkCenterLayout,
13050        orientation: GtkOrientation,
13051    );
13052    #[cfg(feature = "v4_12")]
13053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13054    pub fn gtk_center_layout_set_shrink_center_last(
13055        self_: *mut GtkCenterLayout,
13056        shrink_center_last: gboolean,
13057    );
13058    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13059
13060    //=========================================================================
13061    // GtkCheckButton
13062    //=========================================================================
13063    pub fn gtk_check_button_get_type() -> GType;
13064    pub fn gtk_check_button_new() -> *mut GtkWidget;
13065    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
13066    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13067    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
13068    #[cfg(feature = "v4_8")]
13069    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13070    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
13071    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
13072    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
13073    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
13074    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
13075    #[cfg(feature = "v4_8")]
13076    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13077    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
13078    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
13079    pub fn gtk_check_button_set_inconsistent(
13080        check_button: *mut GtkCheckButton,
13081        inconsistent: gboolean,
13082    );
13083    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
13084    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
13085
13086    //=========================================================================
13087    // GtkClosureExpression
13088    //=========================================================================
13089    pub fn gtk_closure_expression_get_type() -> GType;
13090    pub fn gtk_closure_expression_new(
13091        value_type: GType,
13092        closure: *mut gobject::GClosure,
13093        n_params: c_uint,
13094        params: *mut *mut GtkExpression,
13095    ) -> *mut GtkClosureExpression;
13096
13097    //=========================================================================
13098    // GtkColorButton
13099    //=========================================================================
13100    pub fn gtk_color_button_get_type() -> GType;
13101    pub fn gtk_color_button_new() -> *mut GtkWidget;
13102    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13103    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13104    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13105    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13106    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13107
13108    //=========================================================================
13109    // GtkColorChooserDialog
13110    //=========================================================================
13111    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13112    pub fn gtk_color_chooser_dialog_new(
13113        title: *const c_char,
13114        parent: *mut GtkWindow,
13115    ) -> *mut GtkWidget;
13116
13117    //=========================================================================
13118    // GtkColorChooserWidget
13119    //=========================================================================
13120    pub fn gtk_color_chooser_widget_get_type() -> GType;
13121    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13122
13123    //=========================================================================
13124    // GtkColorDialog
13125    //=========================================================================
13126    #[cfg(feature = "v4_10")]
13127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13128    pub fn gtk_color_dialog_get_type() -> GType;
13129    #[cfg(feature = "v4_10")]
13130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13131    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13132    #[cfg(feature = "v4_10")]
13133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13134    pub fn gtk_color_dialog_choose_rgba(
13135        self_: *mut GtkColorDialog,
13136        parent: *mut GtkWindow,
13137        initial_color: *const gdk::GdkRGBA,
13138        cancellable: *mut gio::GCancellable,
13139        callback: gio::GAsyncReadyCallback,
13140        user_data: gpointer,
13141    );
13142    #[cfg(feature = "v4_10")]
13143    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13144    pub fn gtk_color_dialog_choose_rgba_finish(
13145        self_: *mut GtkColorDialog,
13146        result: *mut gio::GAsyncResult,
13147        error: *mut *mut glib::GError,
13148    ) -> *mut gdk::GdkRGBA;
13149    #[cfg(feature = "v4_10")]
13150    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13151    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13152    #[cfg(feature = "v4_10")]
13153    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13154    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13155    #[cfg(feature = "v4_10")]
13156    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13157    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13158    #[cfg(feature = "v4_10")]
13159    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13160    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13161    #[cfg(feature = "v4_10")]
13162    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13163    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13164    #[cfg(feature = "v4_10")]
13165    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13166    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13167
13168    //=========================================================================
13169    // GtkColorDialogButton
13170    //=========================================================================
13171    #[cfg(feature = "v4_10")]
13172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13173    pub fn gtk_color_dialog_button_get_type() -> GType;
13174    #[cfg(feature = "v4_10")]
13175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13176    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13177    #[cfg(feature = "v4_10")]
13178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13179    pub fn gtk_color_dialog_button_get_dialog(
13180        self_: *mut GtkColorDialogButton,
13181    ) -> *mut GtkColorDialog;
13182    #[cfg(feature = "v4_10")]
13183    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13184    pub fn gtk_color_dialog_button_get_rgba(
13185        self_: *mut GtkColorDialogButton,
13186    ) -> *const gdk::GdkRGBA;
13187    #[cfg(feature = "v4_10")]
13188    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13189    pub fn gtk_color_dialog_button_set_dialog(
13190        self_: *mut GtkColorDialogButton,
13191        dialog: *mut GtkColorDialog,
13192    );
13193    #[cfg(feature = "v4_10")]
13194    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13195    pub fn gtk_color_dialog_button_set_rgba(
13196        self_: *mut GtkColorDialogButton,
13197        color: *const gdk::GdkRGBA,
13198    );
13199
13200    //=========================================================================
13201    // GtkColumnView
13202    //=========================================================================
13203    pub fn gtk_column_view_get_type() -> GType;
13204    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13205    pub fn gtk_column_view_append_column(
13206        self_: *mut GtkColumnView,
13207        column: *mut GtkColumnViewColumn,
13208    );
13209    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13210    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13211    #[cfg(feature = "v4_12")]
13212    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13213    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13214    -> *mut GtkListItemFactory;
13215    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13216    pub fn gtk_column_view_get_reorderable(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_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13220    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13221    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13222    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13223    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13224    #[cfg(feature = "v4_12")]
13225    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13226    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13227    pub fn gtk_column_view_insert_column(
13228        self_: *mut GtkColumnView,
13229        position: c_uint,
13230        column: *mut GtkColumnViewColumn,
13231    );
13232    pub fn gtk_column_view_remove_column(
13233        self_: *mut GtkColumnView,
13234        column: *mut GtkColumnViewColumn,
13235    );
13236    #[cfg(feature = "v4_12")]
13237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13238    pub fn gtk_column_view_scroll_to(
13239        self_: *mut GtkColumnView,
13240        pos: c_uint,
13241        column: *mut GtkColumnViewColumn,
13242        flags: GtkListScrollFlags,
13243        scroll: *mut GtkScrollInfo,
13244    );
13245    pub fn gtk_column_view_set_enable_rubberband(
13246        self_: *mut GtkColumnView,
13247        enable_rubberband: gboolean,
13248    );
13249    #[cfg(feature = "v4_12")]
13250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13251    pub fn gtk_column_view_set_header_factory(
13252        self_: *mut GtkColumnView,
13253        factory: *mut GtkListItemFactory,
13254    );
13255    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13256    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13257    #[cfg(feature = "v4_12")]
13258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13259    pub fn gtk_column_view_set_row_factory(
13260        self_: *mut GtkColumnView,
13261        factory: *mut GtkListItemFactory,
13262    );
13263    pub fn gtk_column_view_set_show_column_separators(
13264        self_: *mut GtkColumnView,
13265        show_column_separators: gboolean,
13266    );
13267    pub fn gtk_column_view_set_show_row_separators(
13268        self_: *mut GtkColumnView,
13269        show_row_separators: gboolean,
13270    );
13271    pub fn gtk_column_view_set_single_click_activate(
13272        self_: *mut GtkColumnView,
13273        single_click_activate: gboolean,
13274    );
13275    #[cfg(feature = "v4_12")]
13276    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13277    pub fn gtk_column_view_set_tab_behavior(
13278        self_: *mut GtkColumnView,
13279        tab_behavior: GtkListTabBehavior,
13280    );
13281    pub fn gtk_column_view_sort_by_column(
13282        self_: *mut GtkColumnView,
13283        column: *mut GtkColumnViewColumn,
13284        direction: GtkSortType,
13285    );
13286
13287    //=========================================================================
13288    // GtkColumnViewCell
13289    //=========================================================================
13290    #[cfg(feature = "v4_12")]
13291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13292    pub fn gtk_column_view_cell_get_type() -> GType;
13293    #[cfg(feature = "v4_12")]
13294    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13295    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13296    #[cfg(feature = "v4_12")]
13297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13298    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13299    #[cfg(feature = "v4_12")]
13300    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13301    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13302    #[cfg(feature = "v4_12")]
13303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13304    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13305    #[cfg(feature = "v4_12")]
13306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13307    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13308    #[cfg(feature = "v4_12")]
13309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13310    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13311    #[cfg(feature = "v4_12")]
13312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13313    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13314
13315    //=========================================================================
13316    // GtkColumnViewColumn
13317    //=========================================================================
13318    pub fn gtk_column_view_column_get_type() -> GType;
13319    pub fn gtk_column_view_column_new(
13320        title: *const c_char,
13321        factory: *mut GtkListItemFactory,
13322    ) -> *mut GtkColumnViewColumn;
13323    pub fn gtk_column_view_column_get_column_view(
13324        self_: *mut GtkColumnViewColumn,
13325    ) -> *mut GtkColumnView;
13326    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13327    pub fn gtk_column_view_column_get_factory(
13328        self_: *mut GtkColumnViewColumn,
13329    ) -> *mut GtkListItemFactory;
13330    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13331    pub fn gtk_column_view_column_get_header_menu(
13332        self_: *mut GtkColumnViewColumn,
13333    ) -> *mut gio::GMenuModel;
13334    #[cfg(feature = "v4_10")]
13335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13336    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13337    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13338    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13339    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13340    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13341    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13342    pub fn gtk_column_view_column_set_factory(
13343        self_: *mut GtkColumnViewColumn,
13344        factory: *mut GtkListItemFactory,
13345    );
13346    pub fn gtk_column_view_column_set_fixed_width(
13347        self_: *mut GtkColumnViewColumn,
13348        fixed_width: c_int,
13349    );
13350    pub fn gtk_column_view_column_set_header_menu(
13351        self_: *mut GtkColumnViewColumn,
13352        menu: *mut gio::GMenuModel,
13353    );
13354    #[cfg(feature = "v4_10")]
13355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13356    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13357    pub fn gtk_column_view_column_set_resizable(
13358        self_: *mut GtkColumnViewColumn,
13359        resizable: gboolean,
13360    );
13361    pub fn gtk_column_view_column_set_sorter(
13362        self_: *mut GtkColumnViewColumn,
13363        sorter: *mut GtkSorter,
13364    );
13365    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13366    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13367
13368    //=========================================================================
13369    // GtkColumnViewRow
13370    //=========================================================================
13371    #[cfg(feature = "v4_12")]
13372    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13373    pub fn gtk_column_view_row_get_type() -> GType;
13374    #[cfg(feature = "v4_12")]
13375    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13376    pub fn gtk_column_view_row_get_accessible_description(
13377        self_: *mut GtkColumnViewRow,
13378    ) -> *const c_char;
13379    #[cfg(feature = "v4_12")]
13380    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13381    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13382    #[cfg(feature = "v4_12")]
13383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13384    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13385    #[cfg(feature = "v4_12")]
13386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13387    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13388    #[cfg(feature = "v4_12")]
13389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13390    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13391    #[cfg(feature = "v4_12")]
13392    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13393    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13394    #[cfg(feature = "v4_12")]
13395    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13396    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13397    #[cfg(feature = "v4_12")]
13398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13399    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13400    #[cfg(feature = "v4_12")]
13401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13402    pub fn gtk_column_view_row_set_accessible_description(
13403        self_: *mut GtkColumnViewRow,
13404        description: *const c_char,
13405    );
13406    #[cfg(feature = "v4_12")]
13407    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13408    pub fn gtk_column_view_row_set_accessible_label(
13409        self_: *mut GtkColumnViewRow,
13410        label: *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_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13415    #[cfg(feature = "v4_12")]
13416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13417    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13418    #[cfg(feature = "v4_12")]
13419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13420    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13421
13422    //=========================================================================
13423    // GtkColumnViewSorter
13424    //=========================================================================
13425    #[cfg(feature = "v4_10")]
13426    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13427    pub fn gtk_column_view_sorter_get_type() -> GType;
13428    #[cfg(feature = "v4_10")]
13429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13430    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13431    #[cfg(feature = "v4_10")]
13432    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13433    pub fn gtk_column_view_sorter_get_nth_sort_column(
13434        self_: *mut GtkColumnViewSorter,
13435        position: c_uint,
13436        sort_order: *mut GtkSortType,
13437    ) -> *mut GtkColumnViewColumn;
13438    #[cfg(feature = "v4_10")]
13439    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13440    pub fn gtk_column_view_sorter_get_primary_sort_column(
13441        self_: *mut GtkColumnViewSorter,
13442    ) -> *mut GtkColumnViewColumn;
13443    #[cfg(feature = "v4_10")]
13444    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13445    pub fn gtk_column_view_sorter_get_primary_sort_order(
13446        self_: *mut GtkColumnViewSorter,
13447    ) -> GtkSortType;
13448
13449    //=========================================================================
13450    // GtkComboBox
13451    //=========================================================================
13452    pub fn gtk_combo_box_get_type() -> GType;
13453    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13454    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13455    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13456    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13457    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13458    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13459    pub fn gtk_combo_box_get_active_iter(
13460        combo_box: *mut GtkComboBox,
13461        iter: *mut GtkTreeIter,
13462    ) -> gboolean;
13463    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13464    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13465    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13466    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13467    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13468    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13469    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13470    pub fn gtk_combo_box_get_row_separator_func(
13471        combo_box: *mut GtkComboBox,
13472    ) -> GtkTreeViewRowSeparatorFunc;
13473    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13474    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13475    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13476    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13477    pub fn gtk_combo_box_set_active_id(
13478        combo_box: *mut GtkComboBox,
13479        active_id: *const c_char,
13480    ) -> gboolean;
13481    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13482    pub fn gtk_combo_box_set_button_sensitivity(
13483        combo_box: *mut GtkComboBox,
13484        sensitivity: GtkSensitivityType,
13485    );
13486    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13487    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13488    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13489    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13490    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13491    pub fn gtk_combo_box_set_row_separator_func(
13492        combo_box: *mut GtkComboBox,
13493        func: GtkTreeViewRowSeparatorFunc,
13494        data: gpointer,
13495        destroy: glib::GDestroyNotify,
13496    );
13497
13498    //=========================================================================
13499    // GtkComboBoxText
13500    //=========================================================================
13501    pub fn gtk_combo_box_text_get_type() -> GType;
13502    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13503    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13504    pub fn gtk_combo_box_text_append(
13505        combo_box: *mut GtkComboBoxText,
13506        id: *const c_char,
13507        text: *const c_char,
13508    );
13509    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13510    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13511    pub fn gtk_combo_box_text_insert(
13512        combo_box: *mut GtkComboBoxText,
13513        position: c_int,
13514        id: *const c_char,
13515        text: *const c_char,
13516    );
13517    pub fn gtk_combo_box_text_insert_text(
13518        combo_box: *mut GtkComboBoxText,
13519        position: c_int,
13520        text: *const c_char,
13521    );
13522    pub fn gtk_combo_box_text_prepend(
13523        combo_box: *mut GtkComboBoxText,
13524        id: *const c_char,
13525        text: *const c_char,
13526    );
13527    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13528    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13529    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13530
13531    //=========================================================================
13532    // GtkConstantExpression
13533    //=========================================================================
13534    pub fn gtk_constant_expression_get_type() -> GType;
13535    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13536    pub fn gtk_constant_expression_new_for_value(
13537        value: *const gobject::GValue,
13538    ) -> *mut GtkConstantExpression;
13539    pub fn gtk_constant_expression_get_value(
13540        expression: *mut GtkConstantExpression,
13541    ) -> *const gobject::GValue;
13542
13543    //=========================================================================
13544    // GtkConstraint
13545    //=========================================================================
13546    pub fn gtk_constraint_get_type() -> GType;
13547    pub fn gtk_constraint_new(
13548        target: *mut GtkConstraintTarget,
13549        target_attribute: GtkConstraintAttribute,
13550        relation: GtkConstraintRelation,
13551        source: *mut GtkConstraintTarget,
13552        source_attribute: GtkConstraintAttribute,
13553        multiplier: c_double,
13554        constant: c_double,
13555        strength: c_int,
13556    ) -> *mut GtkConstraint;
13557    pub fn gtk_constraint_new_constant(
13558        target: *mut GtkConstraintTarget,
13559        target_attribute: GtkConstraintAttribute,
13560        relation: GtkConstraintRelation,
13561        constant: c_double,
13562        strength: c_int,
13563    ) -> *mut GtkConstraint;
13564    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13565    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13566    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13567    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13568    pub fn gtk_constraint_get_source_attribute(
13569        constraint: *mut GtkConstraint,
13570    ) -> GtkConstraintAttribute;
13571    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13572    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13573    pub fn gtk_constraint_get_target_attribute(
13574        constraint: *mut GtkConstraint,
13575    ) -> GtkConstraintAttribute;
13576    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13577    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13578    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13579
13580    //=========================================================================
13581    // GtkConstraintGuide
13582    //=========================================================================
13583    pub fn gtk_constraint_guide_get_type() -> GType;
13584    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13585    pub fn gtk_constraint_guide_get_max_size(
13586        guide: *mut GtkConstraintGuide,
13587        width: *mut c_int,
13588        height: *mut c_int,
13589    );
13590    pub fn gtk_constraint_guide_get_min_size(
13591        guide: *mut GtkConstraintGuide,
13592        width: *mut c_int,
13593        height: *mut c_int,
13594    );
13595    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13596    pub fn gtk_constraint_guide_get_nat_size(
13597        guide: *mut GtkConstraintGuide,
13598        width: *mut c_int,
13599        height: *mut c_int,
13600    );
13601    pub fn gtk_constraint_guide_get_strength(
13602        guide: *mut GtkConstraintGuide,
13603    ) -> GtkConstraintStrength;
13604    pub fn gtk_constraint_guide_set_max_size(
13605        guide: *mut GtkConstraintGuide,
13606        width: c_int,
13607        height: c_int,
13608    );
13609    pub fn gtk_constraint_guide_set_min_size(
13610        guide: *mut GtkConstraintGuide,
13611        width: c_int,
13612        height: c_int,
13613    );
13614    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13615    pub fn gtk_constraint_guide_set_nat_size(
13616        guide: *mut GtkConstraintGuide,
13617        width: c_int,
13618        height: c_int,
13619    );
13620    pub fn gtk_constraint_guide_set_strength(
13621        guide: *mut GtkConstraintGuide,
13622        strength: GtkConstraintStrength,
13623    );
13624
13625    //=========================================================================
13626    // GtkConstraintLayout
13627    //=========================================================================
13628    pub fn gtk_constraint_layout_get_type() -> GType;
13629    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13630    pub fn gtk_constraint_layout_add_constraint(
13631        layout: *mut GtkConstraintLayout,
13632        constraint: *mut GtkConstraint,
13633    );
13634    pub fn gtk_constraint_layout_add_constraints_from_description(
13635        layout: *mut GtkConstraintLayout,
13636        lines: *const *const c_char,
13637        n_lines: size_t,
13638        hspacing: c_int,
13639        vspacing: c_int,
13640        error: *mut *mut glib::GError,
13641        first_view: *const c_char,
13642        ...
13643    ) -> *mut glib::GList;
13644    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13645        layout: *mut GtkConstraintLayout,
13646        lines: *const *const c_char,
13647        n_lines: size_t,
13648        hspacing: c_int,
13649        vspacing: c_int,
13650        views: *mut glib::GHashTable,
13651        error: *mut *mut glib::GError,
13652    ) -> *mut glib::GList;
13653    pub fn gtk_constraint_layout_add_guide(
13654        layout: *mut GtkConstraintLayout,
13655        guide: *mut GtkConstraintGuide,
13656    );
13657    pub fn gtk_constraint_layout_observe_constraints(
13658        layout: *mut GtkConstraintLayout,
13659    ) -> *mut gio::GListModel;
13660    pub fn gtk_constraint_layout_observe_guides(
13661        layout: *mut GtkConstraintLayout,
13662    ) -> *mut gio::GListModel;
13663    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13664    pub fn gtk_constraint_layout_remove_constraint(
13665        layout: *mut GtkConstraintLayout,
13666        constraint: *mut GtkConstraint,
13667    );
13668    pub fn gtk_constraint_layout_remove_guide(
13669        layout: *mut GtkConstraintLayout,
13670        guide: *mut GtkConstraintGuide,
13671    );
13672
13673    //=========================================================================
13674    // GtkConstraintLayoutChild
13675    //=========================================================================
13676    pub fn gtk_constraint_layout_child_get_type() -> GType;
13677
13678    //=========================================================================
13679    // GtkCssProvider
13680    //=========================================================================
13681    pub fn gtk_css_provider_get_type() -> GType;
13682    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13683    #[cfg(feature = "v4_12")]
13684    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13685    pub fn gtk_css_provider_load_from_bytes(
13686        css_provider: *mut GtkCssProvider,
13687        data: *mut glib::GBytes,
13688    );
13689    pub fn gtk_css_provider_load_from_data(
13690        css_provider: *mut GtkCssProvider,
13691        data: *const c_char,
13692        length: ssize_t,
13693    );
13694    pub fn gtk_css_provider_load_from_file(
13695        css_provider: *mut GtkCssProvider,
13696        file: *mut gio::GFile,
13697    );
13698    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13699    pub fn gtk_css_provider_load_from_resource(
13700        css_provider: *mut GtkCssProvider,
13701        resource_path: *const c_char,
13702    );
13703    #[cfg(feature = "v4_12")]
13704    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13705    pub fn gtk_css_provider_load_from_string(
13706        css_provider: *mut GtkCssProvider,
13707        string: *const c_char,
13708    );
13709    pub fn gtk_css_provider_load_named(
13710        provider: *mut GtkCssProvider,
13711        name: *const c_char,
13712        variant: *const c_char,
13713    );
13714    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13715
13716    //=========================================================================
13717    // GtkCustomFilter
13718    //=========================================================================
13719    pub fn gtk_custom_filter_get_type() -> GType;
13720    pub fn gtk_custom_filter_new(
13721        match_func: GtkCustomFilterFunc,
13722        user_data: gpointer,
13723        user_destroy: glib::GDestroyNotify,
13724    ) -> *mut GtkCustomFilter;
13725    pub fn gtk_custom_filter_set_filter_func(
13726        self_: *mut GtkCustomFilter,
13727        match_func: GtkCustomFilterFunc,
13728        user_data: gpointer,
13729        user_destroy: glib::GDestroyNotify,
13730    );
13731
13732    //=========================================================================
13733    // GtkCustomLayout
13734    //=========================================================================
13735    pub fn gtk_custom_layout_get_type() -> GType;
13736    pub fn gtk_custom_layout_new(
13737        request_mode: GtkCustomRequestModeFunc,
13738        measure: GtkCustomMeasureFunc,
13739        allocate: GtkCustomAllocateFunc,
13740    ) -> *mut GtkLayoutManager;
13741
13742    //=========================================================================
13743    // GtkCustomSorter
13744    //=========================================================================
13745    pub fn gtk_custom_sorter_get_type() -> GType;
13746    pub fn gtk_custom_sorter_new(
13747        sort_func: glib::GCompareDataFunc,
13748        user_data: gpointer,
13749        user_destroy: glib::GDestroyNotify,
13750    ) -> *mut GtkCustomSorter;
13751    pub fn gtk_custom_sorter_set_sort_func(
13752        self_: *mut GtkCustomSorter,
13753        sort_func: glib::GCompareDataFunc,
13754        user_data: gpointer,
13755        user_destroy: glib::GDestroyNotify,
13756    );
13757
13758    //=========================================================================
13759    // GtkDialog
13760    //=========================================================================
13761    pub fn gtk_dialog_get_type() -> GType;
13762    pub fn gtk_dialog_new() -> *mut GtkWidget;
13763    pub fn gtk_dialog_new_with_buttons(
13764        title: *const c_char,
13765        parent: *mut GtkWindow,
13766        flags: GtkDialogFlags,
13767        first_button_text: *const c_char,
13768        ...
13769    ) -> *mut GtkWidget;
13770    pub fn gtk_dialog_add_action_widget(
13771        dialog: *mut GtkDialog,
13772        child: *mut GtkWidget,
13773        response_id: GtkResponseType,
13774    );
13775    pub fn gtk_dialog_add_button(
13776        dialog: *mut GtkDialog,
13777        button_text: *const c_char,
13778        response_id: GtkResponseType,
13779    ) -> *mut GtkWidget;
13780    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13781    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13782    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13783    pub fn gtk_dialog_get_response_for_widget(
13784        dialog: *mut GtkDialog,
13785        widget: *mut GtkWidget,
13786    ) -> c_int;
13787    pub fn gtk_dialog_get_widget_for_response(
13788        dialog: *mut GtkDialog,
13789        response_id: GtkResponseType,
13790    ) -> *mut GtkWidget;
13791    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13792    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13793    pub fn gtk_dialog_set_response_sensitive(
13794        dialog: *mut GtkDialog,
13795        response_id: GtkResponseType,
13796        setting: gboolean,
13797    );
13798
13799    //=========================================================================
13800    // GtkDirectoryList
13801    //=========================================================================
13802    pub fn gtk_directory_list_get_type() -> GType;
13803    pub fn gtk_directory_list_new(
13804        attributes: *const c_char,
13805        file: *mut gio::GFile,
13806    ) -> *mut GtkDirectoryList;
13807    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13808    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13809    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13810    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13811    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13812    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13813    pub fn gtk_directory_list_set_attributes(
13814        self_: *mut GtkDirectoryList,
13815        attributes: *const c_char,
13816    );
13817    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13818    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13819    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13820
13821    //=========================================================================
13822    // GtkDragIcon
13823    //=========================================================================
13824    pub fn gtk_drag_icon_get_type() -> GType;
13825    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13826    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13827    pub fn gtk_drag_icon_set_from_paintable(
13828        drag: *mut gdk::GdkDrag,
13829        paintable: *mut gdk::GdkPaintable,
13830        hot_x: c_int,
13831        hot_y: c_int,
13832    );
13833    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13834    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13835
13836    //=========================================================================
13837    // GtkDragSource
13838    //=========================================================================
13839    pub fn gtk_drag_source_get_type() -> GType;
13840    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13841    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13842    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13843    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13844    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13845    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13846    pub fn gtk_drag_source_set_content(
13847        source: *mut GtkDragSource,
13848        content: *mut gdk::GdkContentProvider,
13849    );
13850    pub fn gtk_drag_source_set_icon(
13851        source: *mut GtkDragSource,
13852        paintable: *mut gdk::GdkPaintable,
13853        hot_x: c_int,
13854        hot_y: c_int,
13855    );
13856
13857    //=========================================================================
13858    // GtkDrawingArea
13859    //=========================================================================
13860    pub fn gtk_drawing_area_get_type() -> GType;
13861    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13862    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13863    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13864    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13865    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13866    pub fn gtk_drawing_area_set_draw_func(
13867        self_: *mut GtkDrawingArea,
13868        draw_func: GtkDrawingAreaDrawFunc,
13869        user_data: gpointer,
13870        destroy: glib::GDestroyNotify,
13871    );
13872
13873    //=========================================================================
13874    // GtkDropControllerMotion
13875    //=========================================================================
13876    pub fn gtk_drop_controller_motion_get_type() -> GType;
13877    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13878    pub fn gtk_drop_controller_motion_contains_pointer(
13879        self_: *mut GtkDropControllerMotion,
13880    ) -> gboolean;
13881    pub fn gtk_drop_controller_motion_get_drop(
13882        self_: *mut GtkDropControllerMotion,
13883    ) -> *mut gdk::GdkDrop;
13884    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13885
13886    //=========================================================================
13887    // GtkDropDown
13888    //=========================================================================
13889    pub fn gtk_drop_down_get_type() -> GType;
13890    pub fn gtk_drop_down_new(
13891        model: *mut gio::GListModel,
13892        expression: *mut GtkExpression,
13893    ) -> *mut GtkWidget;
13894    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13895    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13896    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13897    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13898    #[cfg(feature = "v4_12")]
13899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13900    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13901    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13902    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13903    #[cfg(feature = "v4_12")]
13904    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13905    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13906    -> GtkStringFilterMatchMode;
13907    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13908    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13909    #[cfg(feature = "v4_6")]
13910    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13911    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13912    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13913    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13914    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13915    #[cfg(feature = "v4_12")]
13916    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13917    pub fn gtk_drop_down_set_header_factory(
13918        self_: *mut GtkDropDown,
13919        factory: *mut GtkListItemFactory,
13920    );
13921    pub fn gtk_drop_down_set_list_factory(
13922        self_: *mut GtkDropDown,
13923        factory: *mut GtkListItemFactory,
13924    );
13925    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13926    #[cfg(feature = "v4_12")]
13927    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13928    pub fn gtk_drop_down_set_search_match_mode(
13929        self_: *mut GtkDropDown,
13930        search_match_mode: GtkStringFilterMatchMode,
13931    );
13932    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13933    #[cfg(feature = "v4_6")]
13934    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13935    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13936
13937    //=========================================================================
13938    // GtkDropTarget
13939    //=========================================================================
13940    pub fn gtk_drop_target_get_type() -> GType;
13941    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13942    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13943    #[cfg(feature = "v4_4")]
13944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13945    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13946    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13947    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13948    pub fn gtk_drop_target_get_gtypes(
13949        self_: *mut GtkDropTarget,
13950        n_types: *mut size_t,
13951    ) -> *const GType;
13952    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13953    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13954    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13955    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13956    pub fn gtk_drop_target_set_gtypes(
13957        self_: *mut GtkDropTarget,
13958        types: *mut GType,
13959        n_types: size_t,
13960    );
13961    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13962
13963    //=========================================================================
13964    // GtkDropTargetAsync
13965    //=========================================================================
13966    pub fn gtk_drop_target_async_get_type() -> GType;
13967    pub fn gtk_drop_target_async_new(
13968        formats: *mut gdk::GdkContentFormats,
13969        actions: gdk::GdkDragAction,
13970    ) -> *mut GtkDropTargetAsync;
13971    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13972    pub fn gtk_drop_target_async_get_formats(
13973        self_: *mut GtkDropTargetAsync,
13974    ) -> *mut gdk::GdkContentFormats;
13975    pub fn gtk_drop_target_async_reject_drop(
13976        self_: *mut GtkDropTargetAsync,
13977        drop: *mut gdk::GdkDrop,
13978    );
13979    pub fn gtk_drop_target_async_set_actions(
13980        self_: *mut GtkDropTargetAsync,
13981        actions: gdk::GdkDragAction,
13982    );
13983    pub fn gtk_drop_target_async_set_formats(
13984        self_: *mut GtkDropTargetAsync,
13985        formats: *mut gdk::GdkContentFormats,
13986    );
13987
13988    //=========================================================================
13989    // GtkEditableLabel
13990    //=========================================================================
13991    pub fn gtk_editable_label_get_type() -> GType;
13992    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13993    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13994    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13995    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13996
13997    //=========================================================================
13998    // GtkEmojiChooser
13999    //=========================================================================
14000    pub fn gtk_emoji_chooser_get_type() -> GType;
14001    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
14002
14003    //=========================================================================
14004    // GtkEntry
14005    //=========================================================================
14006    pub fn gtk_entry_get_type() -> GType;
14007    pub fn gtk_entry_new() -> *mut GtkWidget;
14008    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
14009    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
14010    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
14011    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
14012    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
14013    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
14014    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
14015    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
14016    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
14017    pub fn gtk_entry_get_icon_activatable(
14018        entry: *mut GtkEntry,
14019        icon_pos: GtkEntryIconPosition,
14020    ) -> gboolean;
14021    pub fn gtk_entry_get_icon_area(
14022        entry: *mut GtkEntry,
14023        icon_pos: GtkEntryIconPosition,
14024        icon_area: *mut gdk::GdkRectangle,
14025    );
14026    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
14027    pub fn gtk_entry_get_icon_gicon(
14028        entry: *mut GtkEntry,
14029        icon_pos: GtkEntryIconPosition,
14030    ) -> *mut gio::GIcon;
14031    pub fn gtk_entry_get_icon_name(
14032        entry: *mut GtkEntry,
14033        icon_pos: GtkEntryIconPosition,
14034    ) -> *const c_char;
14035    pub fn gtk_entry_get_icon_paintable(
14036        entry: *mut GtkEntry,
14037        icon_pos: GtkEntryIconPosition,
14038    ) -> *mut gdk::GdkPaintable;
14039    pub fn gtk_entry_get_icon_sensitive(
14040        entry: *mut GtkEntry,
14041        icon_pos: GtkEntryIconPosition,
14042    ) -> gboolean;
14043    pub fn gtk_entry_get_icon_storage_type(
14044        entry: *mut GtkEntry,
14045        icon_pos: GtkEntryIconPosition,
14046    ) -> GtkImageType;
14047    pub fn gtk_entry_get_icon_tooltip_markup(
14048        entry: *mut GtkEntry,
14049        icon_pos: GtkEntryIconPosition,
14050    ) -> *mut c_char;
14051    pub fn gtk_entry_get_icon_tooltip_text(
14052        entry: *mut GtkEntry,
14053        icon_pos: GtkEntryIconPosition,
14054    ) -> *mut c_char;
14055    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
14056    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
14057    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
14058    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
14059    #[cfg(feature = "v4_20")]
14060    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14061    pub fn gtk_entry_get_menu_entry_icon_text(
14062        entry: *mut GtkEntry,
14063        icon_pos: GtkEntryIconPosition,
14064    ) -> *const c_char;
14065    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
14066    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
14067    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
14068    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
14069    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
14070    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
14071    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
14072    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
14073    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
14074    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
14075    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
14076    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
14077    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
14078    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
14079    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
14080    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
14081    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
14082    pub fn gtk_entry_set_icon_activatable(
14083        entry: *mut GtkEntry,
14084        icon_pos: GtkEntryIconPosition,
14085        activatable: gboolean,
14086    );
14087    pub fn gtk_entry_set_icon_drag_source(
14088        entry: *mut GtkEntry,
14089        icon_pos: GtkEntryIconPosition,
14090        provider: *mut gdk::GdkContentProvider,
14091        actions: gdk::GdkDragAction,
14092    );
14093    pub fn gtk_entry_set_icon_from_gicon(
14094        entry: *mut GtkEntry,
14095        icon_pos: GtkEntryIconPosition,
14096        icon: *mut gio::GIcon,
14097    );
14098    pub fn gtk_entry_set_icon_from_icon_name(
14099        entry: *mut GtkEntry,
14100        icon_pos: GtkEntryIconPosition,
14101        icon_name: *const c_char,
14102    );
14103    pub fn gtk_entry_set_icon_from_paintable(
14104        entry: *mut GtkEntry,
14105        icon_pos: GtkEntryIconPosition,
14106        paintable: *mut gdk::GdkPaintable,
14107    );
14108    pub fn gtk_entry_set_icon_sensitive(
14109        entry: *mut GtkEntry,
14110        icon_pos: GtkEntryIconPosition,
14111        sensitive: gboolean,
14112    );
14113    pub fn gtk_entry_set_icon_tooltip_markup(
14114        entry: *mut GtkEntry,
14115        icon_pos: GtkEntryIconPosition,
14116        tooltip: *const c_char,
14117    );
14118    pub fn gtk_entry_set_icon_tooltip_text(
14119        entry: *mut GtkEntry,
14120        icon_pos: GtkEntryIconPosition,
14121        tooltip: *const c_char,
14122    );
14123    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14124    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14125    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14126    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14127    #[cfg(feature = "v4_20")]
14128    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14129    pub fn gtk_entry_set_menu_entry_icon_text(
14130        entry: *mut GtkEntry,
14131        icon_pos: GtkEntryIconPosition,
14132        text: *const c_char,
14133    );
14134    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14135    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14136    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14137    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14138    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14139    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14140    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14141
14142    //=========================================================================
14143    // GtkEntryBuffer
14144    //=========================================================================
14145    pub fn gtk_entry_buffer_get_type() -> GType;
14146    pub fn gtk_entry_buffer_new(
14147        initial_chars: *const c_char,
14148        n_initial_chars: c_int,
14149    ) -> *mut GtkEntryBuffer;
14150    pub fn gtk_entry_buffer_delete_text(
14151        buffer: *mut GtkEntryBuffer,
14152        position: c_uint,
14153        n_chars: c_int,
14154    ) -> c_uint;
14155    pub fn gtk_entry_buffer_emit_deleted_text(
14156        buffer: *mut GtkEntryBuffer,
14157        position: c_uint,
14158        n_chars: c_uint,
14159    );
14160    pub fn gtk_entry_buffer_emit_inserted_text(
14161        buffer: *mut GtkEntryBuffer,
14162        position: c_uint,
14163        chars: *const c_char,
14164        n_chars: c_uint,
14165    );
14166    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14167    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14168    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14169    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14170    pub fn gtk_entry_buffer_insert_text(
14171        buffer: *mut GtkEntryBuffer,
14172        position: c_uint,
14173        chars: *const c_char,
14174        n_chars: c_int,
14175    ) -> c_uint;
14176    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14177    pub fn gtk_entry_buffer_set_text(
14178        buffer: *mut GtkEntryBuffer,
14179        chars: *const c_char,
14180        n_chars: c_int,
14181    );
14182
14183    //=========================================================================
14184    // GtkEntryCompletion
14185    //=========================================================================
14186    pub fn gtk_entry_completion_get_type() -> GType;
14187    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14188    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14189    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14190    pub fn gtk_entry_completion_compute_prefix(
14191        completion: *mut GtkEntryCompletion,
14192        key: *const c_char,
14193    ) -> *mut c_char;
14194    pub fn gtk_entry_completion_get_completion_prefix(
14195        completion: *mut GtkEntryCompletion,
14196    ) -> *const c_char;
14197    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14198    pub fn gtk_entry_completion_get_inline_completion(
14199        completion: *mut GtkEntryCompletion,
14200    ) -> gboolean;
14201    pub fn gtk_entry_completion_get_inline_selection(
14202        completion: *mut GtkEntryCompletion,
14203    ) -> gboolean;
14204    pub fn gtk_entry_completion_get_minimum_key_length(
14205        completion: *mut GtkEntryCompletion,
14206    ) -> c_int;
14207    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14208    -> *mut GtkTreeModel;
14209    pub fn gtk_entry_completion_get_popup_completion(
14210        completion: *mut GtkEntryCompletion,
14211    ) -> gboolean;
14212    pub fn gtk_entry_completion_get_popup_set_width(
14213        completion: *mut GtkEntryCompletion,
14214    ) -> gboolean;
14215    pub fn gtk_entry_completion_get_popup_single_match(
14216        completion: *mut GtkEntryCompletion,
14217    ) -> gboolean;
14218    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14219    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14220    pub fn gtk_entry_completion_set_inline_completion(
14221        completion: *mut GtkEntryCompletion,
14222        inline_completion: gboolean,
14223    );
14224    pub fn gtk_entry_completion_set_inline_selection(
14225        completion: *mut GtkEntryCompletion,
14226        inline_selection: gboolean,
14227    );
14228    pub fn gtk_entry_completion_set_match_func(
14229        completion: *mut GtkEntryCompletion,
14230        func: GtkEntryCompletionMatchFunc,
14231        func_data: gpointer,
14232        func_notify: glib::GDestroyNotify,
14233    );
14234    pub fn gtk_entry_completion_set_minimum_key_length(
14235        completion: *mut GtkEntryCompletion,
14236        length: c_int,
14237    );
14238    pub fn gtk_entry_completion_set_model(
14239        completion: *mut GtkEntryCompletion,
14240        model: *mut GtkTreeModel,
14241    );
14242    pub fn gtk_entry_completion_set_popup_completion(
14243        completion: *mut GtkEntryCompletion,
14244        popup_completion: gboolean,
14245    );
14246    pub fn gtk_entry_completion_set_popup_set_width(
14247        completion: *mut GtkEntryCompletion,
14248        popup_set_width: gboolean,
14249    );
14250    pub fn gtk_entry_completion_set_popup_single_match(
14251        completion: *mut GtkEntryCompletion,
14252        popup_single_match: gboolean,
14253    );
14254    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14255
14256    //=========================================================================
14257    // GtkEnumList
14258    //=========================================================================
14259    #[cfg(feature = "v4_24")]
14260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14261    pub fn gtk_enum_list_get_type() -> GType;
14262    #[cfg(feature = "v4_24")]
14263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14264    pub fn gtk_enum_list_new(enum_type: GType) -> *mut GtkEnumList;
14265    #[cfg(feature = "v4_24")]
14266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14267    pub fn gtk_enum_list_find(self_: *mut GtkEnumList, value: c_int) -> c_uint;
14268    #[cfg(feature = "v4_24")]
14269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14270    pub fn gtk_enum_list_get_enum_type(self_: *mut GtkEnumList) -> GType;
14271
14272    //=========================================================================
14273    // GtkEnumListItem
14274    //=========================================================================
14275    #[cfg(feature = "v4_24")]
14276    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14277    pub fn gtk_enum_list_item_get_type() -> GType;
14278    #[cfg(feature = "v4_24")]
14279    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14280    pub fn gtk_enum_list_item_get_name(self_: *mut GtkEnumListItem) -> *const c_char;
14281    #[cfg(feature = "v4_24")]
14282    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14283    pub fn gtk_enum_list_item_get_nick(self_: *mut GtkEnumListItem) -> *const c_char;
14284    #[cfg(feature = "v4_24")]
14285    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14286    pub fn gtk_enum_list_item_get_value(self_: *mut GtkEnumListItem) -> c_int;
14287
14288    //=========================================================================
14289    // GtkEventController
14290    //=========================================================================
14291    pub fn gtk_event_controller_get_type() -> GType;
14292    pub fn gtk_event_controller_get_current_event(
14293        controller: *mut GtkEventController,
14294    ) -> *mut gdk::GdkEvent;
14295    pub fn gtk_event_controller_get_current_event_device(
14296        controller: *mut GtkEventController,
14297    ) -> *mut gdk::GdkDevice;
14298    pub fn gtk_event_controller_get_current_event_state(
14299        controller: *mut GtkEventController,
14300    ) -> gdk::GdkModifierType;
14301    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14302    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14303    pub fn gtk_event_controller_get_propagation_limit(
14304        controller: *mut GtkEventController,
14305    ) -> GtkPropagationLimit;
14306    pub fn gtk_event_controller_get_propagation_phase(
14307        controller: *mut GtkEventController,
14308    ) -> GtkPropagationPhase;
14309    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14310    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14311    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14312    pub fn gtk_event_controller_set_propagation_limit(
14313        controller: *mut GtkEventController,
14314        limit: GtkPropagationLimit,
14315    );
14316    pub fn gtk_event_controller_set_propagation_phase(
14317        controller: *mut GtkEventController,
14318        phase: GtkPropagationPhase,
14319    );
14320    #[cfg(feature = "v4_8")]
14321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14322    pub fn gtk_event_controller_set_static_name(
14323        controller: *mut GtkEventController,
14324        name: *const c_char,
14325    );
14326
14327    //=========================================================================
14328    // GtkEventControllerFocus
14329    //=========================================================================
14330    pub fn gtk_event_controller_focus_get_type() -> GType;
14331    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14332    pub fn gtk_event_controller_focus_contains_focus(
14333        self_: *mut GtkEventControllerFocus,
14334    ) -> gboolean;
14335    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14336
14337    //=========================================================================
14338    // GtkEventControllerKey
14339    //=========================================================================
14340    pub fn gtk_event_controller_key_get_type() -> GType;
14341    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14342    pub fn gtk_event_controller_key_forward(
14343        controller: *mut GtkEventControllerKey,
14344        widget: *mut GtkWidget,
14345    ) -> gboolean;
14346    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14347    pub fn gtk_event_controller_key_get_im_context(
14348        controller: *mut GtkEventControllerKey,
14349    ) -> *mut GtkIMContext;
14350    pub fn gtk_event_controller_key_set_im_context(
14351        controller: *mut GtkEventControllerKey,
14352        im_context: *mut GtkIMContext,
14353    );
14354
14355    //=========================================================================
14356    // GtkEventControllerLegacy
14357    //=========================================================================
14358    pub fn gtk_event_controller_legacy_get_type() -> GType;
14359    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14360
14361    //=========================================================================
14362    // GtkEventControllerMotion
14363    //=========================================================================
14364    pub fn gtk_event_controller_motion_get_type() -> GType;
14365    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14366    pub fn gtk_event_controller_motion_contains_pointer(
14367        self_: *mut GtkEventControllerMotion,
14368    ) -> gboolean;
14369    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14370    -> gboolean;
14371
14372    //=========================================================================
14373    // GtkEventControllerScroll
14374    //=========================================================================
14375    pub fn gtk_event_controller_scroll_get_type() -> GType;
14376    pub fn gtk_event_controller_scroll_new(
14377        flags: GtkEventControllerScrollFlags,
14378    ) -> *mut GtkEventController;
14379    pub fn gtk_event_controller_scroll_get_flags(
14380        scroll: *mut GtkEventControllerScroll,
14381    ) -> GtkEventControllerScrollFlags;
14382    #[cfg(feature = "v4_8")]
14383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14384    pub fn gtk_event_controller_scroll_get_unit(
14385        scroll: *mut GtkEventControllerScroll,
14386    ) -> gdk::GdkScrollUnit;
14387    pub fn gtk_event_controller_scroll_set_flags(
14388        scroll: *mut GtkEventControllerScroll,
14389        flags: GtkEventControllerScrollFlags,
14390    );
14391
14392    //=========================================================================
14393    // GtkEveryFilter
14394    //=========================================================================
14395    pub fn gtk_every_filter_get_type() -> GType;
14396    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14397
14398    //=========================================================================
14399    // GtkExpander
14400    //=========================================================================
14401    pub fn gtk_expander_get_type() -> GType;
14402    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14403    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14404    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14405    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14406    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14407    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14408    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14409    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14410    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14411    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14412    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14413    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14414    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14415    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14416    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14417    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14418
14419    //=========================================================================
14420    // GtkExpression
14421    //=========================================================================
14422    pub fn gtk_expression_get_type() -> GType;
14423    pub fn gtk_expression_bind(
14424        self_: *mut GtkExpression,
14425        target: *mut gobject::GObject,
14426        property: *const c_char,
14427        this_: *mut gobject::GObject,
14428    ) -> *mut GtkExpressionWatch;
14429    pub fn gtk_expression_evaluate(
14430        self_: *mut GtkExpression,
14431        this_: *mut gobject::GObject,
14432        value: *mut gobject::GValue,
14433    ) -> gboolean;
14434    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14435    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14436    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14437    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14438    pub fn gtk_expression_watch(
14439        self_: *mut GtkExpression,
14440        this_: *mut gobject::GObject,
14441        notify: GtkExpressionNotify,
14442        user_data: gpointer,
14443        user_destroy: glib::GDestroyNotify,
14444    ) -> *mut GtkExpressionWatch;
14445
14446    //=========================================================================
14447    // GtkFileChooserDialog
14448    //=========================================================================
14449    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14450    pub fn gtk_file_chooser_dialog_new(
14451        title: *const c_char,
14452        parent: *mut GtkWindow,
14453        action: GtkFileChooserAction,
14454        first_button_text: *const c_char,
14455        ...
14456    ) -> *mut GtkWidget;
14457
14458    //=========================================================================
14459    // GtkFileChooserNative
14460    //=========================================================================
14461    pub fn gtk_file_chooser_native_get_type() -> GType;
14462    pub fn gtk_file_chooser_native_new(
14463        title: *const c_char,
14464        parent: *mut GtkWindow,
14465        action: GtkFileChooserAction,
14466        accept_label: *const c_char,
14467        cancel_label: *const c_char,
14468    ) -> *mut GtkFileChooserNative;
14469    pub fn gtk_file_chooser_native_get_accept_label(
14470        self_: *mut GtkFileChooserNative,
14471    ) -> *const c_char;
14472    pub fn gtk_file_chooser_native_get_cancel_label(
14473        self_: *mut GtkFileChooserNative,
14474    ) -> *const c_char;
14475    pub fn gtk_file_chooser_native_set_accept_label(
14476        self_: *mut GtkFileChooserNative,
14477        accept_label: *const c_char,
14478    );
14479    pub fn gtk_file_chooser_native_set_cancel_label(
14480        self_: *mut GtkFileChooserNative,
14481        cancel_label: *const c_char,
14482    );
14483
14484    //=========================================================================
14485    // GtkFileChooserWidget
14486    //=========================================================================
14487    pub fn gtk_file_chooser_widget_get_type() -> GType;
14488    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14489
14490    //=========================================================================
14491    // GtkFileDialog
14492    //=========================================================================
14493    #[cfg(feature = "v4_10")]
14494    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14495    pub fn gtk_file_dialog_get_type() -> GType;
14496    #[cfg(feature = "v4_10")]
14497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14498    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14499    #[cfg(feature = "v4_10")]
14500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14501    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14502    #[cfg(feature = "v4_10")]
14503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14504    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14505    #[cfg(feature = "v4_10")]
14506    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14507    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14508    #[cfg(feature = "v4_10")]
14509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14510    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14511    #[cfg(feature = "v4_10")]
14512    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14513    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14514    #[cfg(feature = "v4_10")]
14515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14516    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14517    #[cfg(feature = "v4_10")]
14518    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14519    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14520    #[cfg(feature = "v4_10")]
14521    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14522    pub fn gtk_file_dialog_get_title(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_open(
14526        self_: *mut GtkFileDialog,
14527        parent: *mut GtkWindow,
14528        cancellable: *mut gio::GCancellable,
14529        callback: gio::GAsyncReadyCallback,
14530        user_data: gpointer,
14531    );
14532    #[cfg(feature = "v4_10")]
14533    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14534    pub fn gtk_file_dialog_open_finish(
14535        self_: *mut GtkFileDialog,
14536        result: *mut gio::GAsyncResult,
14537        error: *mut *mut glib::GError,
14538    ) -> *mut gio::GFile;
14539    #[cfg(feature = "v4_10")]
14540    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14541    pub fn gtk_file_dialog_open_multiple(
14542        self_: *mut GtkFileDialog,
14543        parent: *mut GtkWindow,
14544        cancellable: *mut gio::GCancellable,
14545        callback: gio::GAsyncReadyCallback,
14546        user_data: gpointer,
14547    );
14548    #[cfg(feature = "v4_10")]
14549    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14550    pub fn gtk_file_dialog_open_multiple_finish(
14551        self_: *mut GtkFileDialog,
14552        result: *mut gio::GAsyncResult,
14553        error: *mut *mut glib::GError,
14554    ) -> *mut gio::GListModel;
14555    #[cfg(feature = "v4_18")]
14556    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14557    pub fn gtk_file_dialog_open_multiple_text_files(
14558        self_: *mut GtkFileDialog,
14559        parent: *mut GtkWindow,
14560        cancellable: *mut gio::GCancellable,
14561        callback: gio::GAsyncReadyCallback,
14562        user_data: gpointer,
14563    );
14564    #[cfg(feature = "v4_18")]
14565    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14566    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14567        self_: *mut GtkFileDialog,
14568        result: *mut gio::GAsyncResult,
14569        encoding: *mut *const c_char,
14570        error: *mut *mut glib::GError,
14571    ) -> *mut gio::GListModel;
14572    #[cfg(feature = "v4_18")]
14573    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14574    pub fn gtk_file_dialog_open_text_file(
14575        self_: *mut GtkFileDialog,
14576        parent: *mut GtkWindow,
14577        cancellable: *mut gio::GCancellable,
14578        callback: gio::GAsyncReadyCallback,
14579        user_data: gpointer,
14580    );
14581    #[cfg(feature = "v4_18")]
14582    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14583    pub fn gtk_file_dialog_open_text_file_finish(
14584        self_: *mut GtkFileDialog,
14585        result: *mut gio::GAsyncResult,
14586        encoding: *mut *const c_char,
14587        error: *mut *mut glib::GError,
14588    ) -> *mut gio::GFile;
14589    #[cfg(feature = "v4_10")]
14590    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14591    pub fn gtk_file_dialog_save(
14592        self_: *mut GtkFileDialog,
14593        parent: *mut GtkWindow,
14594        cancellable: *mut gio::GCancellable,
14595        callback: gio::GAsyncReadyCallback,
14596        user_data: gpointer,
14597    );
14598    #[cfg(feature = "v4_10")]
14599    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14600    pub fn gtk_file_dialog_save_finish(
14601        self_: *mut GtkFileDialog,
14602        result: *mut gio::GAsyncResult,
14603        error: *mut *mut glib::GError,
14604    ) -> *mut gio::GFile;
14605    #[cfg(feature = "v4_18")]
14606    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14607    pub fn gtk_file_dialog_save_text_file(
14608        self_: *mut GtkFileDialog,
14609        parent: *mut GtkWindow,
14610        cancellable: *mut gio::GCancellable,
14611        callback: gio::GAsyncReadyCallback,
14612        user_data: gpointer,
14613    );
14614    #[cfg(feature = "v4_18")]
14615    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14616    pub fn gtk_file_dialog_save_text_file_finish(
14617        self_: *mut GtkFileDialog,
14618        result: *mut gio::GAsyncResult,
14619        encoding: *mut *const c_char,
14620        line_ending: *mut *const c_char,
14621        error: *mut *mut glib::GError,
14622    ) -> *mut gio::GFile;
14623    #[cfg(feature = "v4_10")]
14624    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14625    pub fn gtk_file_dialog_select_folder(
14626        self_: *mut GtkFileDialog,
14627        parent: *mut GtkWindow,
14628        cancellable: *mut gio::GCancellable,
14629        callback: gio::GAsyncReadyCallback,
14630        user_data: gpointer,
14631    );
14632    #[cfg(feature = "v4_10")]
14633    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14634    pub fn gtk_file_dialog_select_folder_finish(
14635        self_: *mut GtkFileDialog,
14636        result: *mut gio::GAsyncResult,
14637        error: *mut *mut glib::GError,
14638    ) -> *mut gio::GFile;
14639    #[cfg(feature = "v4_10")]
14640    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14641    pub fn gtk_file_dialog_select_multiple_folders(
14642        self_: *mut GtkFileDialog,
14643        parent: *mut GtkWindow,
14644        cancellable: *mut gio::GCancellable,
14645        callback: gio::GAsyncReadyCallback,
14646        user_data: gpointer,
14647    );
14648    #[cfg(feature = "v4_10")]
14649    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14650    pub fn gtk_file_dialog_select_multiple_folders_finish(
14651        self_: *mut GtkFileDialog,
14652        result: *mut gio::GAsyncResult,
14653        error: *mut *mut glib::GError,
14654    ) -> *mut gio::GListModel;
14655    #[cfg(feature = "v4_10")]
14656    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14657    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14658    #[cfg(feature = "v4_10")]
14659    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14660    pub fn gtk_file_dialog_set_default_filter(
14661        self_: *mut GtkFileDialog,
14662        filter: *mut GtkFileFilter,
14663    );
14664    #[cfg(feature = "v4_10")]
14665    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14666    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14667    #[cfg(feature = "v4_10")]
14668    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14669    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14670    #[cfg(feature = "v4_10")]
14671    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14672    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14673    #[cfg(feature = "v4_10")]
14674    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14675    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14676    #[cfg(feature = "v4_10")]
14677    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14678    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14679    #[cfg(feature = "v4_10")]
14680    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14681    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14682
14683    //=========================================================================
14684    // GtkFileFilter
14685    //=========================================================================
14686    pub fn gtk_file_filter_get_type() -> GType;
14687    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14688    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14689    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14690    #[cfg(feature = "v4_22")]
14691    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14692    pub fn gtk_file_filter_add_mime_types(
14693        filter: *mut GtkFileFilter,
14694        mime_types: *mut *const c_char,
14695    );
14696    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14697    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14698    #[cfg(feature = "v4_4")]
14699    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14700    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14701    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14702    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14703    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14704    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14705
14706    //=========================================================================
14707    // GtkFileLauncher
14708    //=========================================================================
14709    #[cfg(feature = "v4_10")]
14710    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14711    pub fn gtk_file_launcher_get_type() -> GType;
14712    #[cfg(feature = "v4_10")]
14713    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14714    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14715    #[cfg(feature = "v4_12")]
14716    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14717    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14718    #[cfg(feature = "v4_10")]
14719    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14720    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14721    #[cfg(feature = "v4_14")]
14722    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14723    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14724    #[cfg(feature = "v4_10")]
14725    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14726    pub fn gtk_file_launcher_launch(
14727        self_: *mut GtkFileLauncher,
14728        parent: *mut GtkWindow,
14729        cancellable: *mut gio::GCancellable,
14730        callback: gio::GAsyncReadyCallback,
14731        user_data: gpointer,
14732    );
14733    #[cfg(feature = "v4_10")]
14734    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14735    pub fn gtk_file_launcher_launch_finish(
14736        self_: *mut GtkFileLauncher,
14737        result: *mut gio::GAsyncResult,
14738        error: *mut *mut glib::GError,
14739    ) -> gboolean;
14740    #[cfg(feature = "v4_10")]
14741    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14742    pub fn gtk_file_launcher_open_containing_folder(
14743        self_: *mut GtkFileLauncher,
14744        parent: *mut GtkWindow,
14745        cancellable: *mut gio::GCancellable,
14746        callback: gio::GAsyncReadyCallback,
14747        user_data: gpointer,
14748    );
14749    #[cfg(feature = "v4_10")]
14750    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14751    pub fn gtk_file_launcher_open_containing_folder_finish(
14752        self_: *mut GtkFileLauncher,
14753        result: *mut gio::GAsyncResult,
14754        error: *mut *mut glib::GError,
14755    ) -> gboolean;
14756    #[cfg(feature = "v4_12")]
14757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14758    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14759    #[cfg(feature = "v4_10")]
14760    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14761    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14762    #[cfg(feature = "v4_14")]
14763    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14764    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14765
14766    //=========================================================================
14767    // GtkFilter
14768    //=========================================================================
14769    pub fn gtk_filter_get_type() -> GType;
14770    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14771    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14772    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14773
14774    //=========================================================================
14775    // GtkFilterListModel
14776    //=========================================================================
14777    pub fn gtk_filter_list_model_get_type() -> GType;
14778    pub fn gtk_filter_list_model_new(
14779        model: *mut gio::GListModel,
14780        filter: *mut GtkFilter,
14781    ) -> *mut GtkFilterListModel;
14782    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14783    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14784    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14785    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14786    #[cfg(feature = "v4_20")]
14787    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14788    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14789    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14790    pub fn gtk_filter_list_model_set_incremental(
14791        self_: *mut GtkFilterListModel,
14792        incremental: gboolean,
14793    );
14794    pub fn gtk_filter_list_model_set_model(
14795        self_: *mut GtkFilterListModel,
14796        model: *mut gio::GListModel,
14797    );
14798    #[cfg(feature = "v4_20")]
14799    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14800    pub fn gtk_filter_list_model_set_watch_items(
14801        self_: *mut GtkFilterListModel,
14802        watch_items: gboolean,
14803    );
14804
14805    //=========================================================================
14806    // GtkFixed
14807    //=========================================================================
14808    pub fn gtk_fixed_get_type() -> GType;
14809    pub fn gtk_fixed_new() -> *mut GtkWidget;
14810    pub fn gtk_fixed_get_child_position(
14811        fixed: *mut GtkFixed,
14812        widget: *mut GtkWidget,
14813        x: *mut c_double,
14814        y: *mut c_double,
14815    );
14816    pub fn gtk_fixed_get_child_transform(
14817        fixed: *mut GtkFixed,
14818        widget: *mut GtkWidget,
14819    ) -> *mut gsk::GskTransform;
14820    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14821    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14822    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14823    pub fn gtk_fixed_set_child_transform(
14824        fixed: *mut GtkFixed,
14825        widget: *mut GtkWidget,
14826        transform: *mut gsk::GskTransform,
14827    );
14828
14829    //=========================================================================
14830    // GtkFixedLayout
14831    //=========================================================================
14832    pub fn gtk_fixed_layout_get_type() -> GType;
14833    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14834
14835    //=========================================================================
14836    // GtkFixedLayoutChild
14837    //=========================================================================
14838    pub fn gtk_fixed_layout_child_get_type() -> GType;
14839    pub fn gtk_fixed_layout_child_get_transform(
14840        child: *mut GtkFixedLayoutChild,
14841    ) -> *mut gsk::GskTransform;
14842    pub fn gtk_fixed_layout_child_set_transform(
14843        child: *mut GtkFixedLayoutChild,
14844        transform: *mut gsk::GskTransform,
14845    );
14846
14847    //=========================================================================
14848    // GtkFlattenListModel
14849    //=========================================================================
14850    pub fn gtk_flatten_list_model_get_type() -> GType;
14851    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14852    pub fn gtk_flatten_list_model_get_model(
14853        self_: *mut GtkFlattenListModel,
14854    ) -> *mut gio::GListModel;
14855    pub fn gtk_flatten_list_model_get_model_for_item(
14856        self_: *mut GtkFlattenListModel,
14857        position: c_uint,
14858    ) -> *mut gio::GListModel;
14859    pub fn gtk_flatten_list_model_set_model(
14860        self_: *mut GtkFlattenListModel,
14861        model: *mut gio::GListModel,
14862    );
14863
14864    //=========================================================================
14865    // GtkFlowBox
14866    //=========================================================================
14867    pub fn gtk_flow_box_get_type() -> GType;
14868    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14869    #[cfg(feature = "v4_6")]
14870    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14871    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14872    pub fn gtk_flow_box_bind_model(
14873        box_: *mut GtkFlowBox,
14874        model: *mut gio::GListModel,
14875        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14876        user_data: gpointer,
14877        user_data_free_func: glib::GDestroyNotify,
14878    );
14879    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14880    pub fn gtk_flow_box_get_child_at_index(
14881        box_: *mut GtkFlowBox,
14882        idx: c_int,
14883    ) -> *mut GtkFlowBoxChild;
14884    pub fn gtk_flow_box_get_child_at_pos(
14885        box_: *mut GtkFlowBox,
14886        x: c_int,
14887        y: c_int,
14888    ) -> *mut GtkFlowBoxChild;
14889    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14890    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14891    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14892    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14893    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14894    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14895    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14896    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14897    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14898    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14899    #[cfg(feature = "v4_6")]
14900    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14901    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14902    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14903    #[cfg(feature = "v4_12")]
14904    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14905    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14906    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14907    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14908    pub fn gtk_flow_box_selected_foreach(
14909        box_: *mut GtkFlowBox,
14910        func: GtkFlowBoxForeachFunc,
14911        data: gpointer,
14912    );
14913    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14914    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14915    pub fn gtk_flow_box_set_filter_func(
14916        box_: *mut GtkFlowBox,
14917        filter_func: GtkFlowBoxFilterFunc,
14918        user_data: gpointer,
14919        destroy: glib::GDestroyNotify,
14920    );
14921    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14922    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14923    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14924    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14925    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14926    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14927    pub fn gtk_flow_box_set_sort_func(
14928        box_: *mut GtkFlowBox,
14929        sort_func: GtkFlowBoxSortFunc,
14930        user_data: gpointer,
14931        destroy: glib::GDestroyNotify,
14932    );
14933    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14934    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14935    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14936
14937    //=========================================================================
14938    // GtkFlowBoxChild
14939    //=========================================================================
14940    pub fn gtk_flow_box_child_get_type() -> GType;
14941    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14942    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14943    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14944    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14945    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14946    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14947
14948    //=========================================================================
14949    // GtkFontButton
14950    //=========================================================================
14951    pub fn gtk_font_button_get_type() -> GType;
14952    pub fn gtk_font_button_new() -> *mut GtkWidget;
14953    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14954    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14955    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14956    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14957    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14958    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14959    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14960    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14961    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14962
14963    //=========================================================================
14964    // GtkFontChooserDialog
14965    //=========================================================================
14966    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14967    pub fn gtk_font_chooser_dialog_new(
14968        title: *const c_char,
14969        parent: *mut GtkWindow,
14970    ) -> *mut GtkWidget;
14971
14972    //=========================================================================
14973    // GtkFontChooserWidget
14974    //=========================================================================
14975    pub fn gtk_font_chooser_widget_get_type() -> GType;
14976    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14977
14978    //=========================================================================
14979    // GtkFontDialog
14980    //=========================================================================
14981    #[cfg(feature = "v4_10")]
14982    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14983    pub fn gtk_font_dialog_get_type() -> GType;
14984    #[cfg(feature = "v4_10")]
14985    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14986    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14987    #[cfg(feature = "v4_10")]
14988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14989    pub fn gtk_font_dialog_choose_face(
14990        self_: *mut GtkFontDialog,
14991        parent: *mut GtkWindow,
14992        initial_value: *mut pango::PangoFontFace,
14993        cancellable: *mut gio::GCancellable,
14994        callback: gio::GAsyncReadyCallback,
14995        user_data: gpointer,
14996    );
14997    #[cfg(feature = "v4_10")]
14998    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14999    pub fn gtk_font_dialog_choose_face_finish(
15000        self_: *mut GtkFontDialog,
15001        result: *mut gio::GAsyncResult,
15002        error: *mut *mut glib::GError,
15003    ) -> *mut pango::PangoFontFace;
15004    #[cfg(feature = "v4_10")]
15005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15006    pub fn gtk_font_dialog_choose_family(
15007        self_: *mut GtkFontDialog,
15008        parent: *mut GtkWindow,
15009        initial_value: *mut pango::PangoFontFamily,
15010        cancellable: *mut gio::GCancellable,
15011        callback: gio::GAsyncReadyCallback,
15012        user_data: gpointer,
15013    );
15014    #[cfg(feature = "v4_10")]
15015    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15016    pub fn gtk_font_dialog_choose_family_finish(
15017        self_: *mut GtkFontDialog,
15018        result: *mut gio::GAsyncResult,
15019        error: *mut *mut glib::GError,
15020    ) -> *mut pango::PangoFontFamily;
15021    #[cfg(feature = "v4_10")]
15022    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15023    pub fn gtk_font_dialog_choose_font(
15024        self_: *mut GtkFontDialog,
15025        parent: *mut GtkWindow,
15026        initial_value: *mut pango::PangoFontDescription,
15027        cancellable: *mut gio::GCancellable,
15028        callback: gio::GAsyncReadyCallback,
15029        user_data: gpointer,
15030    );
15031    #[cfg(feature = "v4_10")]
15032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15033    pub fn gtk_font_dialog_choose_font_and_features(
15034        self_: *mut GtkFontDialog,
15035        parent: *mut GtkWindow,
15036        initial_value: *mut pango::PangoFontDescription,
15037        cancellable: *mut gio::GCancellable,
15038        callback: gio::GAsyncReadyCallback,
15039        user_data: gpointer,
15040    );
15041    #[cfg(feature = "v4_10")]
15042    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15043    pub fn gtk_font_dialog_choose_font_and_features_finish(
15044        self_: *mut GtkFontDialog,
15045        result: *mut gio::GAsyncResult,
15046        font_desc: *mut *mut pango::PangoFontDescription,
15047        font_features: *mut *mut c_char,
15048        language: *mut *mut pango::PangoLanguage,
15049        error: *mut *mut glib::GError,
15050    ) -> gboolean;
15051    #[cfg(feature = "v4_10")]
15052    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15053    pub fn gtk_font_dialog_choose_font_finish(
15054        self_: *mut GtkFontDialog,
15055        result: *mut gio::GAsyncResult,
15056        error: *mut *mut glib::GError,
15057    ) -> *mut pango::PangoFontDescription;
15058    #[cfg(feature = "v4_10")]
15059    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15060    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
15061    #[cfg(feature = "v4_10")]
15062    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15063    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
15064    #[cfg(feature = "v4_10")]
15065    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15066    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
15067    #[cfg(feature = "v4_10")]
15068    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15069    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
15070    #[cfg(feature = "v4_10")]
15071    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15072    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
15073    #[cfg(feature = "v4_10")]
15074    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15075    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
15076    #[cfg(feature = "v4_10")]
15077    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15078    pub fn gtk_font_dialog_set_font_map(
15079        self_: *mut GtkFontDialog,
15080        fontmap: *mut pango::PangoFontMap,
15081    );
15082    #[cfg(feature = "v4_10")]
15083    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15084    pub fn gtk_font_dialog_set_language(
15085        self_: *mut GtkFontDialog,
15086        language: *mut pango::PangoLanguage,
15087    );
15088    #[cfg(feature = "v4_10")]
15089    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15090    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
15091    #[cfg(feature = "v4_10")]
15092    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15093    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
15094
15095    //=========================================================================
15096    // GtkFontDialogButton
15097    //=========================================================================
15098    #[cfg(feature = "v4_10")]
15099    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15100    pub fn gtk_font_dialog_button_get_type() -> GType;
15101    #[cfg(feature = "v4_10")]
15102    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15103    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
15104    #[cfg(feature = "v4_10")]
15105    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15106    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
15107    -> *mut GtkFontDialog;
15108    #[cfg(feature = "v4_10")]
15109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15110    pub fn gtk_font_dialog_button_get_font_desc(
15111        self_: *mut GtkFontDialogButton,
15112    ) -> *mut pango::PangoFontDescription;
15113    #[cfg(feature = "v4_10")]
15114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15115    pub fn gtk_font_dialog_button_get_font_features(
15116        self_: *mut GtkFontDialogButton,
15117    ) -> *const c_char;
15118    #[cfg(feature = "v4_10")]
15119    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15120    pub fn gtk_font_dialog_button_get_language(
15121        self_: *mut GtkFontDialogButton,
15122    ) -> *mut pango::PangoLanguage;
15123    #[cfg(feature = "v4_10")]
15124    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15125    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
15126    #[cfg(feature = "v4_10")]
15127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15128    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15129    #[cfg(feature = "v4_10")]
15130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15131    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15132    #[cfg(feature = "v4_10")]
15133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15134    pub fn gtk_font_dialog_button_set_dialog(
15135        self_: *mut GtkFontDialogButton,
15136        dialog: *mut GtkFontDialog,
15137    );
15138    #[cfg(feature = "v4_10")]
15139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15140    pub fn gtk_font_dialog_button_set_font_desc(
15141        self_: *mut GtkFontDialogButton,
15142        font_desc: *const pango::PangoFontDescription,
15143    );
15144    #[cfg(feature = "v4_10")]
15145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15146    pub fn gtk_font_dialog_button_set_font_features(
15147        self_: *mut GtkFontDialogButton,
15148        font_features: *const c_char,
15149    );
15150    #[cfg(feature = "v4_10")]
15151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15152    pub fn gtk_font_dialog_button_set_language(
15153        self_: *mut GtkFontDialogButton,
15154        language: *mut pango::PangoLanguage,
15155    );
15156    #[cfg(feature = "v4_10")]
15157    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15158    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15159    #[cfg(feature = "v4_10")]
15160    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15161    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15162    #[cfg(feature = "v4_10")]
15163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15164    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15165
15166    //=========================================================================
15167    // GtkFrame
15168    //=========================================================================
15169    pub fn gtk_frame_get_type() -> GType;
15170    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15171    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15172    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15173    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15174    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15175    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15176    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15177    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15178    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15179
15180    //=========================================================================
15181    // GtkGLArea
15182    //=========================================================================
15183    pub fn gtk_gl_area_get_type() -> GType;
15184    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15185    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15186    #[cfg(feature = "v4_12")]
15187    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15188    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15189    #[cfg(feature = "v4_12")]
15190    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15191    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15192    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15193    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15194    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15195    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15196    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15197    pub fn gtk_gl_area_get_required_version(
15198        area: *mut GtkGLArea,
15199        major: *mut c_int,
15200        minor: *mut c_int,
15201    );
15202    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15203    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15204    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15205    #[cfg(feature = "v4_12")]
15206    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15207    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15208    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15209    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15210    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15211    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15212    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15213    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15214
15215    //=========================================================================
15216    // GtkGesture
15217    //=========================================================================
15218    pub fn gtk_gesture_get_type() -> GType;
15219    pub fn gtk_gesture_get_bounding_box(
15220        gesture: *mut GtkGesture,
15221        rect: *mut gdk::GdkRectangle,
15222    ) -> gboolean;
15223    pub fn gtk_gesture_get_bounding_box_center(
15224        gesture: *mut GtkGesture,
15225        x: *mut c_double,
15226        y: *mut c_double,
15227    ) -> gboolean;
15228    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15229    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15230    pub fn gtk_gesture_get_last_event(
15231        gesture: *mut GtkGesture,
15232        sequence: *mut gdk::GdkEventSequence,
15233    ) -> *mut gdk::GdkEvent;
15234    pub fn gtk_gesture_get_last_updated_sequence(
15235        gesture: *mut GtkGesture,
15236    ) -> *mut gdk::GdkEventSequence;
15237    pub fn gtk_gesture_get_point(
15238        gesture: *mut GtkGesture,
15239        sequence: *mut gdk::GdkEventSequence,
15240        x: *mut c_double,
15241        y: *mut c_double,
15242    ) -> gboolean;
15243    pub fn gtk_gesture_get_sequence_state(
15244        gesture: *mut GtkGesture,
15245        sequence: *mut gdk::GdkEventSequence,
15246    ) -> GtkEventSequenceState;
15247    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15248    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15249    pub fn gtk_gesture_handles_sequence(
15250        gesture: *mut GtkGesture,
15251        sequence: *mut gdk::GdkEventSequence,
15252    ) -> gboolean;
15253    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15254    pub fn gtk_gesture_is_grouped_with(
15255        gesture: *mut GtkGesture,
15256        other: *mut GtkGesture,
15257    ) -> gboolean;
15258    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15259    pub fn gtk_gesture_set_sequence_state(
15260        gesture: *mut GtkGesture,
15261        sequence: *mut gdk::GdkEventSequence,
15262        state: GtkEventSequenceState,
15263    ) -> gboolean;
15264    pub fn gtk_gesture_set_state(
15265        gesture: *mut GtkGesture,
15266        state: GtkEventSequenceState,
15267    ) -> gboolean;
15268    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15269
15270    //=========================================================================
15271    // GtkGestureClick
15272    //=========================================================================
15273    pub fn gtk_gesture_click_get_type() -> GType;
15274    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15275
15276    //=========================================================================
15277    // GtkGestureDrag
15278    //=========================================================================
15279    pub fn gtk_gesture_drag_get_type() -> GType;
15280    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15281    pub fn gtk_gesture_drag_get_offset(
15282        gesture: *mut GtkGestureDrag,
15283        x: *mut c_double,
15284        y: *mut c_double,
15285    ) -> gboolean;
15286    pub fn gtk_gesture_drag_get_start_point(
15287        gesture: *mut GtkGestureDrag,
15288        x: *mut c_double,
15289        y: *mut c_double,
15290    ) -> gboolean;
15291
15292    //=========================================================================
15293    // GtkGestureLongPress
15294    //=========================================================================
15295    pub fn gtk_gesture_long_press_get_type() -> GType;
15296    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15297    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15298    pub fn gtk_gesture_long_press_set_delay_factor(
15299        gesture: *mut GtkGestureLongPress,
15300        delay_factor: c_double,
15301    );
15302
15303    //=========================================================================
15304    // GtkGesturePan
15305    //=========================================================================
15306    pub fn gtk_gesture_pan_get_type() -> GType;
15307    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15308    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15309    pub fn gtk_gesture_pan_set_orientation(
15310        gesture: *mut GtkGesturePan,
15311        orientation: GtkOrientation,
15312    );
15313
15314    //=========================================================================
15315    // GtkGestureRotate
15316    //=========================================================================
15317    pub fn gtk_gesture_rotate_get_type() -> GType;
15318    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15319    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15320
15321    //=========================================================================
15322    // GtkGestureSingle
15323    //=========================================================================
15324    pub fn gtk_gesture_single_get_type() -> GType;
15325    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15326    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15327    pub fn gtk_gesture_single_get_current_sequence(
15328        gesture: *mut GtkGestureSingle,
15329    ) -> *mut gdk::GdkEventSequence;
15330    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15331    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15332    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15333    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15334    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15335
15336    //=========================================================================
15337    // GtkGestureStylus
15338    //=========================================================================
15339    pub fn gtk_gesture_stylus_get_type() -> GType;
15340    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15341    pub fn gtk_gesture_stylus_get_axes(
15342        gesture: *mut GtkGestureStylus,
15343        axes: *mut gdk::GdkAxisUse,
15344        values: *mut *mut c_double,
15345    ) -> gboolean;
15346    pub fn gtk_gesture_stylus_get_axis(
15347        gesture: *mut GtkGestureStylus,
15348        axis: gdk::GdkAxisUse,
15349        value: *mut c_double,
15350    ) -> gboolean;
15351    pub fn gtk_gesture_stylus_get_backlog(
15352        gesture: *mut GtkGestureStylus,
15353        backlog: *mut *mut gdk::GdkTimeCoord,
15354        n_elems: *mut c_uint,
15355    ) -> gboolean;
15356    pub fn gtk_gesture_stylus_get_device_tool(
15357        gesture: *mut GtkGestureStylus,
15358    ) -> *mut gdk::GdkDeviceTool;
15359    #[cfg(feature = "v4_10")]
15360    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15361    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15362    #[cfg(feature = "v4_10")]
15363    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15364    pub fn gtk_gesture_stylus_set_stylus_only(
15365        gesture: *mut GtkGestureStylus,
15366        stylus_only: gboolean,
15367    );
15368
15369    //=========================================================================
15370    // GtkGestureSwipe
15371    //=========================================================================
15372    pub fn gtk_gesture_swipe_get_type() -> GType;
15373    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15374    pub fn gtk_gesture_swipe_get_velocity(
15375        gesture: *mut GtkGestureSwipe,
15376        velocity_x: *mut c_double,
15377        velocity_y: *mut c_double,
15378    ) -> gboolean;
15379
15380    //=========================================================================
15381    // GtkGestureZoom
15382    //=========================================================================
15383    pub fn gtk_gesture_zoom_get_type() -> GType;
15384    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15385    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15386
15387    //=========================================================================
15388    // GtkGraphicsOffload
15389    //=========================================================================
15390    #[cfg(feature = "v4_14")]
15391    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15392    pub fn gtk_graphics_offload_get_type() -> GType;
15393    #[cfg(feature = "v4_14")]
15394    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15395    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15396    #[cfg(feature = "v4_16")]
15397    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15398    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15399    #[cfg(feature = "v4_14")]
15400    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15401    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15402    #[cfg(feature = "v4_14")]
15403    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15404    pub fn gtk_graphics_offload_get_enabled(
15405        self_: *mut GtkGraphicsOffload,
15406    ) -> GtkGraphicsOffloadEnabled;
15407    #[cfg(feature = "v4_16")]
15408    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15409    pub fn gtk_graphics_offload_set_black_background(
15410        self_: *mut GtkGraphicsOffload,
15411        value: gboolean,
15412    );
15413    #[cfg(feature = "v4_14")]
15414    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15415    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15416    #[cfg(feature = "v4_14")]
15417    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15418    pub fn gtk_graphics_offload_set_enabled(
15419        self_: *mut GtkGraphicsOffload,
15420        enabled: GtkGraphicsOffloadEnabled,
15421    );
15422
15423    //=========================================================================
15424    // GtkGrid
15425    //=========================================================================
15426    pub fn gtk_grid_get_type() -> GType;
15427    pub fn gtk_grid_new() -> *mut GtkWidget;
15428    pub fn gtk_grid_attach(
15429        grid: *mut GtkGrid,
15430        child: *mut GtkWidget,
15431        column: c_int,
15432        row: c_int,
15433        width: c_int,
15434        height: c_int,
15435    );
15436    pub fn gtk_grid_attach_next_to(
15437        grid: *mut GtkGrid,
15438        child: *mut GtkWidget,
15439        sibling: *mut GtkWidget,
15440        side: GtkPositionType,
15441        width: c_int,
15442        height: c_int,
15443    );
15444    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15445    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15446    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15447    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15448    pub fn gtk_grid_get_row_baseline_position(
15449        grid: *mut GtkGrid,
15450        row: c_int,
15451    ) -> GtkBaselinePosition;
15452    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15453    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15454    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15455    pub fn gtk_grid_insert_next_to(
15456        grid: *mut GtkGrid,
15457        sibling: *mut GtkWidget,
15458        side: GtkPositionType,
15459    );
15460    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15461    pub fn gtk_grid_query_child(
15462        grid: *mut GtkGrid,
15463        child: *mut GtkWidget,
15464        column: *mut c_int,
15465        row: *mut c_int,
15466        width: *mut c_int,
15467        height: *mut c_int,
15468    );
15469    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15470    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15471    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15472    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15473    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15474    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15475    pub fn gtk_grid_set_row_baseline_position(
15476        grid: *mut GtkGrid,
15477        row: c_int,
15478        pos: GtkBaselinePosition,
15479    );
15480    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15481    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15482
15483    //=========================================================================
15484    // GtkGridLayout
15485    //=========================================================================
15486    pub fn gtk_grid_layout_get_type() -> GType;
15487    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15488    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15489    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15490    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15491    pub fn gtk_grid_layout_get_row_baseline_position(
15492        grid: *mut GtkGridLayout,
15493        row: c_int,
15494    ) -> GtkBaselinePosition;
15495    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15496    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15497    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15498    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15499    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15500    pub fn gtk_grid_layout_set_row_baseline_position(
15501        grid: *mut GtkGridLayout,
15502        row: c_int,
15503        pos: GtkBaselinePosition,
15504    );
15505    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15506    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15507
15508    //=========================================================================
15509    // GtkGridLayoutChild
15510    //=========================================================================
15511    pub fn gtk_grid_layout_child_get_type() -> GType;
15512    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15513    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15514    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15515    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15516    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15517    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15518    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15519    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15520
15521    //=========================================================================
15522    // GtkGridView
15523    //=========================================================================
15524    pub fn gtk_grid_view_get_type() -> GType;
15525    pub fn gtk_grid_view_new(
15526        model: *mut GtkSelectionModel,
15527        factory: *mut GtkListItemFactory,
15528    ) -> *mut GtkWidget;
15529    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15530    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15531    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15532    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15533    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15534    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15535    #[cfg(feature = "v4_12")]
15536    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15537    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15538    #[cfg(feature = "v4_12")]
15539    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15540    pub fn gtk_grid_view_scroll_to(
15541        self_: *mut GtkGridView,
15542        pos: c_uint,
15543        flags: GtkListScrollFlags,
15544        scroll: *mut GtkScrollInfo,
15545    );
15546    pub fn gtk_grid_view_set_enable_rubberband(
15547        self_: *mut GtkGridView,
15548        enable_rubberband: gboolean,
15549    );
15550    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15551    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15552    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15553    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15554    pub fn gtk_grid_view_set_single_click_activate(
15555        self_: *mut GtkGridView,
15556        single_click_activate: gboolean,
15557    );
15558    #[cfg(feature = "v4_12")]
15559    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15560    pub fn gtk_grid_view_set_tab_behavior(
15561        self_: *mut GtkGridView,
15562        tab_behavior: GtkListTabBehavior,
15563    );
15564
15565    //=========================================================================
15566    // GtkHeaderBar
15567    //=========================================================================
15568    pub fn gtk_header_bar_get_type() -> GType;
15569    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15570    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15571    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15572    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15573    #[cfg(feature = "v4_18")]
15574    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15575    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15576    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15577    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15578    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15579    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15580    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15581    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15582    #[cfg(feature = "v4_18")]
15583    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15584    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15585
15586    //=========================================================================
15587    // GtkIMContext
15588    //=========================================================================
15589    pub fn gtk_im_context_get_type() -> GType;
15590    #[cfg(feature = "v4_14")]
15591    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15592    pub fn gtk_im_context_activate_osk(
15593        context: *mut GtkIMContext,
15594        event: *mut gdk::GdkEvent,
15595    ) -> gboolean;
15596    pub fn gtk_im_context_delete_surrounding(
15597        context: *mut GtkIMContext,
15598        offset: c_int,
15599        n_chars: c_int,
15600    ) -> gboolean;
15601    pub fn gtk_im_context_filter_key(
15602        context: *mut GtkIMContext,
15603        press: gboolean,
15604        surface: *mut gdk::GdkSurface,
15605        device: *mut gdk::GdkDevice,
15606        time: u32,
15607        keycode: c_uint,
15608        state: gdk::GdkModifierType,
15609        group: c_int,
15610    ) -> gboolean;
15611    pub fn gtk_im_context_filter_keypress(
15612        context: *mut GtkIMContext,
15613        event: *mut gdk::GdkEvent,
15614    ) -> gboolean;
15615    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15616    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15617    pub fn gtk_im_context_get_preedit_string(
15618        context: *mut GtkIMContext,
15619        str: *mut *mut c_char,
15620        attrs: *mut *mut pango::PangoAttrList,
15621        cursor_pos: *mut c_int,
15622    );
15623    pub fn gtk_im_context_get_surrounding(
15624        context: *mut GtkIMContext,
15625        text: *mut *mut c_char,
15626        cursor_index: *mut c_int,
15627    ) -> gboolean;
15628    #[cfg(feature = "v4_2")]
15629    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15630    pub fn gtk_im_context_get_surrounding_with_selection(
15631        context: *mut GtkIMContext,
15632        text: *mut *mut c_char,
15633        cursor_index: *mut c_int,
15634        anchor_index: *mut c_int,
15635    ) -> gboolean;
15636    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15637    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15638    pub fn gtk_im_context_set_cursor_location(
15639        context: *mut GtkIMContext,
15640        area: *const gdk::GdkRectangle,
15641    );
15642    pub fn gtk_im_context_set_surrounding(
15643        context: *mut GtkIMContext,
15644        text: *const c_char,
15645        len: c_int,
15646        cursor_index: c_int,
15647    );
15648    #[cfg(feature = "v4_2")]
15649    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15650    pub fn gtk_im_context_set_surrounding_with_selection(
15651        context: *mut GtkIMContext,
15652        text: *const c_char,
15653        len: c_int,
15654        cursor_index: c_int,
15655        anchor_index: c_int,
15656    );
15657    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15658
15659    //=========================================================================
15660    // GtkIMContextSimple
15661    //=========================================================================
15662    pub fn gtk_im_context_simple_get_type() -> GType;
15663    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15664    pub fn gtk_im_context_simple_add_compose_file(
15665        context_simple: *mut GtkIMContextSimple,
15666        compose_file: *const c_char,
15667    );
15668    pub fn gtk_im_context_simple_add_table(
15669        context_simple: *mut GtkIMContextSimple,
15670        data: *mut u16,
15671        max_seq_len: c_int,
15672        n_seqs: c_int,
15673    );
15674
15675    //=========================================================================
15676    // GtkIMMulticontext
15677    //=========================================================================
15678    pub fn gtk_im_multicontext_get_type() -> GType;
15679    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15680    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15681    pub fn gtk_im_multicontext_set_context_id(
15682        context: *mut GtkIMMulticontext,
15683        context_id: *const c_char,
15684    );
15685
15686    //=========================================================================
15687    // GtkIconPaintable
15688    //=========================================================================
15689    pub fn gtk_icon_paintable_get_type() -> GType;
15690    pub fn gtk_icon_paintable_new_for_file(
15691        file: *mut gio::GFile,
15692        size: c_int,
15693        scale: c_int,
15694    ) -> *mut GtkIconPaintable;
15695    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15696    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15697    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15698
15699    //=========================================================================
15700    // GtkIconTheme
15701    //=========================================================================
15702    pub fn gtk_icon_theme_get_type() -> GType;
15703    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15704    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15705    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15706    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15707    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15708    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15709    pub fn gtk_icon_theme_get_icon_sizes(
15710        self_: *mut GtkIconTheme,
15711        icon_name: *const c_char,
15712    ) -> *mut c_int;
15713    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15714    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15715    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15716    #[cfg(feature = "v4_2")]
15717    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15718    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15719    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15720    pub fn gtk_icon_theme_lookup_by_gicon(
15721        self_: *mut GtkIconTheme,
15722        icon: *mut gio::GIcon,
15723        size: c_int,
15724        scale: c_int,
15725        direction: GtkTextDirection,
15726        flags: GtkIconLookupFlags,
15727    ) -> *mut GtkIconPaintable;
15728    pub fn gtk_icon_theme_lookup_icon(
15729        self_: *mut GtkIconTheme,
15730        icon_name: *const c_char,
15731        fallbacks: *mut *const c_char,
15732        size: c_int,
15733        scale: c_int,
15734        direction: GtkTextDirection,
15735        flags: GtkIconLookupFlags,
15736    ) -> *mut GtkIconPaintable;
15737    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15738    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15739    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15740
15741    //=========================================================================
15742    // GtkIconView
15743    //=========================================================================
15744    pub fn gtk_icon_view_get_type() -> GType;
15745    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15746    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15747    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15748    pub fn gtk_icon_view_create_drag_icon(
15749        icon_view: *mut GtkIconView,
15750        path: *mut GtkTreePath,
15751    ) -> *mut gdk::GdkPaintable;
15752    pub fn gtk_icon_view_enable_model_drag_dest(
15753        icon_view: *mut GtkIconView,
15754        formats: *mut gdk::GdkContentFormats,
15755        actions: gdk::GdkDragAction,
15756    );
15757    pub fn gtk_icon_view_enable_model_drag_source(
15758        icon_view: *mut GtkIconView,
15759        start_button_mask: gdk::GdkModifierType,
15760        formats: *mut gdk::GdkContentFormats,
15761        actions: gdk::GdkDragAction,
15762    );
15763    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15764    pub fn gtk_icon_view_get_cell_rect(
15765        icon_view: *mut GtkIconView,
15766        path: *mut GtkTreePath,
15767        cell: *mut GtkCellRenderer,
15768        rect: *mut gdk::GdkRectangle,
15769    ) -> gboolean;
15770    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15771    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15772    pub fn gtk_icon_view_get_cursor(
15773        icon_view: *mut GtkIconView,
15774        path: *mut *mut GtkTreePath,
15775        cell: *mut *mut GtkCellRenderer,
15776    ) -> gboolean;
15777    pub fn gtk_icon_view_get_dest_item_at_pos(
15778        icon_view: *mut GtkIconView,
15779        drag_x: c_int,
15780        drag_y: c_int,
15781        path: *mut *mut GtkTreePath,
15782        pos: *mut GtkIconViewDropPosition,
15783    ) -> gboolean;
15784    pub fn gtk_icon_view_get_drag_dest_item(
15785        icon_view: *mut GtkIconView,
15786        path: *mut *mut GtkTreePath,
15787        pos: *mut GtkIconViewDropPosition,
15788    );
15789    pub fn gtk_icon_view_get_item_at_pos(
15790        icon_view: *mut GtkIconView,
15791        x: c_int,
15792        y: c_int,
15793        path: *mut *mut GtkTreePath,
15794        cell: *mut *mut GtkCellRenderer,
15795    ) -> gboolean;
15796    pub fn gtk_icon_view_get_item_column(
15797        icon_view: *mut GtkIconView,
15798        path: *mut GtkTreePath,
15799    ) -> c_int;
15800    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15801    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15802    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15803    -> c_int;
15804    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15805    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15806    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15807    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15808    pub fn gtk_icon_view_get_path_at_pos(
15809        icon_view: *mut GtkIconView,
15810        x: c_int,
15811        y: c_int,
15812    ) -> *mut GtkTreePath;
15813    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15814    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15815    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15816    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15817    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15818    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15819    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15820    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15821    pub fn gtk_icon_view_get_tooltip_context(
15822        icon_view: *mut GtkIconView,
15823        x: c_int,
15824        y: c_int,
15825        keyboard_tip: gboolean,
15826        model: *mut *mut GtkTreeModel,
15827        path: *mut *mut GtkTreePath,
15828        iter: *mut GtkTreeIter,
15829    ) -> gboolean;
15830    pub fn gtk_icon_view_get_visible_range(
15831        icon_view: *mut GtkIconView,
15832        start_path: *mut *mut GtkTreePath,
15833        end_path: *mut *mut GtkTreePath,
15834    ) -> gboolean;
15835    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15836    pub fn gtk_icon_view_path_is_selected(
15837        icon_view: *mut GtkIconView,
15838        path: *mut GtkTreePath,
15839    ) -> gboolean;
15840    pub fn gtk_icon_view_scroll_to_path(
15841        icon_view: *mut GtkIconView,
15842        path: *mut GtkTreePath,
15843        use_align: gboolean,
15844        row_align: c_float,
15845        col_align: c_float,
15846    );
15847    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15848    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15849    pub fn gtk_icon_view_selected_foreach(
15850        icon_view: *mut GtkIconView,
15851        func: GtkIconViewForeachFunc,
15852        data: gpointer,
15853    );
15854    pub fn gtk_icon_view_set_activate_on_single_click(
15855        icon_view: *mut GtkIconView,
15856        single: gboolean,
15857    );
15858    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15859    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15860    pub fn gtk_icon_view_set_cursor(
15861        icon_view: *mut GtkIconView,
15862        path: *mut GtkTreePath,
15863        cell: *mut GtkCellRenderer,
15864        start_editing: gboolean,
15865    );
15866    pub fn gtk_icon_view_set_drag_dest_item(
15867        icon_view: *mut GtkIconView,
15868        path: *mut GtkTreePath,
15869        pos: GtkIconViewDropPosition,
15870    );
15871    pub fn gtk_icon_view_set_item_orientation(
15872        icon_view: *mut GtkIconView,
15873        orientation: GtkOrientation,
15874    );
15875    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15876    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15877    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15878    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15879    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15880    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15881    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15882    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15883    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15884    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15885    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15886    pub fn gtk_icon_view_set_tooltip_cell(
15887        icon_view: *mut GtkIconView,
15888        tooltip: *mut GtkTooltip,
15889        path: *mut GtkTreePath,
15890        cell: *mut GtkCellRenderer,
15891    );
15892    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15893    pub fn gtk_icon_view_set_tooltip_item(
15894        icon_view: *mut GtkIconView,
15895        tooltip: *mut GtkTooltip,
15896        path: *mut GtkTreePath,
15897    );
15898    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15899    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15900    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15901    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15902
15903    //=========================================================================
15904    // GtkImage
15905    //=========================================================================
15906    pub fn gtk_image_get_type() -> GType;
15907    pub fn gtk_image_new() -> *mut GtkWidget;
15908    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15909    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15910    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15911    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15912    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15913    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15914    pub fn gtk_image_clear(image: *mut GtkImage);
15915    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15916    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15917    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15918    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15919    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15920    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15921    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15922    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15923    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15924    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15925    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15926    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15927    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15928    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15929
15930    //=========================================================================
15931    // GtkInfoBar
15932    //=========================================================================
15933    pub fn gtk_info_bar_get_type() -> GType;
15934    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15935    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15936    pub fn gtk_info_bar_add_action_widget(
15937        info_bar: *mut GtkInfoBar,
15938        child: *mut GtkWidget,
15939        response_id: GtkResponseType,
15940    );
15941    pub fn gtk_info_bar_add_button(
15942        info_bar: *mut GtkInfoBar,
15943        button_text: *const c_char,
15944        response_id: GtkResponseType,
15945    ) -> *mut GtkButton;
15946    pub fn gtk_info_bar_add_buttons(
15947        info_bar: *mut GtkInfoBar,
15948        first_button_text: *const c_char,
15949        ...
15950    );
15951    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15952    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15953    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15954    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15955    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15956    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15957    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15958    pub fn gtk_info_bar_set_default_response(
15959        info_bar: *mut GtkInfoBar,
15960        response_id: GtkResponseType,
15961    );
15962    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15963    pub fn gtk_info_bar_set_response_sensitive(
15964        info_bar: *mut GtkInfoBar,
15965        response_id: GtkResponseType,
15966        setting: gboolean,
15967    );
15968    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15969    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15970
15971    //=========================================================================
15972    // GtkInscription
15973    //=========================================================================
15974    #[cfg(feature = "v4_8")]
15975    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15976    pub fn gtk_inscription_get_type() -> GType;
15977    #[cfg(feature = "v4_8")]
15978    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15979    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15980    #[cfg(feature = "v4_8")]
15981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15982    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15983    #[cfg(feature = "v4_8")]
15984    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15985    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15986    #[cfg(feature = "v4_8")]
15987    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15988    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15989    #[cfg(feature = "v4_8")]
15990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15991    pub fn gtk_inscription_get_nat_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_nat_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_text(self_: *mut GtkInscription) -> *const c_char;
15998    #[cfg(feature = "v4_8")]
15999    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16000    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
16001    #[cfg(feature = "v4_8")]
16002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16003    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
16004    #[cfg(feature = "v4_8")]
16005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16006    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
16007    #[cfg(feature = "v4_8")]
16008    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16009    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
16010    #[cfg(feature = "v4_8")]
16011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16012    pub fn gtk_inscription_set_attributes(
16013        self_: *mut GtkInscription,
16014        attrs: *mut pango::PangoAttrList,
16015    );
16016    #[cfg(feature = "v4_8")]
16017    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16018    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
16019    #[cfg(feature = "v4_8")]
16020    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16021    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
16022    #[cfg(feature = "v4_8")]
16023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16024    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
16025    #[cfg(feature = "v4_8")]
16026    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16027    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
16028    #[cfg(feature = "v4_8")]
16029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16030    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
16031    #[cfg(feature = "v4_8")]
16032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16033    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
16034    #[cfg(feature = "v4_8")]
16035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16036    pub fn gtk_inscription_set_text_overflow(
16037        self_: *mut GtkInscription,
16038        overflow: GtkInscriptionOverflow,
16039    );
16040    #[cfg(feature = "v4_8")]
16041    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16042    pub fn gtk_inscription_set_wrap_mode(
16043        self_: *mut GtkInscription,
16044        wrap_mode: pango::PangoWrapMode,
16045    );
16046    #[cfg(feature = "v4_8")]
16047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16048    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
16049    #[cfg(feature = "v4_8")]
16050    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16051    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
16052
16053    //=========================================================================
16054    // GtkKeyvalTrigger
16055    //=========================================================================
16056    pub fn gtk_keyval_trigger_get_type() -> GType;
16057    pub fn gtk_keyval_trigger_new(
16058        keyval: c_uint,
16059        modifiers: gdk::GdkModifierType,
16060    ) -> *mut GtkShortcutTrigger;
16061    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
16062    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
16063
16064    //=========================================================================
16065    // GtkLabel
16066    //=========================================================================
16067    pub fn gtk_label_get_type() -> GType;
16068    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
16069    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
16070    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
16071    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
16072    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
16073    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
16074    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
16075    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
16076    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
16077    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
16078    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
16079    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
16080    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
16081    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
16082    #[cfg(feature = "v4_6")]
16083    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16084    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
16085    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
16086    pub fn gtk_label_get_selection_bounds(
16087        self_: *mut GtkLabel,
16088        start: *mut c_int,
16089        end: *mut c_int,
16090    ) -> gboolean;
16091    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
16092    #[cfg(feature = "v4_8")]
16093    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16094    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
16095    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
16096    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
16097    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
16098    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
16099    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
16100    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
16101    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
16102    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
16103    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
16104    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
16105    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
16106    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
16107    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
16108    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
16109    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
16110    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
16111    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16112    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16113    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
16114    #[cfg(feature = "v4_6")]
16115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16116    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
16117    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
16118    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
16119    #[cfg(feature = "v4_8")]
16120    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16121    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
16122    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
16123    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16124    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
16125    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
16126    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16127    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16128    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16129    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16130    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16131
16132    //=========================================================================
16133    // GtkLayoutChild
16134    //=========================================================================
16135    pub fn gtk_layout_child_get_type() -> GType;
16136    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16137    pub fn gtk_layout_child_get_layout_manager(
16138        layout_child: *mut GtkLayoutChild,
16139    ) -> *mut GtkLayoutManager;
16140
16141    //=========================================================================
16142    // GtkLayoutManager
16143    //=========================================================================
16144    pub fn gtk_layout_manager_get_type() -> GType;
16145    pub fn gtk_layout_manager_allocate(
16146        manager: *mut GtkLayoutManager,
16147        widget: *mut GtkWidget,
16148        width: c_int,
16149        height: c_int,
16150        baseline: c_int,
16151    );
16152    pub fn gtk_layout_manager_get_layout_child(
16153        manager: *mut GtkLayoutManager,
16154        child: *mut GtkWidget,
16155    ) -> *mut GtkLayoutChild;
16156    pub fn gtk_layout_manager_get_request_mode(
16157        manager: *mut GtkLayoutManager,
16158    ) -> GtkSizeRequestMode;
16159    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16160    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16161    pub fn gtk_layout_manager_measure(
16162        manager: *mut GtkLayoutManager,
16163        widget: *mut GtkWidget,
16164        orientation: GtkOrientation,
16165        for_size: c_int,
16166        minimum: *mut c_int,
16167        natural: *mut c_int,
16168        minimum_baseline: *mut c_int,
16169        natural_baseline: *mut c_int,
16170    );
16171
16172    //=========================================================================
16173    // GtkLevelBar
16174    //=========================================================================
16175    pub fn gtk_level_bar_get_type() -> GType;
16176    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16177    pub fn gtk_level_bar_new_for_interval(
16178        min_value: c_double,
16179        max_value: c_double,
16180    ) -> *mut GtkWidget;
16181    pub fn gtk_level_bar_add_offset_value(
16182        self_: *mut GtkLevelBar,
16183        name: *const c_char,
16184        value: c_double,
16185    );
16186    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16187    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16188    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16189    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16190    pub fn gtk_level_bar_get_offset_value(
16191        self_: *mut GtkLevelBar,
16192        name: *const c_char,
16193        value: *mut c_double,
16194    ) -> gboolean;
16195    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16196    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16197    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16198    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16199    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16200    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16201    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16202
16203    //=========================================================================
16204    // GtkLinkButton
16205    //=========================================================================
16206    pub fn gtk_link_button_get_type() -> GType;
16207    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16208    pub fn gtk_link_button_new_with_label(
16209        uri: *const c_char,
16210        label: *const c_char,
16211    ) -> *mut GtkWidget;
16212    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16213    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16214    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16215    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16216
16217    //=========================================================================
16218    // GtkListBase
16219    //=========================================================================
16220    pub fn gtk_list_base_get_type() -> GType;
16221
16222    //=========================================================================
16223    // GtkListBox
16224    //=========================================================================
16225    pub fn gtk_list_box_get_type() -> GType;
16226    pub fn gtk_list_box_new() -> *mut GtkWidget;
16227    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16228    pub fn gtk_list_box_bind_model(
16229        box_: *mut GtkListBox,
16230        model: *mut gio::GListModel,
16231        create_widget_func: GtkListBoxCreateWidgetFunc,
16232        user_data: gpointer,
16233        user_data_free_func: glib::GDestroyNotify,
16234    );
16235    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16236    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16237    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16238    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16239    pub fn gtk_list_box_get_row_at_index(
16240        box_: *mut GtkListBox,
16241        index_: c_int,
16242    ) -> *mut GtkListBoxRow;
16243    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16244    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16245    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16246    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16247    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16248    #[cfg(feature = "v4_18")]
16249    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16250    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16251    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16252    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16253    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16254    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16255    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16256    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16257    #[cfg(feature = "v4_12")]
16258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16259    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16260    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16261    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16262    pub fn gtk_list_box_selected_foreach(
16263        box_: *mut GtkListBox,
16264        func: GtkListBoxForeachFunc,
16265        data: gpointer,
16266    );
16267    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16268    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16269    pub fn gtk_list_box_set_filter_func(
16270        box_: *mut GtkListBox,
16271        filter_func: GtkListBoxFilterFunc,
16272        user_data: gpointer,
16273        destroy: glib::GDestroyNotify,
16274    );
16275    pub fn gtk_list_box_set_header_func(
16276        box_: *mut GtkListBox,
16277        update_header: GtkListBoxUpdateHeaderFunc,
16278        user_data: gpointer,
16279        destroy: glib::GDestroyNotify,
16280    );
16281    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16282    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16283    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16284    pub fn gtk_list_box_set_sort_func(
16285        box_: *mut GtkListBox,
16286        sort_func: GtkListBoxSortFunc,
16287        user_data: gpointer,
16288        destroy: glib::GDestroyNotify,
16289    );
16290    #[cfg(feature = "v4_18")]
16291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16292    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16293    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16294    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16295
16296    //=========================================================================
16297    // GtkListBoxRow
16298    //=========================================================================
16299    pub fn gtk_list_box_row_get_type() -> GType;
16300    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16301    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16302    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16303    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16304    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16305    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16306    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16307    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16308    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16309    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16310    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16311    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16312
16313    //=========================================================================
16314    // GtkListHeader
16315    //=========================================================================
16316    #[cfg(feature = "v4_12")]
16317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16318    pub fn gtk_list_header_get_type() -> GType;
16319    #[cfg(feature = "v4_12")]
16320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16321    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16322    #[cfg(feature = "v4_12")]
16323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16324    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16325    #[cfg(feature = "v4_12")]
16326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16327    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16328    #[cfg(feature = "v4_12")]
16329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16330    pub fn gtk_list_header_get_n_items(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_start(self_: *mut GtkListHeader) -> c_uint;
16334    #[cfg(feature = "v4_12")]
16335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16336    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16337
16338    //=========================================================================
16339    // GtkListItem
16340    //=========================================================================
16341    pub fn gtk_list_item_get_type() -> GType;
16342    #[cfg(feature = "v4_12")]
16343    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16344    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16345    #[cfg(feature = "v4_12")]
16346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16347    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16348    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16349    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16350    #[cfg(feature = "v4_12")]
16351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16352    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16353    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16354    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16355    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16356    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16357    #[cfg(feature = "v4_12")]
16358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16359    pub fn gtk_list_item_set_accessible_description(
16360        self_: *mut GtkListItem,
16361        description: *const c_char,
16362    );
16363    #[cfg(feature = "v4_12")]
16364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16365    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16366    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16367    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16368    #[cfg(feature = "v4_12")]
16369    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16370    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16371    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16372
16373    //=========================================================================
16374    // GtkListItemFactory
16375    //=========================================================================
16376    pub fn gtk_list_item_factory_get_type() -> GType;
16377
16378    //=========================================================================
16379    // GtkListStore
16380    //=========================================================================
16381    pub fn gtk_list_store_get_type() -> GType;
16382    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16383    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16384    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16385    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16386    pub fn gtk_list_store_insert(
16387        list_store: *mut GtkListStore,
16388        iter: *mut GtkTreeIter,
16389        position: c_int,
16390    );
16391    pub fn gtk_list_store_insert_after(
16392        list_store: *mut GtkListStore,
16393        iter: *mut GtkTreeIter,
16394        sibling: *mut GtkTreeIter,
16395    );
16396    pub fn gtk_list_store_insert_before(
16397        list_store: *mut GtkListStore,
16398        iter: *mut GtkTreeIter,
16399        sibling: *mut GtkTreeIter,
16400    );
16401    pub fn gtk_list_store_insert_with_values(
16402        list_store: *mut GtkListStore,
16403        iter: *mut GtkTreeIter,
16404        position: c_int,
16405        ...
16406    );
16407    pub fn gtk_list_store_insert_with_valuesv(
16408        list_store: *mut GtkListStore,
16409        iter: *mut GtkTreeIter,
16410        position: c_int,
16411        columns: *mut c_int,
16412        values: *mut gobject::GValue,
16413        n_values: c_int,
16414    );
16415    pub fn gtk_list_store_iter_is_valid(
16416        list_store: *mut GtkListStore,
16417        iter: *mut GtkTreeIter,
16418    ) -> gboolean;
16419    pub fn gtk_list_store_move_after(
16420        store: *mut GtkListStore,
16421        iter: *mut GtkTreeIter,
16422        position: *mut GtkTreeIter,
16423    );
16424    pub fn gtk_list_store_move_before(
16425        store: *mut GtkListStore,
16426        iter: *mut GtkTreeIter,
16427        position: *mut GtkTreeIter,
16428    );
16429    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16430    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16431    -> gboolean;
16432    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16433    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16434    pub fn gtk_list_store_set_column_types(
16435        list_store: *mut GtkListStore,
16436        n_columns: c_int,
16437        types: *mut GType,
16438    );
16439    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16440    pub fn gtk_list_store_set_value(
16441        list_store: *mut GtkListStore,
16442        iter: *mut GtkTreeIter,
16443        column: c_int,
16444        value: *mut gobject::GValue,
16445    );
16446    pub fn gtk_list_store_set_valuesv(
16447        list_store: *mut GtkListStore,
16448        iter: *mut GtkTreeIter,
16449        columns: *mut c_int,
16450        values: *mut gobject::GValue,
16451        n_values: c_int,
16452    );
16453    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16454
16455    //=========================================================================
16456    // GtkListView
16457    //=========================================================================
16458    pub fn gtk_list_view_get_type() -> GType;
16459    pub fn gtk_list_view_new(
16460        model: *mut GtkSelectionModel,
16461        factory: *mut GtkListItemFactory,
16462    ) -> *mut GtkWidget;
16463    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16464    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16465    #[cfg(feature = "v4_12")]
16466    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16467    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16468    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16469    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16470    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16471    #[cfg(feature = "v4_12")]
16472    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16473    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16474    #[cfg(feature = "v4_12")]
16475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16476    pub fn gtk_list_view_scroll_to(
16477        self_: *mut GtkListView,
16478        pos: c_uint,
16479        flags: GtkListScrollFlags,
16480        scroll: *mut GtkScrollInfo,
16481    );
16482    pub fn gtk_list_view_set_enable_rubberband(
16483        self_: *mut GtkListView,
16484        enable_rubberband: gboolean,
16485    );
16486    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16487    #[cfg(feature = "v4_12")]
16488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16489    pub fn gtk_list_view_set_header_factory(
16490        self_: *mut GtkListView,
16491        factory: *mut GtkListItemFactory,
16492    );
16493    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16494    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16495    pub fn gtk_list_view_set_single_click_activate(
16496        self_: *mut GtkListView,
16497        single_click_activate: gboolean,
16498    );
16499    #[cfg(feature = "v4_12")]
16500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16501    pub fn gtk_list_view_set_tab_behavior(
16502        self_: *mut GtkListView,
16503        tab_behavior: GtkListTabBehavior,
16504    );
16505
16506    //=========================================================================
16507    // GtkLockButton
16508    //=========================================================================
16509    pub fn gtk_lock_button_get_type() -> GType;
16510    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16511    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16512    pub fn gtk_lock_button_set_permission(
16513        button: *mut GtkLockButton,
16514        permission: *mut gio::GPermission,
16515    );
16516
16517    //=========================================================================
16518    // GtkMapListModel
16519    //=========================================================================
16520    pub fn gtk_map_list_model_get_type() -> GType;
16521    pub fn gtk_map_list_model_new(
16522        model: *mut gio::GListModel,
16523        map_func: GtkMapListModelMapFunc,
16524        user_data: gpointer,
16525        user_destroy: glib::GDestroyNotify,
16526    ) -> *mut GtkMapListModel;
16527    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16528    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16529    pub fn gtk_map_list_model_set_map_func(
16530        self_: *mut GtkMapListModel,
16531        map_func: GtkMapListModelMapFunc,
16532        user_data: gpointer,
16533        user_destroy: glib::GDestroyNotify,
16534    );
16535    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16536
16537    //=========================================================================
16538    // GtkMediaControls
16539    //=========================================================================
16540    pub fn gtk_media_controls_get_type() -> GType;
16541    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16542    pub fn gtk_media_controls_get_media_stream(
16543        controls: *mut GtkMediaControls,
16544    ) -> *mut GtkMediaStream;
16545    pub fn gtk_media_controls_set_media_stream(
16546        controls: *mut GtkMediaControls,
16547        stream: *mut GtkMediaStream,
16548    );
16549
16550    //=========================================================================
16551    // GtkMediaFile
16552    //=========================================================================
16553    pub fn gtk_media_file_get_type() -> GType;
16554    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16555    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16556    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16557    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16558    -> *mut GtkMediaFile;
16559    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16560    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16561    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16562    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16563    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16564    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16565    pub fn gtk_media_file_set_input_stream(
16566        self_: *mut GtkMediaFile,
16567        stream: *mut gio::GInputStream,
16568    );
16569    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16570
16571    //=========================================================================
16572    // GtkMediaStream
16573    //=========================================================================
16574    pub fn gtk_media_stream_get_type() -> GType;
16575    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16576    pub fn gtk_media_stream_error(
16577        self_: *mut GtkMediaStream,
16578        domain: glib::GQuark,
16579        code: c_int,
16580        format: *const c_char,
16581        ...
16582    );
16583    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16584    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16585    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16586    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16587    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16588    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16589    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16590    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16591    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16592    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16593    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16594    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16595    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16596    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16597    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16598    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16599    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16600    pub fn gtk_media_stream_prepared(
16601        self_: *mut GtkMediaStream,
16602        has_audio: gboolean,
16603        has_video: gboolean,
16604        seekable: gboolean,
16605        duration: i64,
16606    );
16607    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16608    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16609    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16610    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16611    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16612    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16613    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16614    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16615    #[cfg(feature = "v4_4")]
16616    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16617    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16618    #[cfg(feature = "v4_4")]
16619    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16620    pub fn gtk_media_stream_stream_prepared(
16621        self_: *mut GtkMediaStream,
16622        has_audio: gboolean,
16623        has_video: gboolean,
16624        seekable: gboolean,
16625        duration: i64,
16626    );
16627    #[cfg(feature = "v4_4")]
16628    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16629    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16630    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16631    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16632    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16633
16634    //=========================================================================
16635    // GtkMenuButton
16636    //=========================================================================
16637    pub fn gtk_menu_button_get_type() -> GType;
16638    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16639    #[cfg(feature = "v4_10")]
16640    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16641    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16642    #[cfg(feature = "v4_4")]
16643    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16644    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16645    #[cfg(feature = "v4_12")]
16646    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16647    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16648    #[cfg(feature = "v4_6")]
16649    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16650    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16651    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16652    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16653    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16654    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16655    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16656    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16657    #[cfg(feature = "v4_4")]
16658    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16659    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16660    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16661    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16662    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16663    #[cfg(feature = "v4_10")]
16664    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16665    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16666    #[cfg(feature = "v4_4")]
16667    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16668    pub fn gtk_menu_button_set_always_show_arrow(
16669        menu_button: *mut GtkMenuButton,
16670        always_show_arrow: gboolean,
16671    );
16672    #[cfg(feature = "v4_12")]
16673    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16674    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16675    #[cfg(feature = "v4_6")]
16676    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16677    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16678    pub fn gtk_menu_button_set_create_popup_func(
16679        menu_button: *mut GtkMenuButton,
16680        func: GtkMenuButtonCreatePopupFunc,
16681        user_data: gpointer,
16682        destroy_notify: glib::GDestroyNotify,
16683    );
16684    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16685    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16686    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16687    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16688    pub fn gtk_menu_button_set_menu_model(
16689        menu_button: *mut GtkMenuButton,
16690        menu_model: *mut gio::GMenuModel,
16691    );
16692    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16693    #[cfg(feature = "v4_4")]
16694    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16695    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16696    pub fn gtk_menu_button_set_use_underline(
16697        menu_button: *mut GtkMenuButton,
16698        use_underline: gboolean,
16699    );
16700
16701    //=========================================================================
16702    // GtkMessageDialog
16703    //=========================================================================
16704    pub fn gtk_message_dialog_get_type() -> GType;
16705    pub fn gtk_message_dialog_new(
16706        parent: *mut GtkWindow,
16707        flags: GtkDialogFlags,
16708        type_: GtkMessageType,
16709        buttons: GtkButtonsType,
16710        message_format: *const c_char,
16711        ...
16712    ) -> *mut GtkWidget;
16713    pub fn gtk_message_dialog_new_with_markup(
16714        parent: *mut GtkWindow,
16715        flags: GtkDialogFlags,
16716        type_: GtkMessageType,
16717        buttons: GtkButtonsType,
16718        message_format: *const c_char,
16719        ...
16720    ) -> *mut GtkWidget;
16721    pub fn gtk_message_dialog_format_secondary_markup(
16722        message_dialog: *mut GtkMessageDialog,
16723        message_format: *const c_char,
16724        ...
16725    );
16726    pub fn gtk_message_dialog_format_secondary_text(
16727        message_dialog: *mut GtkMessageDialog,
16728        message_format: *const c_char,
16729        ...
16730    );
16731    pub fn gtk_message_dialog_get_message_area(
16732        message_dialog: *mut GtkMessageDialog,
16733    ) -> *mut GtkWidget;
16734    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16735
16736    //=========================================================================
16737    // GtkMnemonicAction
16738    //=========================================================================
16739    pub fn gtk_mnemonic_action_get_type() -> GType;
16740    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16741
16742    //=========================================================================
16743    // GtkMnemonicTrigger
16744    //=========================================================================
16745    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16746    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16747    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16748
16749    //=========================================================================
16750    // GtkMountOperation
16751    //=========================================================================
16752    pub fn gtk_mount_operation_get_type() -> GType;
16753    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16754    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16755    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16756    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16757    pub fn gtk_mount_operation_set_display(
16758        op: *mut GtkMountOperation,
16759        display: *mut gdk::GdkDisplay,
16760    );
16761    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16762
16763    //=========================================================================
16764    // GtkMultiFilter
16765    //=========================================================================
16766    pub fn gtk_multi_filter_get_type() -> GType;
16767    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16768    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16769
16770    //=========================================================================
16771    // GtkMultiSelection
16772    //=========================================================================
16773    pub fn gtk_multi_selection_get_type() -> GType;
16774    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16775    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16776    pub fn gtk_multi_selection_set_model(
16777        self_: *mut GtkMultiSelection,
16778        model: *mut gio::GListModel,
16779    );
16780
16781    //=========================================================================
16782    // GtkMultiSorter
16783    //=========================================================================
16784    pub fn gtk_multi_sorter_get_type() -> GType;
16785    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16786    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16787    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16788
16789    //=========================================================================
16790    // GtkNamedAction
16791    //=========================================================================
16792    pub fn gtk_named_action_get_type() -> GType;
16793    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16794    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16795
16796    //=========================================================================
16797    // GtkNativeDialog
16798    //=========================================================================
16799    pub fn gtk_native_dialog_get_type() -> GType;
16800    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16801    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16802    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16803    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16804    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16805    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16806    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16807    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16808    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16809    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16810
16811    //=========================================================================
16812    // GtkNeverTrigger
16813    //=========================================================================
16814    pub fn gtk_never_trigger_get_type() -> GType;
16815    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16816
16817    //=========================================================================
16818    // GtkNoSelection
16819    //=========================================================================
16820    pub fn gtk_no_selection_get_type() -> GType;
16821    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16822    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16823    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16824
16825    //=========================================================================
16826    // GtkNotebook
16827    //=========================================================================
16828    pub fn gtk_notebook_get_type() -> GType;
16829    pub fn gtk_notebook_new() -> *mut GtkWidget;
16830    pub fn gtk_notebook_append_page(
16831        notebook: *mut GtkNotebook,
16832        child: *mut GtkWidget,
16833        tab_label: *mut GtkWidget,
16834    ) -> c_int;
16835    pub fn gtk_notebook_append_page_menu(
16836        notebook: *mut GtkNotebook,
16837        child: *mut GtkWidget,
16838        tab_label: *mut GtkWidget,
16839        menu_label: *mut GtkWidget,
16840    ) -> c_int;
16841    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16842    pub fn gtk_notebook_get_action_widget(
16843        notebook: *mut GtkNotebook,
16844        pack_type: GtkPackType,
16845    ) -> *mut GtkWidget;
16846    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16847    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16848    pub fn gtk_notebook_get_menu_label(
16849        notebook: *mut GtkNotebook,
16850        child: *mut GtkWidget,
16851    ) -> *mut GtkWidget;
16852    pub fn gtk_notebook_get_menu_label_text(
16853        notebook: *mut GtkNotebook,
16854        child: *mut GtkWidget,
16855    ) -> *const c_char;
16856    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16857    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16858    -> *mut GtkWidget;
16859    pub fn gtk_notebook_get_page(
16860        notebook: *mut GtkNotebook,
16861        child: *mut GtkWidget,
16862    ) -> *mut GtkNotebookPage;
16863    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16864    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16865    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16866    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16867    pub fn gtk_notebook_get_tab_detachable(
16868        notebook: *mut GtkNotebook,
16869        child: *mut GtkWidget,
16870    ) -> gboolean;
16871    pub fn gtk_notebook_get_tab_label(
16872        notebook: *mut GtkNotebook,
16873        child: *mut GtkWidget,
16874    ) -> *mut GtkWidget;
16875    pub fn gtk_notebook_get_tab_label_text(
16876        notebook: *mut GtkNotebook,
16877        child: *mut GtkWidget,
16878    ) -> *const c_char;
16879    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16880    pub fn gtk_notebook_get_tab_reorderable(
16881        notebook: *mut GtkNotebook,
16882        child: *mut GtkWidget,
16883    ) -> gboolean;
16884    pub fn gtk_notebook_insert_page(
16885        notebook: *mut GtkNotebook,
16886        child: *mut GtkWidget,
16887        tab_label: *mut GtkWidget,
16888        position: c_int,
16889    ) -> c_int;
16890    pub fn gtk_notebook_insert_page_menu(
16891        notebook: *mut GtkNotebook,
16892        child: *mut GtkWidget,
16893        tab_label: *mut GtkWidget,
16894        menu_label: *mut GtkWidget,
16895        position: c_int,
16896    ) -> c_int;
16897    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16898    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16899    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16900    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16901    pub fn gtk_notebook_prepend_page(
16902        notebook: *mut GtkNotebook,
16903        child: *mut GtkWidget,
16904        tab_label: *mut GtkWidget,
16905    ) -> c_int;
16906    pub fn gtk_notebook_prepend_page_menu(
16907        notebook: *mut GtkNotebook,
16908        child: *mut GtkWidget,
16909        tab_label: *mut GtkWidget,
16910        menu_label: *mut GtkWidget,
16911    ) -> c_int;
16912    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16913    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16914    pub fn gtk_notebook_reorder_child(
16915        notebook: *mut GtkNotebook,
16916        child: *mut GtkWidget,
16917        position: c_int,
16918    );
16919    pub fn gtk_notebook_set_action_widget(
16920        notebook: *mut GtkNotebook,
16921        widget: *mut GtkWidget,
16922        pack_type: GtkPackType,
16923    );
16924    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16925    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16926    pub fn gtk_notebook_set_menu_label(
16927        notebook: *mut GtkNotebook,
16928        child: *mut GtkWidget,
16929        menu_label: *mut GtkWidget,
16930    );
16931    pub fn gtk_notebook_set_menu_label_text(
16932        notebook: *mut GtkNotebook,
16933        child: *mut GtkWidget,
16934        menu_text: *const c_char,
16935    );
16936    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16937    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16938    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16939    pub fn gtk_notebook_set_tab_detachable(
16940        notebook: *mut GtkNotebook,
16941        child: *mut GtkWidget,
16942        detachable: gboolean,
16943    );
16944    pub fn gtk_notebook_set_tab_label(
16945        notebook: *mut GtkNotebook,
16946        child: *mut GtkWidget,
16947        tab_label: *mut GtkWidget,
16948    );
16949    pub fn gtk_notebook_set_tab_label_text(
16950        notebook: *mut GtkNotebook,
16951        child: *mut GtkWidget,
16952        tab_text: *const c_char,
16953    );
16954    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16955    pub fn gtk_notebook_set_tab_reorderable(
16956        notebook: *mut GtkNotebook,
16957        child: *mut GtkWidget,
16958        reorderable: gboolean,
16959    );
16960
16961    //=========================================================================
16962    // GtkNotebookPage
16963    //=========================================================================
16964    pub fn gtk_notebook_page_get_type() -> GType;
16965    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16966
16967    //=========================================================================
16968    // GtkNothingAction
16969    //=========================================================================
16970    pub fn gtk_nothing_action_get_type() -> GType;
16971    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16972
16973    //=========================================================================
16974    // GtkNumericSorter
16975    //=========================================================================
16976    pub fn gtk_numeric_sorter_get_type() -> GType;
16977    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16978    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16979    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16980    pub fn gtk_numeric_sorter_set_expression(
16981        self_: *mut GtkNumericSorter,
16982        expression: *mut GtkExpression,
16983    );
16984    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16985
16986    //=========================================================================
16987    // GtkObjectExpression
16988    //=========================================================================
16989    pub fn gtk_object_expression_get_type() -> GType;
16990    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16991    pub fn gtk_object_expression_get_object(
16992        expression: *mut GtkObjectExpression,
16993    ) -> *mut gobject::GObject;
16994
16995    //=========================================================================
16996    // GtkOverlay
16997    //=========================================================================
16998    pub fn gtk_overlay_get_type() -> GType;
16999    pub fn gtk_overlay_new() -> *mut GtkWidget;
17000    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
17001    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
17002    pub fn gtk_overlay_get_clip_overlay(
17003        overlay: *mut GtkOverlay,
17004        widget: *mut GtkWidget,
17005    ) -> gboolean;
17006    pub fn gtk_overlay_get_measure_overlay(
17007        overlay: *mut GtkOverlay,
17008        widget: *mut GtkWidget,
17009    ) -> gboolean;
17010    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
17011    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
17012    pub fn gtk_overlay_set_clip_overlay(
17013        overlay: *mut GtkOverlay,
17014        widget: *mut GtkWidget,
17015        clip_overlay: gboolean,
17016    );
17017    pub fn gtk_overlay_set_measure_overlay(
17018        overlay: *mut GtkOverlay,
17019        widget: *mut GtkWidget,
17020        measure: gboolean,
17021    );
17022
17023    //=========================================================================
17024    // GtkOverlayLayout
17025    //=========================================================================
17026    pub fn gtk_overlay_layout_get_type() -> GType;
17027    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
17028
17029    //=========================================================================
17030    // GtkOverlayLayoutChild
17031    //=========================================================================
17032    pub fn gtk_overlay_layout_child_get_type() -> GType;
17033    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
17034    -> gboolean;
17035    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
17036    pub fn gtk_overlay_layout_child_set_clip_overlay(
17037        child: *mut GtkOverlayLayoutChild,
17038        clip_overlay: gboolean,
17039    );
17040    pub fn gtk_overlay_layout_child_set_measure(
17041        child: *mut GtkOverlayLayoutChild,
17042        measure: gboolean,
17043    );
17044
17045    //=========================================================================
17046    // GtkPadController
17047    //=========================================================================
17048    pub fn gtk_pad_controller_get_type() -> GType;
17049    pub fn gtk_pad_controller_new(
17050        group: *mut gio::GActionGroup,
17051        pad: *mut gdk::GdkDevice,
17052    ) -> *mut GtkPadController;
17053    pub fn gtk_pad_controller_set_action(
17054        controller: *mut GtkPadController,
17055        type_: GtkPadActionType,
17056        index: c_int,
17057        mode: c_int,
17058        label: *const c_char,
17059        action_name: *const c_char,
17060    );
17061    pub fn gtk_pad_controller_set_action_entries(
17062        controller: *mut GtkPadController,
17063        entries: *const GtkPadActionEntry,
17064        n_entries: c_int,
17065    );
17066
17067    //=========================================================================
17068    // GtkPageSetup
17069    //=========================================================================
17070    pub fn gtk_page_setup_get_type() -> GType;
17071    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
17072    pub fn gtk_page_setup_new_from_file(
17073        file_name: *const c_char,
17074        error: *mut *mut glib::GError,
17075    ) -> *mut GtkPageSetup;
17076    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
17077    pub fn gtk_page_setup_new_from_key_file(
17078        key_file: *mut glib::GKeyFile,
17079        group_name: *const c_char,
17080        error: *mut *mut glib::GError,
17081    ) -> *mut GtkPageSetup;
17082    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
17083    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17084    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17085    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
17086    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17087    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17088    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17089    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
17090    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17091    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17092    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17093    pub fn gtk_page_setup_load_file(
17094        setup: *mut GtkPageSetup,
17095        file_name: *const c_char,
17096        error: *mut *mut glib::GError,
17097    ) -> gboolean;
17098    pub fn gtk_page_setup_load_key_file(
17099        setup: *mut GtkPageSetup,
17100        key_file: *mut glib::GKeyFile,
17101        group_name: *const c_char,
17102        error: *mut *mut glib::GError,
17103    ) -> gboolean;
17104    pub fn gtk_page_setup_set_bottom_margin(
17105        setup: *mut GtkPageSetup,
17106        margin: c_double,
17107        unit: GtkUnit,
17108    );
17109    pub fn gtk_page_setup_set_left_margin(
17110        setup: *mut GtkPageSetup,
17111        margin: c_double,
17112        unit: GtkUnit,
17113    );
17114    pub fn gtk_page_setup_set_orientation(
17115        setup: *mut GtkPageSetup,
17116        orientation: GtkPageOrientation,
17117    );
17118    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
17119    pub fn gtk_page_setup_set_paper_size_and_default_margins(
17120        setup: *mut GtkPageSetup,
17121        size: *mut GtkPaperSize,
17122    );
17123    pub fn gtk_page_setup_set_right_margin(
17124        setup: *mut GtkPageSetup,
17125        margin: c_double,
17126        unit: GtkUnit,
17127    );
17128    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17129    pub fn gtk_page_setup_to_file(
17130        setup: *mut GtkPageSetup,
17131        file_name: *const c_char,
17132        error: *mut *mut glib::GError,
17133    ) -> gboolean;
17134    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17135    pub fn gtk_page_setup_to_key_file(
17136        setup: *mut GtkPageSetup,
17137        key_file: *mut glib::GKeyFile,
17138        group_name: *const c_char,
17139    );
17140
17141    //=========================================================================
17142    // GtkPageSetupUnixDialog
17143    //=========================================================================
17144    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17145    pub fn gtk_page_setup_unix_dialog_new(
17146        title: *const c_char,
17147        parent: *mut GtkWindow,
17148    ) -> *mut GtkWidget;
17149    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17150        dialog: *mut GtkPageSetupUnixDialog,
17151    ) -> *mut GtkPageSetup;
17152    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17153        dialog: *mut GtkPageSetupUnixDialog,
17154    ) -> *mut GtkPrintSettings;
17155    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17156        dialog: *mut GtkPageSetupUnixDialog,
17157        page_setup: *mut GtkPageSetup,
17158    );
17159    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17160        dialog: *mut GtkPageSetupUnixDialog,
17161        print_settings: *mut GtkPrintSettings,
17162    );
17163
17164    //=========================================================================
17165    // GtkPaned
17166    //=========================================================================
17167    pub fn gtk_paned_get_type() -> GType;
17168    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17169    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17170    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17171    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17172    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17173    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17174    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17175    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17176    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17177    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17178    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17179    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17180    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17181    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17182    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17183    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17184    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17185
17186    //=========================================================================
17187    // GtkParamSpecExpression
17188    //=========================================================================
17189    pub fn gtk_param_expression_get_type() -> GType;
17190
17191    //=========================================================================
17192    // GtkPasswordEntry
17193    //=========================================================================
17194    pub fn gtk_password_entry_get_type() -> GType;
17195    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17196    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17197    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17198    pub fn gtk_password_entry_set_extra_menu(
17199        entry: *mut GtkPasswordEntry,
17200        model: *mut gio::GMenuModel,
17201    );
17202    pub fn gtk_password_entry_set_show_peek_icon(
17203        entry: *mut GtkPasswordEntry,
17204        show_peek_icon: gboolean,
17205    );
17206
17207    //=========================================================================
17208    // GtkPasswordEntryBuffer
17209    //=========================================================================
17210    #[cfg(feature = "v4_4")]
17211    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17212    pub fn gtk_password_entry_buffer_get_type() -> GType;
17213    #[cfg(feature = "v4_4")]
17214    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17215    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17216
17217    //=========================================================================
17218    // GtkPicture
17219    //=========================================================================
17220    pub fn gtk_picture_get_type() -> GType;
17221    pub fn gtk_picture_new() -> *mut GtkWidget;
17222    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17223    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17224    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17225    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17226    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17227    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17228    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17229    #[cfg(feature = "v4_8")]
17230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17231    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17232    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17233    #[cfg(feature = "v4_22")]
17234    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17235    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17236    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17237    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17238    pub fn gtk_picture_set_alternative_text(
17239        self_: *mut GtkPicture,
17240        alternative_text: *const c_char,
17241    );
17242    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17243    #[cfg(feature = "v4_8")]
17244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17245    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17246    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17247    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17248    #[cfg(feature = "v4_22")]
17249    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17250    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17251    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17252    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17253    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17254    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17255
17256    //=========================================================================
17257    // GtkPopover
17258    //=========================================================================
17259    pub fn gtk_popover_get_type() -> GType;
17260    pub fn gtk_popover_new() -> *mut GtkWidget;
17261    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17262    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17263    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17264    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17265    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17266    pub fn gtk_popover_get_offset(
17267        popover: *mut GtkPopover,
17268        x_offset: *mut c_int,
17269        y_offset: *mut c_int,
17270    );
17271    pub fn gtk_popover_get_pointing_to(
17272        popover: *mut GtkPopover,
17273        rect: *mut gdk::GdkRectangle,
17274    ) -> gboolean;
17275    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17276    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17277    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17278    pub fn gtk_popover_present(popover: *mut GtkPopover);
17279    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17280    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17281    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17282    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17283    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17284    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17285    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17286    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17287    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17288
17289    //=========================================================================
17290    // GtkPopoverBin
17291    //=========================================================================
17292    #[cfg(feature = "v4_22")]
17293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17294    pub fn gtk_popover_bin_get_type() -> GType;
17295    #[cfg(feature = "v4_22")]
17296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17297    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17298    #[cfg(feature = "v4_22")]
17299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17300    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17301    #[cfg(feature = "v4_22")]
17302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17303    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17304    #[cfg(feature = "v4_22")]
17305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17306    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17307    #[cfg(feature = "v4_22")]
17308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17309    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17310    #[cfg(feature = "v4_22")]
17311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17312    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17313    #[cfg(feature = "v4_22")]
17314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17315    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17316    #[cfg(feature = "v4_22")]
17317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17318    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17319    #[cfg(feature = "v4_22")]
17320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17321    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17322    #[cfg(feature = "v4_22")]
17323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17324    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17325    #[cfg(feature = "v4_22")]
17326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17327    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17328
17329    //=========================================================================
17330    // GtkPopoverMenu
17331    //=========================================================================
17332    pub fn gtk_popover_menu_get_type() -> GType;
17333    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17334    pub fn gtk_popover_menu_new_from_model_full(
17335        model: *mut gio::GMenuModel,
17336        flags: GtkPopoverMenuFlags,
17337    ) -> *mut GtkWidget;
17338    pub fn gtk_popover_menu_add_child(
17339        popover: *mut GtkPopoverMenu,
17340        child: *mut GtkWidget,
17341        id: *const c_char,
17342    ) -> gboolean;
17343    #[cfg(feature = "v4_14")]
17344    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17345    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17346    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17347    pub fn gtk_popover_menu_remove_child(
17348        popover: *mut GtkPopoverMenu,
17349        child: *mut GtkWidget,
17350    ) -> gboolean;
17351    #[cfg(feature = "v4_14")]
17352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17353    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17354    pub fn gtk_popover_menu_set_menu_model(
17355        popover: *mut GtkPopoverMenu,
17356        model: *mut gio::GMenuModel,
17357    );
17358
17359    //=========================================================================
17360    // GtkPopoverMenuBar
17361    //=========================================================================
17362    pub fn gtk_popover_menu_bar_get_type() -> GType;
17363    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17364    pub fn gtk_popover_menu_bar_add_child(
17365        bar: *mut GtkPopoverMenuBar,
17366        child: *mut GtkWidget,
17367        id: *const c_char,
17368    ) -> gboolean;
17369    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17370    -> *mut gio::GMenuModel;
17371    pub fn gtk_popover_menu_bar_remove_child(
17372        bar: *mut GtkPopoverMenuBar,
17373        child: *mut GtkWidget,
17374    ) -> gboolean;
17375    pub fn gtk_popover_menu_bar_set_menu_model(
17376        bar: *mut GtkPopoverMenuBar,
17377        model: *mut gio::GMenuModel,
17378    );
17379
17380    //=========================================================================
17381    // GtkPrintContext
17382    //=========================================================================
17383    pub fn gtk_print_context_get_type() -> GType;
17384    pub fn gtk_print_context_create_pango_context(
17385        context: *mut GtkPrintContext,
17386    ) -> *mut pango::PangoContext;
17387    pub fn gtk_print_context_create_pango_layout(
17388        context: *mut GtkPrintContext,
17389    ) -> *mut pango::PangoLayout;
17390    pub fn gtk_print_context_get_cairo_context(
17391        context: *mut GtkPrintContext,
17392    ) -> *mut cairo::cairo_t;
17393    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17394    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17395    pub fn gtk_print_context_get_hard_margins(
17396        context: *mut GtkPrintContext,
17397        top: *mut c_double,
17398        bottom: *mut c_double,
17399        left: *mut c_double,
17400        right: *mut c_double,
17401    ) -> gboolean;
17402    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17403    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17404    pub fn gtk_print_context_get_pango_fontmap(
17405        context: *mut GtkPrintContext,
17406    ) -> *mut pango::PangoFontMap;
17407    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17408    pub fn gtk_print_context_set_cairo_context(
17409        context: *mut GtkPrintContext,
17410        cr: *mut cairo::cairo_t,
17411        dpi_x: c_double,
17412        dpi_y: c_double,
17413    );
17414
17415    //=========================================================================
17416    // GtkPrintDialog
17417    //=========================================================================
17418    #[cfg(feature = "v4_14")]
17419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17420    pub fn gtk_print_dialog_get_type() -> GType;
17421    #[cfg(feature = "v4_14")]
17422    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17423    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17424    #[cfg(feature = "v4_14")]
17425    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17426    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17427    #[cfg(feature = "v4_14")]
17428    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17429    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17430    #[cfg(feature = "v4_14")]
17431    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17432    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17433    #[cfg(feature = "v4_14")]
17434    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17435    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17436    -> *mut GtkPrintSettings;
17437    #[cfg(feature = "v4_14")]
17438    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17439    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17440    #[cfg(feature = "v4_14")]
17441    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17442    pub fn gtk_print_dialog_print(
17443        self_: *mut GtkPrintDialog,
17444        parent: *mut GtkWindow,
17445        setup: *mut GtkPrintSetup,
17446        cancellable: *mut gio::GCancellable,
17447        callback: gio::GAsyncReadyCallback,
17448        user_data: gpointer,
17449    );
17450    #[cfg(feature = "v4_14")]
17451    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17452    pub fn gtk_print_dialog_print_file(
17453        self_: *mut GtkPrintDialog,
17454        parent: *mut GtkWindow,
17455        setup: *mut GtkPrintSetup,
17456        file: *mut gio::GFile,
17457        cancellable: *mut gio::GCancellable,
17458        callback: gio::GAsyncReadyCallback,
17459        user_data: gpointer,
17460    );
17461    #[cfg(feature = "v4_14")]
17462    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17463    pub fn gtk_print_dialog_print_file_finish(
17464        self_: *mut GtkPrintDialog,
17465        result: *mut gio::GAsyncResult,
17466        error: *mut *mut glib::GError,
17467    ) -> gboolean;
17468    #[cfg(feature = "v4_14")]
17469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17470    pub fn gtk_print_dialog_print_finish(
17471        self_: *mut GtkPrintDialog,
17472        result: *mut gio::GAsyncResult,
17473        error: *mut *mut glib::GError,
17474    ) -> *mut gio::GOutputStream;
17475    #[cfg(feature = "v4_14")]
17476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17477    pub fn gtk_print_dialog_set_accept_label(
17478        self_: *mut GtkPrintDialog,
17479        accept_label: *const c_char,
17480    );
17481    #[cfg(feature = "v4_14")]
17482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17483    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17484    #[cfg(feature = "v4_14")]
17485    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17486    pub fn gtk_print_dialog_set_page_setup(
17487        self_: *mut GtkPrintDialog,
17488        page_setup: *mut GtkPageSetup,
17489    );
17490    #[cfg(feature = "v4_14")]
17491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17492    pub fn gtk_print_dialog_set_print_settings(
17493        self_: *mut GtkPrintDialog,
17494        print_settings: *mut GtkPrintSettings,
17495    );
17496    #[cfg(feature = "v4_14")]
17497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17498    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17499    #[cfg(feature = "v4_14")]
17500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17501    pub fn gtk_print_dialog_setup(
17502        self_: *mut GtkPrintDialog,
17503        parent: *mut GtkWindow,
17504        cancellable: *mut gio::GCancellable,
17505        callback: gio::GAsyncReadyCallback,
17506        user_data: gpointer,
17507    );
17508    #[cfg(feature = "v4_14")]
17509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17510    pub fn gtk_print_dialog_setup_finish(
17511        self_: *mut GtkPrintDialog,
17512        result: *mut gio::GAsyncResult,
17513        error: *mut *mut glib::GError,
17514    ) -> *mut GtkPrintSetup;
17515
17516    //=========================================================================
17517    // GtkPrintJob
17518    //=========================================================================
17519    pub fn gtk_print_job_get_type() -> GType;
17520    pub fn gtk_print_job_new(
17521        title: *const c_char,
17522        printer: *mut GtkPrinter,
17523        settings: *mut GtkPrintSettings,
17524        page_setup: *mut GtkPageSetup,
17525    ) -> *mut GtkPrintJob;
17526    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17527    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17528    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17529    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17530    pub fn gtk_print_job_get_page_ranges(
17531        job: *mut GtkPrintJob,
17532        n_ranges: *mut c_int,
17533    ) -> *mut GtkPageRange;
17534    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17535    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17536    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17537    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17538    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17539    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17540    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17541    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17542    pub fn gtk_print_job_get_surface(
17543        job: *mut GtkPrintJob,
17544        error: *mut *mut glib::GError,
17545    ) -> *mut cairo::cairo_surface_t;
17546    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17547    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17548    pub fn gtk_print_job_send(
17549        job: *mut GtkPrintJob,
17550        callback: GtkPrintJobCompleteFunc,
17551        user_data: gpointer,
17552        dnotify: glib::GDestroyNotify,
17553    );
17554    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17555    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17556    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17557    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17558    pub fn gtk_print_job_set_page_ranges(
17559        job: *mut GtkPrintJob,
17560        ranges: *mut GtkPageRange,
17561        n_ranges: c_int,
17562    );
17563    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17564    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17565    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17566    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17567    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17568    pub fn gtk_print_job_set_source_fd(
17569        job: *mut GtkPrintJob,
17570        fd: c_int,
17571        error: *mut *mut glib::GError,
17572    ) -> gboolean;
17573    pub fn gtk_print_job_set_source_file(
17574        job: *mut GtkPrintJob,
17575        filename: *const c_char,
17576        error: *mut *mut glib::GError,
17577    ) -> gboolean;
17578    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17579
17580    //=========================================================================
17581    // GtkPrintOperation
17582    //=========================================================================
17583    pub fn gtk_print_operation_get_type() -> GType;
17584    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17585    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17586    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17587    pub fn gtk_print_operation_get_default_page_setup(
17588        op: *mut GtkPrintOperation,
17589    ) -> *mut GtkPageSetup;
17590    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17591    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17592    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17593    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17594    pub fn gtk_print_operation_get_print_settings(
17595        op: *mut GtkPrintOperation,
17596    ) -> *mut GtkPrintSettings;
17597    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17598    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17599    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17600    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17601    pub fn gtk_print_operation_run(
17602        op: *mut GtkPrintOperation,
17603        action: GtkPrintOperationAction,
17604        parent: *mut GtkWindow,
17605        error: *mut *mut glib::GError,
17606    ) -> GtkPrintOperationResult;
17607    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17608    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17609    pub fn gtk_print_operation_set_custom_tab_label(
17610        op: *mut GtkPrintOperation,
17611        label: *const c_char,
17612    );
17613    pub fn gtk_print_operation_set_default_page_setup(
17614        op: *mut GtkPrintOperation,
17615        default_page_setup: *mut GtkPageSetup,
17616    );
17617    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17618    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17619    pub fn gtk_print_operation_set_export_filename(
17620        op: *mut GtkPrintOperation,
17621        filename: *const c_char,
17622    );
17623    pub fn gtk_print_operation_set_has_selection(
17624        op: *mut GtkPrintOperation,
17625        has_selection: gboolean,
17626    );
17627    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17628    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17629    pub fn gtk_print_operation_set_print_settings(
17630        op: *mut GtkPrintOperation,
17631        print_settings: *mut GtkPrintSettings,
17632    );
17633    pub fn gtk_print_operation_set_show_progress(
17634        op: *mut GtkPrintOperation,
17635        show_progress: gboolean,
17636    );
17637    pub fn gtk_print_operation_set_support_selection(
17638        op: *mut GtkPrintOperation,
17639        support_selection: gboolean,
17640    );
17641    pub fn gtk_print_operation_set_track_print_status(
17642        op: *mut GtkPrintOperation,
17643        track_status: gboolean,
17644    );
17645    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17646    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17647
17648    //=========================================================================
17649    // GtkPrintSettings
17650    //=========================================================================
17651    pub fn gtk_print_settings_get_type() -> GType;
17652    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17653    pub fn gtk_print_settings_new_from_file(
17654        file_name: *const c_char,
17655        error: *mut *mut glib::GError,
17656    ) -> *mut GtkPrintSettings;
17657    pub fn gtk_print_settings_new_from_gvariant(
17658        variant: *mut glib::GVariant,
17659    ) -> *mut GtkPrintSettings;
17660    pub fn gtk_print_settings_new_from_key_file(
17661        key_file: *mut glib::GKeyFile,
17662        group_name: *const c_char,
17663        error: *mut *mut glib::GError,
17664    ) -> *mut GtkPrintSettings;
17665    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17666    pub fn gtk_print_settings_foreach(
17667        settings: *mut GtkPrintSettings,
17668        func: GtkPrintSettingsFunc,
17669        user_data: gpointer,
17670    );
17671    pub fn gtk_print_settings_get(
17672        settings: *mut GtkPrintSettings,
17673        key: *const c_char,
17674    ) -> *const c_char;
17675    pub fn gtk_print_settings_get_bool(
17676        settings: *mut GtkPrintSettings,
17677        key: *const c_char,
17678    ) -> gboolean;
17679    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17680    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17681    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17682    pub fn gtk_print_settings_get_double(
17683        settings: *mut GtkPrintSettings,
17684        key: *const c_char,
17685    ) -> c_double;
17686    pub fn gtk_print_settings_get_double_with_default(
17687        settings: *mut GtkPrintSettings,
17688        key: *const c_char,
17689        def: c_double,
17690    ) -> c_double;
17691    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17692    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17693    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17694    -> c_int;
17695    pub fn gtk_print_settings_get_int_with_default(
17696        settings: *mut GtkPrintSettings,
17697        key: *const c_char,
17698        def: c_int,
17699    ) -> c_int;
17700    pub fn gtk_print_settings_get_length(
17701        settings: *mut GtkPrintSettings,
17702        key: *const c_char,
17703        unit: GtkUnit,
17704    ) -> c_double;
17705    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17706    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17707    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17708    pub fn gtk_print_settings_get_number_up_layout(
17709        settings: *mut GtkPrintSettings,
17710    ) -> GtkNumberUpLayout;
17711    pub fn gtk_print_settings_get_orientation(
17712        settings: *mut GtkPrintSettings,
17713    ) -> GtkPageOrientation;
17714    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17715    pub fn gtk_print_settings_get_page_ranges(
17716        settings: *mut GtkPrintSettings,
17717        num_ranges: *mut c_int,
17718    ) -> *mut GtkPageRange;
17719    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17720    pub fn gtk_print_settings_get_paper_height(
17721        settings: *mut GtkPrintSettings,
17722        unit: GtkUnit,
17723    ) -> c_double;
17724    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17725    pub fn gtk_print_settings_get_paper_width(
17726        settings: *mut GtkPrintSettings,
17727        unit: GtkUnit,
17728    ) -> c_double;
17729    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17730    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17731    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17732    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17733    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17734    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17735    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17736    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17737    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17738    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17739    pub fn gtk_print_settings_has_key(
17740        settings: *mut GtkPrintSettings,
17741        key: *const c_char,
17742    ) -> gboolean;
17743    pub fn gtk_print_settings_load_file(
17744        settings: *mut GtkPrintSettings,
17745        file_name: *const c_char,
17746        error: *mut *mut glib::GError,
17747    ) -> gboolean;
17748    pub fn gtk_print_settings_load_key_file(
17749        settings: *mut GtkPrintSettings,
17750        key_file: *mut glib::GKeyFile,
17751        group_name: *const c_char,
17752        error: *mut *mut glib::GError,
17753    ) -> gboolean;
17754    pub fn gtk_print_settings_set(
17755        settings: *mut GtkPrintSettings,
17756        key: *const c_char,
17757        value: *const c_char,
17758    );
17759    pub fn gtk_print_settings_set_bool(
17760        settings: *mut GtkPrintSettings,
17761        key: *const c_char,
17762        value: gboolean,
17763    );
17764    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17765    pub fn gtk_print_settings_set_default_source(
17766        settings: *mut GtkPrintSettings,
17767        default_source: *const c_char,
17768    );
17769    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17770    pub fn gtk_print_settings_set_double(
17771        settings: *mut GtkPrintSettings,
17772        key: *const c_char,
17773        value: c_double,
17774    );
17775    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17776    pub fn gtk_print_settings_set_finishings(
17777        settings: *mut GtkPrintSettings,
17778        finishings: *const c_char,
17779    );
17780    pub fn gtk_print_settings_set_int(
17781        settings: *mut GtkPrintSettings,
17782        key: *const c_char,
17783        value: c_int,
17784    );
17785    pub fn gtk_print_settings_set_length(
17786        settings: *mut GtkPrintSettings,
17787        key: *const c_char,
17788        value: c_double,
17789        unit: GtkUnit,
17790    );
17791    pub fn gtk_print_settings_set_media_type(
17792        settings: *mut GtkPrintSettings,
17793        media_type: *const c_char,
17794    );
17795    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17796    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17797    pub fn gtk_print_settings_set_number_up_layout(
17798        settings: *mut GtkPrintSettings,
17799        number_up_layout: GtkNumberUpLayout,
17800    );
17801    pub fn gtk_print_settings_set_orientation(
17802        settings: *mut GtkPrintSettings,
17803        orientation: GtkPageOrientation,
17804    );
17805    pub fn gtk_print_settings_set_output_bin(
17806        settings: *mut GtkPrintSettings,
17807        output_bin: *const c_char,
17808    );
17809    pub fn gtk_print_settings_set_page_ranges(
17810        settings: *mut GtkPrintSettings,
17811        page_ranges: *mut GtkPageRange,
17812        num_ranges: c_int,
17813    );
17814    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17815    pub fn gtk_print_settings_set_paper_height(
17816        settings: *mut GtkPrintSettings,
17817        height: c_double,
17818        unit: GtkUnit,
17819    );
17820    pub fn gtk_print_settings_set_paper_size(
17821        settings: *mut GtkPrintSettings,
17822        paper_size: *mut GtkPaperSize,
17823    );
17824    pub fn gtk_print_settings_set_paper_width(
17825        settings: *mut GtkPrintSettings,
17826        width: c_double,
17827        unit: GtkUnit,
17828    );
17829    pub fn gtk_print_settings_set_print_pages(
17830        settings: *mut GtkPrintSettings,
17831        pages: GtkPrintPages,
17832    );
17833    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17834    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17835    pub fn gtk_print_settings_set_quality(
17836        settings: *mut GtkPrintSettings,
17837        quality: GtkPrintQuality,
17838    );
17839    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17840    pub fn gtk_print_settings_set_resolution_xy(
17841        settings: *mut GtkPrintSettings,
17842        resolution_x: c_int,
17843        resolution_y: c_int,
17844    );
17845    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17846    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17847    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17848    pub fn gtk_print_settings_to_file(
17849        settings: *mut GtkPrintSettings,
17850        file_name: *const c_char,
17851        error: *mut *mut glib::GError,
17852    ) -> gboolean;
17853    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17854    pub fn gtk_print_settings_to_key_file(
17855        settings: *mut GtkPrintSettings,
17856        key_file: *mut glib::GKeyFile,
17857        group_name: *const c_char,
17858    );
17859    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17860
17861    //=========================================================================
17862    // GtkPrintUnixDialog
17863    //=========================================================================
17864    pub fn gtk_print_unix_dialog_get_type() -> GType;
17865    pub fn gtk_print_unix_dialog_new(
17866        title: *const c_char,
17867        parent: *mut GtkWindow,
17868    ) -> *mut GtkWidget;
17869    pub fn gtk_print_unix_dialog_add_custom_tab(
17870        dialog: *mut GtkPrintUnixDialog,
17871        child: *mut GtkWidget,
17872        tab_label: *mut GtkWidget,
17873    );
17874    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17875    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17876    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17877    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17878        dialog: *mut GtkPrintUnixDialog,
17879    ) -> GtkPrintCapabilities;
17880    pub fn gtk_print_unix_dialog_get_page_setup(
17881        dialog: *mut GtkPrintUnixDialog,
17882    ) -> *mut GtkPageSetup;
17883    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17884    pub fn gtk_print_unix_dialog_get_selected_printer(
17885        dialog: *mut GtkPrintUnixDialog,
17886    ) -> *mut GtkPrinter;
17887    pub fn gtk_print_unix_dialog_get_settings(
17888        dialog: *mut GtkPrintUnixDialog,
17889    ) -> *mut GtkPrintSettings;
17890    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17891    -> gboolean;
17892    pub fn gtk_print_unix_dialog_set_current_page(
17893        dialog: *mut GtkPrintUnixDialog,
17894        current_page: c_int,
17895    );
17896    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17897        dialog: *mut GtkPrintUnixDialog,
17898        embed: gboolean,
17899    );
17900    pub fn gtk_print_unix_dialog_set_has_selection(
17901        dialog: *mut GtkPrintUnixDialog,
17902        has_selection: gboolean,
17903    );
17904    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17905        dialog: *mut GtkPrintUnixDialog,
17906        capabilities: GtkPrintCapabilities,
17907    );
17908    pub fn gtk_print_unix_dialog_set_page_setup(
17909        dialog: *mut GtkPrintUnixDialog,
17910        page_setup: *mut GtkPageSetup,
17911    );
17912    pub fn gtk_print_unix_dialog_set_settings(
17913        dialog: *mut GtkPrintUnixDialog,
17914        settings: *mut GtkPrintSettings,
17915    );
17916    pub fn gtk_print_unix_dialog_set_support_selection(
17917        dialog: *mut GtkPrintUnixDialog,
17918        support_selection: gboolean,
17919    );
17920
17921    //=========================================================================
17922    // GtkPrinter
17923    //=========================================================================
17924    pub fn gtk_printer_get_type() -> GType;
17925    pub fn gtk_printer_new(
17926        name: *const c_char,
17927        backend: *mut GtkPrintBackend,
17928        virtual_: gboolean,
17929    ) -> *mut GtkPrinter;
17930    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17931    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17932    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17933    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17934    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17935    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17936    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17937    pub fn gtk_printer_get_hard_margins(
17938        printer: *mut GtkPrinter,
17939        top: *mut c_double,
17940        bottom: *mut c_double,
17941        left: *mut c_double,
17942        right: *mut c_double,
17943    ) -> gboolean;
17944    pub fn gtk_printer_get_hard_margins_for_paper_size(
17945        printer: *mut GtkPrinter,
17946        paper_size: *mut GtkPaperSize,
17947        top: *mut c_double,
17948        bottom: *mut c_double,
17949        left: *mut c_double,
17950        right: *mut c_double,
17951    ) -> gboolean;
17952    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17953    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17954    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17955    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17956    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17957    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17958    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17959    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17960    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17961    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17962    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17963    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17964    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17965
17966    //=========================================================================
17967    // GtkProgressBar
17968    //=========================================================================
17969    pub fn gtk_progress_bar_get_type() -> GType;
17970    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17971    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17972    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17973    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17974    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17975    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17976    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17977    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17978    pub fn gtk_progress_bar_set_ellipsize(
17979        pbar: *mut GtkProgressBar,
17980        mode: pango::PangoEllipsizeMode,
17981    );
17982    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17983    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17984    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17985    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17986    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17987
17988    //=========================================================================
17989    // GtkPropertyExpression
17990    //=========================================================================
17991    pub fn gtk_property_expression_get_type() -> GType;
17992    pub fn gtk_property_expression_new(
17993        this_type: GType,
17994        expression: *mut GtkExpression,
17995        property_name: *const c_char,
17996    ) -> *mut GtkPropertyExpression;
17997    pub fn gtk_property_expression_new_for_pspec(
17998        expression: *mut GtkExpression,
17999        pspec: *mut gobject::GParamSpec,
18000    ) -> *mut GtkPropertyExpression;
18001    pub fn gtk_property_expression_get_expression(
18002        expression: *mut GtkPropertyExpression,
18003    ) -> *mut GtkExpression;
18004    pub fn gtk_property_expression_get_pspec(
18005        expression: *mut GtkPropertyExpression,
18006    ) -> *mut gobject::GParamSpec;
18007
18008    //=========================================================================
18009    // GtkRange
18010    //=========================================================================
18011    pub fn gtk_range_get_type() -> GType;
18012    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
18013    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
18014    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
18015    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
18016    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
18017    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
18018    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
18019    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
18020    pub fn gtk_range_get_slider_range(
18021        range: *mut GtkRange,
18022        slider_start: *mut c_int,
18023        slider_end: *mut c_int,
18024    );
18025    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
18026    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
18027    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
18028    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
18029    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
18030    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
18031    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
18032    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
18033    pub fn gtk_range_set_restrict_to_fill_level(
18034        range: *mut GtkRange,
18035        restrict_to_fill_level: gboolean,
18036    );
18037    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
18038    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
18039    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
18040    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
18041
18042    //=========================================================================
18043    // GtkRecentManager
18044    //=========================================================================
18045    pub fn gtk_recent_manager_get_type() -> GType;
18046    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
18047    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
18048    pub fn gtk_recent_manager_add_full(
18049        manager: *mut GtkRecentManager,
18050        uri: *const c_char,
18051        recent_data: *const GtkRecentData,
18052    ) -> gboolean;
18053    pub fn gtk_recent_manager_add_item(
18054        manager: *mut GtkRecentManager,
18055        uri: *const c_char,
18056    ) -> gboolean;
18057    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
18058    pub fn gtk_recent_manager_has_item(
18059        manager: *mut GtkRecentManager,
18060        uri: *const c_char,
18061    ) -> gboolean;
18062    pub fn gtk_recent_manager_lookup_item(
18063        manager: *mut GtkRecentManager,
18064        uri: *const c_char,
18065        error: *mut *mut glib::GError,
18066    ) -> *mut GtkRecentInfo;
18067    pub fn gtk_recent_manager_move_item(
18068        manager: *mut GtkRecentManager,
18069        uri: *const c_char,
18070        new_uri: *const c_char,
18071        error: *mut *mut glib::GError,
18072    ) -> gboolean;
18073    pub fn gtk_recent_manager_purge_items(
18074        manager: *mut GtkRecentManager,
18075        error: *mut *mut glib::GError,
18076    ) -> c_int;
18077    pub fn gtk_recent_manager_remove_item(
18078        manager: *mut GtkRecentManager,
18079        uri: *const c_char,
18080        error: *mut *mut glib::GError,
18081    ) -> gboolean;
18082
18083    //=========================================================================
18084    // GtkRevealer
18085    //=========================================================================
18086    pub fn gtk_revealer_get_type() -> GType;
18087    pub fn gtk_revealer_new() -> *mut GtkWidget;
18088    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
18089    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
18090    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
18091    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
18092    pub fn gtk_revealer_get_transition_type(
18093        revealer: *mut GtkRevealer,
18094    ) -> GtkRevealerTransitionType;
18095    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
18096    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
18097    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
18098    pub fn gtk_revealer_set_transition_type(
18099        revealer: *mut GtkRevealer,
18100        transition: GtkRevealerTransitionType,
18101    );
18102
18103    //=========================================================================
18104    // GtkScale
18105    //=========================================================================
18106    pub fn gtk_scale_get_type() -> GType;
18107    pub fn gtk_scale_new(
18108        orientation: GtkOrientation,
18109        adjustment: *mut GtkAdjustment,
18110    ) -> *mut GtkWidget;
18111    pub fn gtk_scale_new_with_range(
18112        orientation: GtkOrientation,
18113        min: c_double,
18114        max: c_double,
18115        step: c_double,
18116    ) -> *mut GtkWidget;
18117    pub fn gtk_scale_add_mark(
18118        scale: *mut GtkScale,
18119        value: c_double,
18120        position: GtkPositionType,
18121        markup: *const c_char,
18122    );
18123    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
18124    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
18125    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
18126    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18127    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18128    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18129    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18130    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18131    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18132    pub fn gtk_scale_set_format_value_func(
18133        scale: *mut GtkScale,
18134        func: GtkScaleFormatValueFunc,
18135        user_data: gpointer,
18136        destroy_notify: glib::GDestroyNotify,
18137    );
18138    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18139    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18140
18141    //=========================================================================
18142    // GtkScaleButton
18143    //=========================================================================
18144    pub fn gtk_scale_button_get_type() -> GType;
18145    pub fn gtk_scale_button_new(
18146        min: c_double,
18147        max: c_double,
18148        step: c_double,
18149        icons: *mut *const c_char,
18150    ) -> *mut GtkWidget;
18151    #[cfg(feature = "v4_10")]
18152    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18153    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18154    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18155    #[cfg(feature = "v4_14")]
18156    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18157    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18158    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18159    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18160    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18161    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18162    pub fn gtk_scale_button_set_adjustment(
18163        button: *mut GtkScaleButton,
18164        adjustment: *mut GtkAdjustment,
18165    );
18166    #[cfg(feature = "v4_14")]
18167    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18168    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18169    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18170    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18171
18172    //=========================================================================
18173    // GtkScrollbar
18174    //=========================================================================
18175    pub fn gtk_scrollbar_get_type() -> GType;
18176    pub fn gtk_scrollbar_new(
18177        orientation: GtkOrientation,
18178        adjustment: *mut GtkAdjustment,
18179    ) -> *mut GtkWidget;
18180    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18181    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18182
18183    //=========================================================================
18184    // GtkScrolledWindow
18185    //=========================================================================
18186    pub fn gtk_scrolled_window_get_type() -> GType;
18187    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18188    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18189    -> *mut GtkWidget;
18190    pub fn gtk_scrolled_window_get_hadjustment(
18191        scrolled_window: *mut GtkScrolledWindow,
18192    ) -> *mut GtkAdjustment;
18193    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18194    pub fn gtk_scrolled_window_get_hscrollbar(
18195        scrolled_window: *mut GtkScrolledWindow,
18196    ) -> *mut GtkWidget;
18197    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18198        scrolled_window: *mut GtkScrolledWindow,
18199    ) -> gboolean;
18200    pub fn gtk_scrolled_window_get_max_content_height(
18201        scrolled_window: *mut GtkScrolledWindow,
18202    ) -> c_int;
18203    pub fn gtk_scrolled_window_get_max_content_width(
18204        scrolled_window: *mut GtkScrolledWindow,
18205    ) -> c_int;
18206    pub fn gtk_scrolled_window_get_min_content_height(
18207        scrolled_window: *mut GtkScrolledWindow,
18208    ) -> c_int;
18209    pub fn gtk_scrolled_window_get_min_content_width(
18210        scrolled_window: *mut GtkScrolledWindow,
18211    ) -> c_int;
18212    pub fn gtk_scrolled_window_get_overlay_scrolling(
18213        scrolled_window: *mut GtkScrolledWindow,
18214    ) -> gboolean;
18215    pub fn gtk_scrolled_window_get_placement(
18216        scrolled_window: *mut GtkScrolledWindow,
18217    ) -> GtkCornerType;
18218    pub fn gtk_scrolled_window_get_policy(
18219        scrolled_window: *mut GtkScrolledWindow,
18220        hscrollbar_policy: *mut GtkPolicyType,
18221        vscrollbar_policy: *mut GtkPolicyType,
18222    );
18223    pub fn gtk_scrolled_window_get_propagate_natural_height(
18224        scrolled_window: *mut GtkScrolledWindow,
18225    ) -> gboolean;
18226    pub fn gtk_scrolled_window_get_propagate_natural_width(
18227        scrolled_window: *mut GtkScrolledWindow,
18228    ) -> gboolean;
18229    pub fn gtk_scrolled_window_get_vadjustment(
18230        scrolled_window: *mut GtkScrolledWindow,
18231    ) -> *mut GtkAdjustment;
18232    pub fn gtk_scrolled_window_get_vscrollbar(
18233        scrolled_window: *mut GtkScrolledWindow,
18234    ) -> *mut GtkWidget;
18235    pub fn gtk_scrolled_window_set_child(
18236        scrolled_window: *mut GtkScrolledWindow,
18237        child: *mut GtkWidget,
18238    );
18239    pub fn gtk_scrolled_window_set_hadjustment(
18240        scrolled_window: *mut GtkScrolledWindow,
18241        hadjustment: *mut GtkAdjustment,
18242    );
18243    pub fn gtk_scrolled_window_set_has_frame(
18244        scrolled_window: *mut GtkScrolledWindow,
18245        has_frame: gboolean,
18246    );
18247    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18248        scrolled_window: *mut GtkScrolledWindow,
18249        kinetic_scrolling: gboolean,
18250    );
18251    pub fn gtk_scrolled_window_set_max_content_height(
18252        scrolled_window: *mut GtkScrolledWindow,
18253        height: c_int,
18254    );
18255    pub fn gtk_scrolled_window_set_max_content_width(
18256        scrolled_window: *mut GtkScrolledWindow,
18257        width: c_int,
18258    );
18259    pub fn gtk_scrolled_window_set_min_content_height(
18260        scrolled_window: *mut GtkScrolledWindow,
18261        height: c_int,
18262    );
18263    pub fn gtk_scrolled_window_set_min_content_width(
18264        scrolled_window: *mut GtkScrolledWindow,
18265        width: c_int,
18266    );
18267    pub fn gtk_scrolled_window_set_overlay_scrolling(
18268        scrolled_window: *mut GtkScrolledWindow,
18269        overlay_scrolling: gboolean,
18270    );
18271    pub fn gtk_scrolled_window_set_placement(
18272        scrolled_window: *mut GtkScrolledWindow,
18273        window_placement: GtkCornerType,
18274    );
18275    pub fn gtk_scrolled_window_set_policy(
18276        scrolled_window: *mut GtkScrolledWindow,
18277        hscrollbar_policy: GtkPolicyType,
18278        vscrollbar_policy: GtkPolicyType,
18279    );
18280    pub fn gtk_scrolled_window_set_propagate_natural_height(
18281        scrolled_window: *mut GtkScrolledWindow,
18282        propagate: gboolean,
18283    );
18284    pub fn gtk_scrolled_window_set_propagate_natural_width(
18285        scrolled_window: *mut GtkScrolledWindow,
18286        propagate: gboolean,
18287    );
18288    pub fn gtk_scrolled_window_set_vadjustment(
18289        scrolled_window: *mut GtkScrolledWindow,
18290        vadjustment: *mut GtkAdjustment,
18291    );
18292    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18293
18294    //=========================================================================
18295    // GtkSearchBar
18296    //=========================================================================
18297    pub fn gtk_search_bar_get_type() -> GType;
18298    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18299    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18300    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18301    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18302    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18303    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18304    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18305    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18306    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18307    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18308
18309    //=========================================================================
18310    // GtkSearchEntry
18311    //=========================================================================
18312    pub fn gtk_search_entry_get_type() -> GType;
18313    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18314    #[cfg(feature = "v4_14")]
18315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18316    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18317    #[cfg(feature = "v4_14")]
18318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18319    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18320    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18321    #[cfg(feature = "v4_10")]
18322    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18323    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18324    #[cfg(feature = "v4_8")]
18325    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18326    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18327    #[cfg(feature = "v4_14")]
18328    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18329    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18330    #[cfg(feature = "v4_14")]
18331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18332    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18333    pub fn gtk_search_entry_set_key_capture_widget(
18334        entry: *mut GtkSearchEntry,
18335        widget: *mut GtkWidget,
18336    );
18337    #[cfg(feature = "v4_10")]
18338    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18339    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18340    #[cfg(feature = "v4_8")]
18341    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18342    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18343
18344    //=========================================================================
18345    // GtkSelectionFilterModel
18346    //=========================================================================
18347    pub fn gtk_selection_filter_model_get_type() -> GType;
18348    pub fn gtk_selection_filter_model_new(
18349        model: *mut GtkSelectionModel,
18350    ) -> *mut GtkSelectionFilterModel;
18351    pub fn gtk_selection_filter_model_get_model(
18352        self_: *mut GtkSelectionFilterModel,
18353    ) -> *mut GtkSelectionModel;
18354    pub fn gtk_selection_filter_model_set_model(
18355        self_: *mut GtkSelectionFilterModel,
18356        model: *mut GtkSelectionModel,
18357    );
18358
18359    //=========================================================================
18360    // GtkSeparator
18361    //=========================================================================
18362    pub fn gtk_separator_get_type() -> GType;
18363    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18364
18365    //=========================================================================
18366    // GtkSettings
18367    //=========================================================================
18368    pub fn gtk_settings_get_type() -> GType;
18369    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18370    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18371    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18372
18373    //=========================================================================
18374    // GtkShortcut
18375    //=========================================================================
18376    pub fn gtk_shortcut_get_type() -> GType;
18377    pub fn gtk_shortcut_new(
18378        trigger: *mut GtkShortcutTrigger,
18379        action: *mut GtkShortcutAction,
18380    ) -> *mut GtkShortcut;
18381    pub fn gtk_shortcut_new_with_arguments(
18382        trigger: *mut GtkShortcutTrigger,
18383        action: *mut GtkShortcutAction,
18384        format_string: *const c_char,
18385        ...
18386    ) -> *mut GtkShortcut;
18387    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18388    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18389    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18390    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18391    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18392    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18393
18394    //=========================================================================
18395    // GtkShortcutAction
18396    //=========================================================================
18397    pub fn gtk_shortcut_action_get_type() -> GType;
18398    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18399    pub fn gtk_shortcut_action_activate(
18400        self_: *mut GtkShortcutAction,
18401        flags: GtkShortcutActionFlags,
18402        widget: *mut GtkWidget,
18403        args: *mut glib::GVariant,
18404    ) -> gboolean;
18405    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18406    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18407
18408    //=========================================================================
18409    // GtkShortcutController
18410    //=========================================================================
18411    pub fn gtk_shortcut_controller_get_type() -> GType;
18412    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18413    pub fn gtk_shortcut_controller_new_for_model(
18414        model: *mut gio::GListModel,
18415    ) -> *mut GtkEventController;
18416    pub fn gtk_shortcut_controller_add_shortcut(
18417        self_: *mut GtkShortcutController,
18418        shortcut: *mut GtkShortcut,
18419    );
18420    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18421        self_: *mut GtkShortcutController,
18422    ) -> gdk::GdkModifierType;
18423    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18424    -> GtkShortcutScope;
18425    pub fn gtk_shortcut_controller_remove_shortcut(
18426        self_: *mut GtkShortcutController,
18427        shortcut: *mut GtkShortcut,
18428    );
18429    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18430        self_: *mut GtkShortcutController,
18431        modifiers: gdk::GdkModifierType,
18432    );
18433    pub fn gtk_shortcut_controller_set_scope(
18434        self_: *mut GtkShortcutController,
18435        scope: GtkShortcutScope,
18436    );
18437
18438    //=========================================================================
18439    // GtkShortcutLabel
18440    //=========================================================================
18441    pub fn gtk_shortcut_label_get_type() -> GType;
18442    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18443    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18444    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18445    pub fn gtk_shortcut_label_set_accelerator(
18446        self_: *mut GtkShortcutLabel,
18447        accelerator: *const c_char,
18448    );
18449    pub fn gtk_shortcut_label_set_disabled_text(
18450        self_: *mut GtkShortcutLabel,
18451        disabled_text: *const c_char,
18452    );
18453
18454    //=========================================================================
18455    // GtkShortcutTrigger
18456    //=========================================================================
18457    pub fn gtk_shortcut_trigger_get_type() -> GType;
18458    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18459    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18460    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18461    -> gboolean;
18462    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18463    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18464    pub fn gtk_shortcut_trigger_print_label(
18465        self_: *mut GtkShortcutTrigger,
18466        display: *mut gdk::GdkDisplay,
18467        string: *mut glib::GString,
18468    ) -> gboolean;
18469    pub fn gtk_shortcut_trigger_to_label(
18470        self_: *mut GtkShortcutTrigger,
18471        display: *mut gdk::GdkDisplay,
18472    ) -> *mut c_char;
18473    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18474    pub fn gtk_shortcut_trigger_trigger(
18475        self_: *mut GtkShortcutTrigger,
18476        event: *mut gdk::GdkEvent,
18477        enable_mnemonics: gboolean,
18478    ) -> gdk::GdkKeyMatch;
18479
18480    //=========================================================================
18481    // GtkShortcutsGroup
18482    //=========================================================================
18483    pub fn gtk_shortcuts_group_get_type() -> GType;
18484    #[cfg(feature = "v4_14")]
18485    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18486    pub fn gtk_shortcuts_group_add_shortcut(
18487        self_: *mut GtkShortcutsGroup,
18488        shortcut: *mut GtkShortcutsShortcut,
18489    );
18490
18491    //=========================================================================
18492    // GtkShortcutsSection
18493    //=========================================================================
18494    pub fn gtk_shortcuts_section_get_type() -> GType;
18495    #[cfg(feature = "v4_14")]
18496    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18497    pub fn gtk_shortcuts_section_add_group(
18498        self_: *mut GtkShortcutsSection,
18499        group: *mut GtkShortcutsGroup,
18500    );
18501
18502    //=========================================================================
18503    // GtkShortcutsShortcut
18504    //=========================================================================
18505    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18506
18507    //=========================================================================
18508    // GtkShortcutsWindow
18509    //=========================================================================
18510    pub fn gtk_shortcuts_window_get_type() -> GType;
18511    #[cfg(feature = "v4_14")]
18512    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18513    pub fn gtk_shortcuts_window_add_section(
18514        self_: *mut GtkShortcutsWindow,
18515        section: *mut GtkShortcutsSection,
18516    );
18517
18518    //=========================================================================
18519    // GtkSignalAction
18520    //=========================================================================
18521    pub fn gtk_signal_action_get_type() -> GType;
18522    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18523    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18524
18525    //=========================================================================
18526    // GtkSignalListItemFactory
18527    //=========================================================================
18528    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18529    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18530
18531    //=========================================================================
18532    // GtkSingleSelection
18533    //=========================================================================
18534    pub fn gtk_single_selection_get_type() -> GType;
18535    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18536    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18537    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18538    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18539    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18540    pub fn gtk_single_selection_get_selected_item(
18541        self_: *mut GtkSingleSelection,
18542    ) -> *mut gobject::GObject;
18543    pub fn gtk_single_selection_set_autoselect(
18544        self_: *mut GtkSingleSelection,
18545        autoselect: gboolean,
18546    );
18547    pub fn gtk_single_selection_set_can_unselect(
18548        self_: *mut GtkSingleSelection,
18549        can_unselect: gboolean,
18550    );
18551    pub fn gtk_single_selection_set_model(
18552        self_: *mut GtkSingleSelection,
18553        model: *mut gio::GListModel,
18554    );
18555    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18556
18557    //=========================================================================
18558    // GtkSizeGroup
18559    //=========================================================================
18560    pub fn gtk_size_group_get_type() -> GType;
18561    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18562    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18563    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18564    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18565    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18566    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18567
18568    //=========================================================================
18569    // GtkSliceListModel
18570    //=========================================================================
18571    pub fn gtk_slice_list_model_get_type() -> GType;
18572    pub fn gtk_slice_list_model_new(
18573        model: *mut gio::GListModel,
18574        offset: c_uint,
18575        size: c_uint,
18576    ) -> *mut GtkSliceListModel;
18577    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18578    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18579    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18580    pub fn gtk_slice_list_model_set_model(
18581        self_: *mut GtkSliceListModel,
18582        model: *mut gio::GListModel,
18583    );
18584    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18585    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18586
18587    //=========================================================================
18588    // GtkSnapshot
18589    //=========================================================================
18590    pub fn gtk_snapshot_get_type() -> GType;
18591    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18592    pub fn gtk_snapshot_append_border(
18593        snapshot: *mut GtkSnapshot,
18594        outline: *const gsk::GskRoundedRect,
18595        border_width: *const [c_float; 4],
18596        border_color: *const [gdk::GdkRGBA; 4],
18597    );
18598    pub fn gtk_snapshot_append_cairo(
18599        snapshot: *mut GtkSnapshot,
18600        bounds: *const graphene::graphene_rect_t,
18601    ) -> *mut cairo::cairo_t;
18602    pub fn gtk_snapshot_append_color(
18603        snapshot: *mut GtkSnapshot,
18604        color: *const gdk::GdkRGBA,
18605        bounds: *const graphene::graphene_rect_t,
18606    );
18607    pub fn gtk_snapshot_append_conic_gradient(
18608        snapshot: *mut GtkSnapshot,
18609        bounds: *const graphene::graphene_rect_t,
18610        center: *const graphene::graphene_point_t,
18611        rotation: c_float,
18612        stops: *const gsk::GskColorStop,
18613        n_stops: size_t,
18614    );
18615    #[cfg(feature = "v4_14")]
18616    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18617    pub fn gtk_snapshot_append_fill(
18618        snapshot: *mut GtkSnapshot,
18619        path: *mut gsk::GskPath,
18620        fill_rule: gsk::GskFillRule,
18621        color: *const gdk::GdkRGBA,
18622    );
18623    pub fn gtk_snapshot_append_inset_shadow(
18624        snapshot: *mut GtkSnapshot,
18625        outline: *const gsk::GskRoundedRect,
18626        color: *const gdk::GdkRGBA,
18627        dx: c_float,
18628        dy: c_float,
18629        spread: c_float,
18630        blur_radius: c_float,
18631    );
18632    pub fn gtk_snapshot_append_layout(
18633        snapshot: *mut GtkSnapshot,
18634        layout: *mut pango::PangoLayout,
18635        color: *const gdk::GdkRGBA,
18636    );
18637    pub fn gtk_snapshot_append_linear_gradient(
18638        snapshot: *mut GtkSnapshot,
18639        bounds: *const graphene::graphene_rect_t,
18640        start_point: *const graphene::graphene_point_t,
18641        end_point: *const graphene::graphene_point_t,
18642        stops: *const gsk::GskColorStop,
18643        n_stops: size_t,
18644    );
18645    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18646    pub fn gtk_snapshot_append_outset_shadow(
18647        snapshot: *mut GtkSnapshot,
18648        outline: *const gsk::GskRoundedRect,
18649        color: *const gdk::GdkRGBA,
18650        dx: c_float,
18651        dy: c_float,
18652        spread: c_float,
18653        blur_radius: c_float,
18654    );
18655    #[cfg(feature = "v4_22")]
18656    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18657    pub fn gtk_snapshot_append_paste(
18658        snapshot: *mut GtkSnapshot,
18659        bounds: *const graphene::graphene_rect_t,
18660        nth: size_t,
18661    );
18662    pub fn gtk_snapshot_append_radial_gradient(
18663        snapshot: *mut GtkSnapshot,
18664        bounds: *const graphene::graphene_rect_t,
18665        center: *const graphene::graphene_point_t,
18666        hradius: c_float,
18667        vradius: c_float,
18668        start: c_float,
18669        end: c_float,
18670        stops: *const gsk::GskColorStop,
18671        n_stops: size_t,
18672    );
18673    pub fn gtk_snapshot_append_repeating_linear_gradient(
18674        snapshot: *mut GtkSnapshot,
18675        bounds: *const graphene::graphene_rect_t,
18676        start_point: *const graphene::graphene_point_t,
18677        end_point: *const graphene::graphene_point_t,
18678        stops: *const gsk::GskColorStop,
18679        n_stops: size_t,
18680    );
18681    pub fn gtk_snapshot_append_repeating_radial_gradient(
18682        snapshot: *mut GtkSnapshot,
18683        bounds: *const graphene::graphene_rect_t,
18684        center: *const graphene::graphene_point_t,
18685        hradius: c_float,
18686        vradius: c_float,
18687        start: c_float,
18688        end: c_float,
18689        stops: *const gsk::GskColorStop,
18690        n_stops: size_t,
18691    );
18692    #[cfg(feature = "v4_10")]
18693    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18694    pub fn gtk_snapshot_append_scaled_texture(
18695        snapshot: *mut GtkSnapshot,
18696        texture: *mut gdk::GdkTexture,
18697        filter: gsk::GskScalingFilter,
18698        bounds: *const graphene::graphene_rect_t,
18699    );
18700    #[cfg(feature = "v4_14")]
18701    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18702    pub fn gtk_snapshot_append_stroke(
18703        snapshot: *mut GtkSnapshot,
18704        path: *mut gsk::GskPath,
18705        stroke: *const gsk::GskStroke,
18706        color: *const gdk::GdkRGBA,
18707    );
18708    pub fn gtk_snapshot_append_texture(
18709        snapshot: *mut GtkSnapshot,
18710        texture: *mut gdk::GdkTexture,
18711        bounds: *const graphene::graphene_rect_t,
18712    );
18713    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18714    pub fn gtk_snapshot_free_to_paintable(
18715        snapshot: *mut GtkSnapshot,
18716        size: *const graphene::graphene_size_t,
18717    ) -> *mut gdk::GdkPaintable;
18718    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18719    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18720    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18721    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18722    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18723    pub fn gtk_snapshot_push_clip(
18724        snapshot: *mut GtkSnapshot,
18725        bounds: *const graphene::graphene_rect_t,
18726    );
18727    pub fn gtk_snapshot_push_color_matrix(
18728        snapshot: *mut GtkSnapshot,
18729        color_matrix: *const graphene::graphene_matrix_t,
18730        color_offset: *const graphene::graphene_vec4_t,
18731    );
18732    #[cfg(feature = "v4_20")]
18733    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18734    pub fn gtk_snapshot_push_component_transfer(
18735        snapshot: *mut GtkSnapshot,
18736        red: *const gsk::GskComponentTransfer,
18737        green: *const gsk::GskComponentTransfer,
18738        blue: *const gsk::GskComponentTransfer,
18739        alpha: *const gsk::GskComponentTransfer,
18740    );
18741    #[cfg(feature = "v4_22")]
18742    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18743    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18744    #[cfg(feature = "v4_22")]
18745    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18746    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18747    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18748    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18749    #[cfg(feature = "v4_14")]
18750    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18751    pub fn gtk_snapshot_push_fill(
18752        snapshot: *mut GtkSnapshot,
18753        path: *mut gsk::GskPath,
18754        fill_rule: gsk::GskFillRule,
18755    );
18756    pub fn gtk_snapshot_push_gl_shader(
18757        snapshot: *mut GtkSnapshot,
18758        shader: *mut gsk::GskGLShader,
18759        bounds: *const graphene::graphene_rect_t,
18760        take_args: *mut glib::GBytes,
18761    );
18762    #[cfg(feature = "v4_22")]
18763    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18764    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18765    #[cfg(feature = "v4_10")]
18766    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18767    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18768    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18769    pub fn gtk_snapshot_push_repeat(
18770        snapshot: *mut GtkSnapshot,
18771        bounds: *const graphene::graphene_rect_t,
18772        child_bounds: *const graphene::graphene_rect_t,
18773    );
18774    pub fn gtk_snapshot_push_rounded_clip(
18775        snapshot: *mut GtkSnapshot,
18776        bounds: *const gsk::GskRoundedRect,
18777    );
18778    pub fn gtk_snapshot_push_shadow(
18779        snapshot: *mut GtkSnapshot,
18780        shadow: *const gsk::GskShadow,
18781        n_shadows: size_t,
18782    );
18783    #[cfg(feature = "v4_14")]
18784    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18785    pub fn gtk_snapshot_push_stroke(
18786        snapshot: *mut GtkSnapshot,
18787        path: *mut gsk::GskPath,
18788        stroke: *const gsk::GskStroke,
18789    );
18790    pub fn gtk_snapshot_render_background(
18791        snapshot: *mut GtkSnapshot,
18792        context: *mut GtkStyleContext,
18793        x: c_double,
18794        y: c_double,
18795        width: c_double,
18796        height: c_double,
18797    );
18798    pub fn gtk_snapshot_render_focus(
18799        snapshot: *mut GtkSnapshot,
18800        context: *mut GtkStyleContext,
18801        x: c_double,
18802        y: c_double,
18803        width: c_double,
18804        height: c_double,
18805    );
18806    pub fn gtk_snapshot_render_frame(
18807        snapshot: *mut GtkSnapshot,
18808        context: *mut GtkStyleContext,
18809        x: c_double,
18810        y: c_double,
18811        width: c_double,
18812        height: c_double,
18813    );
18814    pub fn gtk_snapshot_render_insertion_cursor(
18815        snapshot: *mut GtkSnapshot,
18816        context: *mut GtkStyleContext,
18817        x: c_double,
18818        y: c_double,
18819        layout: *mut pango::PangoLayout,
18820        index: c_int,
18821        direction: pango::PangoDirection,
18822    );
18823    pub fn gtk_snapshot_render_layout(
18824        snapshot: *mut GtkSnapshot,
18825        context: *mut GtkStyleContext,
18826        x: c_double,
18827        y: c_double,
18828        layout: *mut pango::PangoLayout,
18829    );
18830    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18831    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18832    pub fn gtk_snapshot_rotate_3d(
18833        snapshot: *mut GtkSnapshot,
18834        angle: c_float,
18835        axis: *const graphene::graphene_vec3_t,
18836    );
18837    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18838    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18839    pub fn gtk_snapshot_scale_3d(
18840        snapshot: *mut GtkSnapshot,
18841        factor_x: c_float,
18842        factor_y: c_float,
18843        factor_z: c_float,
18844    );
18845    #[cfg(feature = "v4_24")]
18846    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18847    pub fn gtk_snapshot_set_snap(self_: *mut GtkSnapshot, snap: gsk::GskRectSnap);
18848    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18849    pub fn gtk_snapshot_to_paintable(
18850        snapshot: *mut GtkSnapshot,
18851        size: *const graphene::graphene_size_t,
18852    ) -> *mut gdk::GdkPaintable;
18853    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18854    pub fn gtk_snapshot_transform_matrix(
18855        snapshot: *mut GtkSnapshot,
18856        matrix: *const graphene::graphene_matrix_t,
18857    );
18858    pub fn gtk_snapshot_translate(
18859        snapshot: *mut GtkSnapshot,
18860        point: *const graphene::graphene_point_t,
18861    );
18862    pub fn gtk_snapshot_translate_3d(
18863        snapshot: *mut GtkSnapshot,
18864        point: *const graphene::graphene_point3d_t,
18865    );
18866
18867    //=========================================================================
18868    // GtkSortListModel
18869    //=========================================================================
18870    pub fn gtk_sort_list_model_get_type() -> GType;
18871    pub fn gtk_sort_list_model_new(
18872        model: *mut gio::GListModel,
18873        sorter: *mut GtkSorter,
18874    ) -> *mut GtkSortListModel;
18875    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18876    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18877    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18878    #[cfg(feature = "v4_12")]
18879    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18880    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18881    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18882    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18883    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18884    #[cfg(feature = "v4_12")]
18885    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18886    pub fn gtk_sort_list_model_set_section_sorter(
18887        self_: *mut GtkSortListModel,
18888        sorter: *mut GtkSorter,
18889    );
18890    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18891
18892    //=========================================================================
18893    // GtkSorter
18894    //=========================================================================
18895    pub fn gtk_sorter_get_type() -> GType;
18896    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18897    pub fn gtk_sorter_compare(
18898        self_: *mut GtkSorter,
18899        item1: *mut gobject::GObject,
18900        item2: *mut gobject::GObject,
18901    ) -> GtkOrdering;
18902    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18903
18904    //=========================================================================
18905    // GtkSpinButton
18906    //=========================================================================
18907    pub fn gtk_spin_button_get_type() -> GType;
18908    pub fn gtk_spin_button_new(
18909        adjustment: *mut GtkAdjustment,
18910        climb_rate: c_double,
18911        digits: c_uint,
18912    ) -> *mut GtkWidget;
18913    pub fn gtk_spin_button_new_with_range(
18914        min: c_double,
18915        max: c_double,
18916        step: c_double,
18917    ) -> *mut GtkWidget;
18918    pub fn gtk_spin_button_configure(
18919        spin_button: *mut GtkSpinButton,
18920        adjustment: *mut GtkAdjustment,
18921        climb_rate: c_double,
18922        digits: c_uint,
18923    );
18924    #[cfg(feature = "v4_14")]
18925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18926    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18927    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18928    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18929    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18930    pub fn gtk_spin_button_get_increments(
18931        spin_button: *mut GtkSpinButton,
18932        step: *mut c_double,
18933        page: *mut c_double,
18934    );
18935    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18936    pub fn gtk_spin_button_get_range(
18937        spin_button: *mut GtkSpinButton,
18938        min: *mut c_double,
18939        max: *mut c_double,
18940    );
18941    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18942    pub fn gtk_spin_button_get_update_policy(
18943        spin_button: *mut GtkSpinButton,
18944    ) -> GtkSpinButtonUpdatePolicy;
18945    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18946    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18947    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18948    #[cfg(feature = "v4_14")]
18949    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18950    pub fn gtk_spin_button_set_activates_default(
18951        spin_button: *mut GtkSpinButton,
18952        activates_default: gboolean,
18953    );
18954    pub fn gtk_spin_button_set_adjustment(
18955        spin_button: *mut GtkSpinButton,
18956        adjustment: *mut GtkAdjustment,
18957    );
18958    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18959    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18960    pub fn gtk_spin_button_set_increments(
18961        spin_button: *mut GtkSpinButton,
18962        step: c_double,
18963        page: c_double,
18964    );
18965    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18966    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18967    pub fn gtk_spin_button_set_snap_to_ticks(
18968        spin_button: *mut GtkSpinButton,
18969        snap_to_ticks: gboolean,
18970    );
18971    pub fn gtk_spin_button_set_update_policy(
18972        spin_button: *mut GtkSpinButton,
18973        policy: GtkSpinButtonUpdatePolicy,
18974    );
18975    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18976    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18977    pub fn gtk_spin_button_spin(
18978        spin_button: *mut GtkSpinButton,
18979        direction: GtkSpinType,
18980        increment: c_double,
18981    );
18982    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18983
18984    //=========================================================================
18985    // GtkSpinner
18986    //=========================================================================
18987    pub fn gtk_spinner_get_type() -> GType;
18988    pub fn gtk_spinner_new() -> *mut GtkWidget;
18989    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18990    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18991    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18992    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18993
18994    //=========================================================================
18995    // GtkStack
18996    //=========================================================================
18997    pub fn gtk_stack_get_type() -> GType;
18998    pub fn gtk_stack_new() -> *mut GtkWidget;
18999    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19000    pub fn gtk_stack_add_named(
19001        stack: *mut GtkStack,
19002        child: *mut GtkWidget,
19003        name: *const c_char,
19004    ) -> *mut GtkStackPage;
19005    pub fn gtk_stack_add_titled(
19006        stack: *mut GtkStack,
19007        child: *mut GtkWidget,
19008        name: *const c_char,
19009        title: *const c_char,
19010    ) -> *mut GtkStackPage;
19011    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
19012    -> *mut GtkWidget;
19013    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
19014    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
19015    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19016    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
19017    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
19018    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
19019    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
19020    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
19021    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
19022    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
19023    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
19024    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
19025    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
19026    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
19027    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
19028    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
19029    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
19030    pub fn gtk_stack_set_visible_child_full(
19031        stack: *mut GtkStack,
19032        name: *const c_char,
19033        transition: GtkStackTransitionType,
19034    );
19035    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
19036
19037    //=========================================================================
19038    // GtkStackPage
19039    //=========================================================================
19040    pub fn gtk_stack_page_get_type() -> GType;
19041    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
19042    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
19043    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
19044    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
19045    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
19046    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
19047    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
19048    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
19049    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
19050    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
19051    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
19052    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
19053    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
19054
19055    //=========================================================================
19056    // GtkStackSidebar
19057    //=========================================================================
19058    pub fn gtk_stack_sidebar_get_type() -> GType;
19059    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
19060    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
19061    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
19062
19063    //=========================================================================
19064    // GtkStackSwitcher
19065    //=========================================================================
19066    pub fn gtk_stack_switcher_get_type() -> GType;
19067    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
19068    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
19069    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
19070
19071    //=========================================================================
19072    // GtkStatusbar
19073    //=========================================================================
19074    pub fn gtk_statusbar_get_type() -> GType;
19075    pub fn gtk_statusbar_new() -> *mut GtkWidget;
19076    pub fn gtk_statusbar_get_context_id(
19077        statusbar: *mut GtkStatusbar,
19078        context_description: *const c_char,
19079    ) -> c_uint;
19080    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
19081    pub fn gtk_statusbar_push(
19082        statusbar: *mut GtkStatusbar,
19083        context_id: c_uint,
19084        text: *const c_char,
19085    ) -> c_uint;
19086    pub fn gtk_statusbar_remove(
19087        statusbar: *mut GtkStatusbar,
19088        context_id: c_uint,
19089        message_id: c_uint,
19090    );
19091    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
19092
19093    //=========================================================================
19094    // GtkStringFilter
19095    //=========================================================================
19096    pub fn gtk_string_filter_get_type() -> GType;
19097    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
19098    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
19099    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
19100    pub fn gtk_string_filter_get_match_mode(
19101        self_: *mut GtkStringFilter,
19102    ) -> GtkStringFilterMatchMode;
19103    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
19104    pub fn gtk_string_filter_set_expression(
19105        self_: *mut GtkStringFilter,
19106        expression: *mut GtkExpression,
19107    );
19108    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
19109    pub fn gtk_string_filter_set_match_mode(
19110        self_: *mut GtkStringFilter,
19111        mode: GtkStringFilterMatchMode,
19112    );
19113    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
19114
19115    //=========================================================================
19116    // GtkStringList
19117    //=========================================================================
19118    pub fn gtk_string_list_get_type() -> GType;
19119    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
19120    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
19121    #[cfg(feature = "v4_18")]
19122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19123    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
19124    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
19125    -> *const c_char;
19126    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
19127    pub fn gtk_string_list_splice(
19128        self_: *mut GtkStringList,
19129        position: c_uint,
19130        n_removals: c_uint,
19131        additions: *const *const c_char,
19132    );
19133    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19134
19135    //=========================================================================
19136    // GtkStringObject
19137    //=========================================================================
19138    pub fn gtk_string_object_get_type() -> GType;
19139    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19140    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19141
19142    //=========================================================================
19143    // GtkStringSorter
19144    //=========================================================================
19145    pub fn gtk_string_sorter_get_type() -> GType;
19146    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19147    #[cfg(feature = "v4_10")]
19148    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19149    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19150    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19151    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19152    #[cfg(feature = "v4_10")]
19153    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19154    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19155    pub fn gtk_string_sorter_set_expression(
19156        self_: *mut GtkStringSorter,
19157        expression: *mut GtkExpression,
19158    );
19159    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19160
19161    //=========================================================================
19162    // GtkStyleContext
19163    //=========================================================================
19164    pub fn gtk_style_context_get_type() -> GType;
19165    pub fn gtk_style_context_add_provider_for_display(
19166        display: *mut gdk::GdkDisplay,
19167        provider: *mut GtkStyleProvider,
19168        priority: c_uint,
19169    );
19170    pub fn gtk_style_context_remove_provider_for_display(
19171        display: *mut gdk::GdkDisplay,
19172        provider: *mut GtkStyleProvider,
19173    );
19174    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19175    pub fn gtk_style_context_add_provider(
19176        context: *mut GtkStyleContext,
19177        provider: *mut GtkStyleProvider,
19178        priority: c_uint,
19179    );
19180    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19181    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19182    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19183    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19184    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19185    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19186    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19187    pub fn gtk_style_context_has_class(
19188        context: *mut GtkStyleContext,
19189        class_name: *const c_char,
19190    ) -> gboolean;
19191    pub fn gtk_style_context_lookup_color(
19192        context: *mut GtkStyleContext,
19193        color_name: *const c_char,
19194        color: *mut gdk::GdkRGBA,
19195    ) -> gboolean;
19196    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19197    pub fn gtk_style_context_remove_provider(
19198        context: *mut GtkStyleContext,
19199        provider: *mut GtkStyleProvider,
19200    );
19201    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19202    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19203    pub fn gtk_style_context_set_display(
19204        context: *mut GtkStyleContext,
19205        display: *mut gdk::GdkDisplay,
19206    );
19207    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19208    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19209    pub fn gtk_style_context_to_string(
19210        context: *mut GtkStyleContext,
19211        flags: GtkStyleContextPrintFlags,
19212    ) -> *mut c_char;
19213
19214    //=========================================================================
19215    // GtkSvg
19216    //=========================================================================
19217    #[cfg(feature = "v4_22")]
19218    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19219    pub fn gtk_svg_get_type() -> GType;
19220    #[cfg(feature = "v4_22")]
19221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19222    pub fn gtk_svg_new() -> *mut GtkSvg;
19223    #[cfg(feature = "v4_22")]
19224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19225    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19226    #[cfg(feature = "v4_22")]
19227    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19228    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19229    #[cfg(feature = "v4_22")]
19230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19231    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19232    #[cfg(feature = "v4_24")]
19233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19234    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19235    #[cfg(feature = "v4_22")]
19236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19237    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19238    #[cfg(feature = "v4_22")]
19239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19240    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19241    #[cfg(feature = "v4_24")]
19242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19243    pub fn gtk_svg_get_stylesheet(self_: *mut GtkSvg) -> *mut glib::GBytes;
19244    #[cfg(feature = "v4_22")]
19245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19246    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19247    #[cfg(feature = "v4_22")]
19248    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19249    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19250    #[cfg(feature = "v4_22")]
19251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19252    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19253    #[cfg(feature = "v4_22")]
19254    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19255    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19256    #[cfg(feature = "v4_22")]
19257    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19258    pub fn gtk_svg_play(self_: *mut GtkSvg);
19259    #[cfg(feature = "v4_22")]
19260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19261    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19262    #[cfg(feature = "v4_22")]
19263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19264    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19265    #[cfg(feature = "v4_22")]
19266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19267    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19268    #[cfg(feature = "v4_24")]
19269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19270    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19271    #[cfg(feature = "v4_24")]
19272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19273    pub fn gtk_svg_set_settings(self_: *mut GtkSvg, settings: *mut GtkSettings);
19274    #[cfg(feature = "v4_22")]
19275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19276    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19277    #[cfg(feature = "v4_24")]
19278    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19279    pub fn gtk_svg_set_stylesheet(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19280    #[cfg(feature = "v4_22")]
19281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19282    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19283    #[cfg(feature = "v4_22")]
19284    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19285    pub fn gtk_svg_write_to_file(
19286        self_: *mut GtkSvg,
19287        filename: *const c_char,
19288        error: *mut *mut glib::GError,
19289    ) -> gboolean;
19290
19291    //=========================================================================
19292    // GtkSvgWidget
19293    //=========================================================================
19294    #[cfg(feature = "v4_24")]
19295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19296    pub fn gtk_svg_widget_get_type() -> GType;
19297    #[cfg(feature = "v4_24")]
19298    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19299    pub fn gtk_svg_widget_new() -> *mut GtkSvgWidget;
19300    #[cfg(feature = "v4_24")]
19301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19302    pub fn gtk_svg_widget_get_state(self_: *mut GtkSvgWidget) -> c_uint;
19303    #[cfg(feature = "v4_24")]
19304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19305    pub fn gtk_svg_widget_get_stylesheet(self_: *mut GtkSvgWidget) -> *mut glib::GBytes;
19306    #[cfg(feature = "v4_24")]
19307    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19308    pub fn gtk_svg_widget_load_from_bytes(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19309    #[cfg(feature = "v4_24")]
19310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19311    pub fn gtk_svg_widget_set_state(self_: *mut GtkSvgWidget, state: c_uint);
19312    #[cfg(feature = "v4_24")]
19313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19314    pub fn gtk_svg_widget_set_stylesheet(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19315
19316    //=========================================================================
19317    // GtkSwitch
19318    //=========================================================================
19319    pub fn gtk_switch_get_type() -> GType;
19320    pub fn gtk_switch_new() -> *mut GtkWidget;
19321    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19322    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19323    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19324    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19325
19326    //=========================================================================
19327    // GtkText
19328    //=========================================================================
19329    pub fn gtk_text_get_type() -> GType;
19330    pub fn gtk_text_new() -> *mut GtkWidget;
19331    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19332    #[cfg(feature = "v4_4")]
19333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19334    pub fn gtk_text_compute_cursor_extents(
19335        self_: *mut GtkText,
19336        position: size_t,
19337        strong: *mut graphene::graphene_rect_t,
19338        weak: *mut graphene::graphene_rect_t,
19339    );
19340    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19341    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19342    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19343    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19344    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19345    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19346    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19347    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19348    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19349    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19350    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19351    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19352    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19353    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19354    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19355    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19356    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19357    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19358    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19359    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19360    pub fn gtk_text_set_enable_emoji_completion(
19361        self_: *mut GtkText,
19362        enable_emoji_completion: gboolean,
19363    );
19364    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19365    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19366    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19367    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19368    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19369    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19370    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19371    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19372    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19373    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19374    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19375    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19376
19377    //=========================================================================
19378    // GtkTextBuffer
19379    //=========================================================================
19380    pub fn gtk_text_buffer_get_type() -> GType;
19381    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19382    #[cfg(feature = "v4_16")]
19383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19384    pub fn gtk_text_buffer_add_commit_notify(
19385        buffer: *mut GtkTextBuffer,
19386        flags: GtkTextBufferNotifyFlags,
19387        commit_notify: GtkTextBufferCommitNotify,
19388        user_data: gpointer,
19389        destroy: glib::GDestroyNotify,
19390    ) -> c_uint;
19391    pub fn gtk_text_buffer_add_mark(
19392        buffer: *mut GtkTextBuffer,
19393        mark: *mut GtkTextMark,
19394        where_: *const GtkTextIter,
19395    );
19396    pub fn gtk_text_buffer_add_selection_clipboard(
19397        buffer: *mut GtkTextBuffer,
19398        clipboard: *mut gdk::GdkClipboard,
19399    );
19400    pub fn gtk_text_buffer_apply_tag(
19401        buffer: *mut GtkTextBuffer,
19402        tag: *mut GtkTextTag,
19403        start: *const GtkTextIter,
19404        end: *const GtkTextIter,
19405    );
19406    pub fn gtk_text_buffer_apply_tag_by_name(
19407        buffer: *mut GtkTextBuffer,
19408        name: *const c_char,
19409        start: *const GtkTextIter,
19410        end: *const GtkTextIter,
19411    );
19412    pub fn gtk_text_buffer_backspace(
19413        buffer: *mut GtkTextBuffer,
19414        iter: *mut GtkTextIter,
19415        interactive: gboolean,
19416        default_editable: gboolean,
19417    ) -> gboolean;
19418    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19419    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19420    pub fn gtk_text_buffer_copy_clipboard(
19421        buffer: *mut GtkTextBuffer,
19422        clipboard: *mut gdk::GdkClipboard,
19423    );
19424    pub fn gtk_text_buffer_create_child_anchor(
19425        buffer: *mut GtkTextBuffer,
19426        iter: *mut GtkTextIter,
19427    ) -> *mut GtkTextChildAnchor;
19428    pub fn gtk_text_buffer_create_mark(
19429        buffer: *mut GtkTextBuffer,
19430        mark_name: *const c_char,
19431        where_: *const GtkTextIter,
19432        left_gravity: gboolean,
19433    ) -> *mut GtkTextMark;
19434    pub fn gtk_text_buffer_create_tag(
19435        buffer: *mut GtkTextBuffer,
19436        tag_name: *const c_char,
19437        first_property_name: *const c_char,
19438        ...
19439    ) -> *mut GtkTextTag;
19440    pub fn gtk_text_buffer_cut_clipboard(
19441        buffer: *mut GtkTextBuffer,
19442        clipboard: *mut gdk::GdkClipboard,
19443        default_editable: gboolean,
19444    );
19445    pub fn gtk_text_buffer_delete(
19446        buffer: *mut GtkTextBuffer,
19447        start: *mut GtkTextIter,
19448        end: *mut GtkTextIter,
19449    );
19450    pub fn gtk_text_buffer_delete_interactive(
19451        buffer: *mut GtkTextBuffer,
19452        start_iter: *mut GtkTextIter,
19453        end_iter: *mut GtkTextIter,
19454        default_editable: gboolean,
19455    ) -> gboolean;
19456    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19457    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19458    pub fn gtk_text_buffer_delete_selection(
19459        buffer: *mut GtkTextBuffer,
19460        interactive: gboolean,
19461        default_editable: gboolean,
19462    ) -> gboolean;
19463    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19464    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19465    pub fn gtk_text_buffer_get_bounds(
19466        buffer: *mut GtkTextBuffer,
19467        start: *mut GtkTextIter,
19468        end: *mut GtkTextIter,
19469    );
19470    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19471    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19472    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19473    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19474    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19475    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19476    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19477    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19478        buffer: *mut GtkTextBuffer,
19479        iter: *mut GtkTextIter,
19480        anchor: *mut GtkTextChildAnchor,
19481    );
19482    pub fn gtk_text_buffer_get_iter_at_line(
19483        buffer: *mut GtkTextBuffer,
19484        iter: *mut GtkTextIter,
19485        line_number: c_int,
19486    ) -> gboolean;
19487    pub fn gtk_text_buffer_get_iter_at_line_index(
19488        buffer: *mut GtkTextBuffer,
19489        iter: *mut GtkTextIter,
19490        line_number: c_int,
19491        byte_index: c_int,
19492    ) -> gboolean;
19493    pub fn gtk_text_buffer_get_iter_at_line_offset(
19494        buffer: *mut GtkTextBuffer,
19495        iter: *mut GtkTextIter,
19496        line_number: c_int,
19497        char_offset: c_int,
19498    ) -> gboolean;
19499    pub fn gtk_text_buffer_get_iter_at_mark(
19500        buffer: *mut GtkTextBuffer,
19501        iter: *mut GtkTextIter,
19502        mark: *mut GtkTextMark,
19503    );
19504    pub fn gtk_text_buffer_get_iter_at_offset(
19505        buffer: *mut GtkTextBuffer,
19506        iter: *mut GtkTextIter,
19507        char_offset: c_int,
19508    );
19509    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19510    pub fn gtk_text_buffer_get_mark(
19511        buffer: *mut GtkTextBuffer,
19512        name: *const c_char,
19513    ) -> *mut GtkTextMark;
19514    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19515    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19516    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19517    pub fn gtk_text_buffer_get_selection_bounds(
19518        buffer: *mut GtkTextBuffer,
19519        start: *mut GtkTextIter,
19520        end: *mut GtkTextIter,
19521    ) -> gboolean;
19522    pub fn gtk_text_buffer_get_selection_content(
19523        buffer: *mut GtkTextBuffer,
19524    ) -> *mut gdk::GdkContentProvider;
19525    pub fn gtk_text_buffer_get_slice(
19526        buffer: *mut GtkTextBuffer,
19527        start: *const GtkTextIter,
19528        end: *const GtkTextIter,
19529        include_hidden_chars: gboolean,
19530    ) -> *mut c_char;
19531    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19532    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19533    pub fn gtk_text_buffer_get_text(
19534        buffer: *mut GtkTextBuffer,
19535        start: *const GtkTextIter,
19536        end: *const GtkTextIter,
19537        include_hidden_chars: gboolean,
19538    ) -> *mut c_char;
19539    pub fn gtk_text_buffer_insert(
19540        buffer: *mut GtkTextBuffer,
19541        iter: *mut GtkTextIter,
19542        text: *const c_char,
19543        len: c_int,
19544    );
19545    pub fn gtk_text_buffer_insert_at_cursor(
19546        buffer: *mut GtkTextBuffer,
19547        text: *const c_char,
19548        len: c_int,
19549    );
19550    pub fn gtk_text_buffer_insert_child_anchor(
19551        buffer: *mut GtkTextBuffer,
19552        iter: *mut GtkTextIter,
19553        anchor: *mut GtkTextChildAnchor,
19554    );
19555    pub fn gtk_text_buffer_insert_interactive(
19556        buffer: *mut GtkTextBuffer,
19557        iter: *mut GtkTextIter,
19558        text: *const c_char,
19559        len: c_int,
19560        default_editable: gboolean,
19561    ) -> gboolean;
19562    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19563        buffer: *mut GtkTextBuffer,
19564        text: *const c_char,
19565        len: c_int,
19566        default_editable: gboolean,
19567    ) -> gboolean;
19568    pub fn gtk_text_buffer_insert_markup(
19569        buffer: *mut GtkTextBuffer,
19570        iter: *mut GtkTextIter,
19571        markup: *const c_char,
19572        len: c_int,
19573    );
19574    pub fn gtk_text_buffer_insert_paintable(
19575        buffer: *mut GtkTextBuffer,
19576        iter: *mut GtkTextIter,
19577        paintable: *mut gdk::GdkPaintable,
19578    );
19579    pub fn gtk_text_buffer_insert_range(
19580        buffer: *mut GtkTextBuffer,
19581        iter: *mut GtkTextIter,
19582        start: *const GtkTextIter,
19583        end: *const GtkTextIter,
19584    );
19585    pub fn gtk_text_buffer_insert_range_interactive(
19586        buffer: *mut GtkTextBuffer,
19587        iter: *mut GtkTextIter,
19588        start: *const GtkTextIter,
19589        end: *const GtkTextIter,
19590        default_editable: gboolean,
19591    ) -> gboolean;
19592    pub fn gtk_text_buffer_insert_with_tags(
19593        buffer: *mut GtkTextBuffer,
19594        iter: *mut GtkTextIter,
19595        text: *const c_char,
19596        len: c_int,
19597        first_tag: *mut GtkTextTag,
19598        ...
19599    );
19600    pub fn gtk_text_buffer_insert_with_tags_by_name(
19601        buffer: *mut GtkTextBuffer,
19602        iter: *mut GtkTextIter,
19603        text: *const c_char,
19604        len: c_int,
19605        first_tag_name: *const c_char,
19606        ...
19607    );
19608    pub fn gtk_text_buffer_move_mark(
19609        buffer: *mut GtkTextBuffer,
19610        mark: *mut GtkTextMark,
19611        where_: *const GtkTextIter,
19612    );
19613    pub fn gtk_text_buffer_move_mark_by_name(
19614        buffer: *mut GtkTextBuffer,
19615        name: *const c_char,
19616        where_: *const GtkTextIter,
19617    );
19618    pub fn gtk_text_buffer_paste_clipboard(
19619        buffer: *mut GtkTextBuffer,
19620        clipboard: *mut gdk::GdkClipboard,
19621        override_location: *mut GtkTextIter,
19622        default_editable: gboolean,
19623    );
19624    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19625    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19626    pub fn gtk_text_buffer_remove_all_tags(
19627        buffer: *mut GtkTextBuffer,
19628        start: *const GtkTextIter,
19629        end: *const GtkTextIter,
19630    );
19631    #[cfg(feature = "v4_16")]
19632    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19633    pub fn gtk_text_buffer_remove_commit_notify(
19634        buffer: *mut GtkTextBuffer,
19635        commit_notify_handler: c_uint,
19636    );
19637    pub fn gtk_text_buffer_remove_selection_clipboard(
19638        buffer: *mut GtkTextBuffer,
19639        clipboard: *mut gdk::GdkClipboard,
19640    );
19641    pub fn gtk_text_buffer_remove_tag(
19642        buffer: *mut GtkTextBuffer,
19643        tag: *mut GtkTextTag,
19644        start: *const GtkTextIter,
19645        end: *const GtkTextIter,
19646    );
19647    pub fn gtk_text_buffer_remove_tag_by_name(
19648        buffer: *mut GtkTextBuffer,
19649        name: *const c_char,
19650        start: *const GtkTextIter,
19651        end: *const GtkTextIter,
19652    );
19653    pub fn gtk_text_buffer_select_range(
19654        buffer: *mut GtkTextBuffer,
19655        ins: *const GtkTextIter,
19656        bound: *const GtkTextIter,
19657    );
19658    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19659    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19660    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19661    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19662    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19663
19664    //=========================================================================
19665    // GtkTextChildAnchor
19666    //=========================================================================
19667    pub fn gtk_text_child_anchor_get_type() -> GType;
19668    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19669    #[cfg(feature = "v4_6")]
19670    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19671    pub fn gtk_text_child_anchor_new_with_replacement(
19672        character: *const c_char,
19673    ) -> *mut GtkTextChildAnchor;
19674    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19675    pub fn gtk_text_child_anchor_get_widgets(
19676        anchor: *mut GtkTextChildAnchor,
19677        out_len: *mut c_uint,
19678    ) -> *mut *mut GtkWidget;
19679
19680    //=========================================================================
19681    // GtkTextMark
19682    //=========================================================================
19683    pub fn gtk_text_mark_get_type() -> GType;
19684    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19685    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19686    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19687    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19688    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19689    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19690    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19691
19692    //=========================================================================
19693    // GtkTextTag
19694    //=========================================================================
19695    pub fn gtk_text_tag_get_type() -> GType;
19696    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19697    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19698    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19699    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19700
19701    //=========================================================================
19702    // GtkTextTagTable
19703    //=========================================================================
19704    pub fn gtk_text_tag_table_get_type() -> GType;
19705    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19706    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19707    pub fn gtk_text_tag_table_foreach(
19708        table: *mut GtkTextTagTable,
19709        func: GtkTextTagTableForeach,
19710        data: gpointer,
19711    );
19712    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19713    pub fn gtk_text_tag_table_lookup(
19714        table: *mut GtkTextTagTable,
19715        name: *const c_char,
19716    ) -> *mut GtkTextTag;
19717    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19718
19719    //=========================================================================
19720    // GtkTextView
19721    //=========================================================================
19722    pub fn gtk_text_view_get_type() -> GType;
19723    pub fn gtk_text_view_new() -> *mut GtkWidget;
19724    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19725    pub fn gtk_text_view_add_child_at_anchor(
19726        text_view: *mut GtkTextView,
19727        child: *mut GtkWidget,
19728        anchor: *mut GtkTextChildAnchor,
19729    );
19730    pub fn gtk_text_view_add_overlay(
19731        text_view: *mut GtkTextView,
19732        child: *mut GtkWidget,
19733        xpos: c_int,
19734        ypos: c_int,
19735    );
19736    pub fn gtk_text_view_backward_display_line(
19737        text_view: *mut GtkTextView,
19738        iter: *mut GtkTextIter,
19739    ) -> gboolean;
19740    pub fn gtk_text_view_backward_display_line_start(
19741        text_view: *mut GtkTextView,
19742        iter: *mut GtkTextIter,
19743    ) -> gboolean;
19744    pub fn gtk_text_view_buffer_to_window_coords(
19745        text_view: *mut GtkTextView,
19746        win: GtkTextWindowType,
19747        buffer_x: c_int,
19748        buffer_y: c_int,
19749        window_x: *mut c_int,
19750        window_y: *mut c_int,
19751    );
19752    pub fn gtk_text_view_forward_display_line(
19753        text_view: *mut GtkTextView,
19754        iter: *mut GtkTextIter,
19755    ) -> gboolean;
19756    pub fn gtk_text_view_forward_display_line_end(
19757        text_view: *mut GtkTextView,
19758        iter: *mut GtkTextIter,
19759    ) -> gboolean;
19760    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19761    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19762    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19763    pub fn gtk_text_view_get_cursor_locations(
19764        text_view: *mut GtkTextView,
19765        iter: *const GtkTextIter,
19766        strong: *mut gdk::GdkRectangle,
19767        weak: *mut gdk::GdkRectangle,
19768    );
19769    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19770    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19771    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19772    pub fn gtk_text_view_get_gutter(
19773        text_view: *mut GtkTextView,
19774        win: GtkTextWindowType,
19775    ) -> *mut GtkWidget;
19776    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19777    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19778    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19779    pub fn gtk_text_view_get_iter_at_location(
19780        text_view: *mut GtkTextView,
19781        iter: *mut GtkTextIter,
19782        x: c_int,
19783        y: c_int,
19784    ) -> gboolean;
19785    pub fn gtk_text_view_get_iter_at_position(
19786        text_view: *mut GtkTextView,
19787        iter: *mut GtkTextIter,
19788        trailing: *mut c_int,
19789        x: c_int,
19790        y: c_int,
19791    ) -> gboolean;
19792    pub fn gtk_text_view_get_iter_location(
19793        text_view: *mut GtkTextView,
19794        iter: *const GtkTextIter,
19795        location: *mut gdk::GdkRectangle,
19796    );
19797    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19798    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19799    pub fn gtk_text_view_get_line_at_y(
19800        text_view: *mut GtkTextView,
19801        target_iter: *mut GtkTextIter,
19802        y: c_int,
19803        line_top: *mut c_int,
19804    );
19805    pub fn gtk_text_view_get_line_yrange(
19806        text_view: *mut GtkTextView,
19807        iter: *const GtkTextIter,
19808        y: *mut c_int,
19809        height: *mut c_int,
19810    );
19811    #[cfg(feature = "v4_4")]
19812    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19813    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19814    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19815    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19816    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19817    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19818    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19819    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19820    #[cfg(feature = "v4_4")]
19821    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19822    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19823    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19824    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19825    #[cfg(feature = "v4_18")]
19826    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19827    pub fn gtk_text_view_get_visible_offset(
19828        text_view: *mut GtkTextView,
19829        x_offset: *mut c_double,
19830        y_offset: *mut c_double,
19831    );
19832    pub fn gtk_text_view_get_visible_rect(
19833        text_view: *mut GtkTextView,
19834        visible_rect: *mut gdk::GdkRectangle,
19835    );
19836    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19837    pub fn gtk_text_view_im_context_filter_keypress(
19838        text_view: *mut GtkTextView,
19839        event: *mut gdk::GdkEvent,
19840    ) -> gboolean;
19841    pub fn gtk_text_view_move_mark_onscreen(
19842        text_view: *mut GtkTextView,
19843        mark: *mut GtkTextMark,
19844    ) -> gboolean;
19845    pub fn gtk_text_view_move_overlay(
19846        text_view: *mut GtkTextView,
19847        child: *mut GtkWidget,
19848        xpos: c_int,
19849        ypos: c_int,
19850    );
19851    pub fn gtk_text_view_move_visually(
19852        text_view: *mut GtkTextView,
19853        iter: *mut GtkTextIter,
19854        count: c_int,
19855    ) -> gboolean;
19856    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19857    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19858    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19859    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19860    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19861    pub fn gtk_text_view_scroll_to_iter(
19862        text_view: *mut GtkTextView,
19863        iter: *mut GtkTextIter,
19864        within_margin: c_double,
19865        use_align: gboolean,
19866        xalign: c_double,
19867        yalign: c_double,
19868    ) -> gboolean;
19869    pub fn gtk_text_view_scroll_to_mark(
19870        text_view: *mut GtkTextView,
19871        mark: *mut GtkTextMark,
19872        within_margin: c_double,
19873        use_align: gboolean,
19874        xalign: c_double,
19875        yalign: c_double,
19876    );
19877    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19878    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19879    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19880    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19881    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19882    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19883    pub fn gtk_text_view_set_gutter(
19884        text_view: *mut GtkTextView,
19885        win: GtkTextWindowType,
19886        widget: *mut GtkWidget,
19887    );
19888    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19889    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19890    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19891    pub fn gtk_text_view_set_justification(
19892        text_view: *mut GtkTextView,
19893        justification: GtkJustification,
19894    );
19895    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19896    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19897    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19898    pub fn gtk_text_view_set_pixels_above_lines(
19899        text_view: *mut GtkTextView,
19900        pixels_above_lines: c_int,
19901    );
19902    pub fn gtk_text_view_set_pixels_below_lines(
19903        text_view: *mut GtkTextView,
19904        pixels_below_lines: c_int,
19905    );
19906    pub fn gtk_text_view_set_pixels_inside_wrap(
19907        text_view: *mut GtkTextView,
19908        pixels_inside_wrap: c_int,
19909    );
19910    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19911    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19912    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19913    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19914    pub fn gtk_text_view_starts_display_line(
19915        text_view: *mut GtkTextView,
19916        iter: *const GtkTextIter,
19917    ) -> gboolean;
19918    pub fn gtk_text_view_window_to_buffer_coords(
19919        text_view: *mut GtkTextView,
19920        win: GtkTextWindowType,
19921        window_x: c_int,
19922        window_y: c_int,
19923        buffer_x: *mut c_int,
19924        buffer_y: *mut c_int,
19925    );
19926
19927    //=========================================================================
19928    // GtkToggleButton
19929    //=========================================================================
19930    pub fn gtk_toggle_button_get_type() -> GType;
19931    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19932    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19933    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19934    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19935    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19936    pub fn gtk_toggle_button_set_group(
19937        toggle_button: *mut GtkToggleButton,
19938        group: *mut GtkToggleButton,
19939    );
19940    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19941
19942    //=========================================================================
19943    // GtkTooltip
19944    //=========================================================================
19945    pub fn gtk_tooltip_get_type() -> GType;
19946    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19947    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19948    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19949    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19950    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19951    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19952    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19953
19954    //=========================================================================
19955    // GtkTreeExpander
19956    //=========================================================================
19957    pub fn gtk_tree_expander_get_type() -> GType;
19958    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19959    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19960    #[cfg(feature = "v4_10")]
19961    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19962    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19963    #[cfg(feature = "v4_10")]
19964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19965    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19966    #[cfg(feature = "v4_6")]
19967    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19968    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19969    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19970    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19971    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19972    #[cfg(feature = "v4_10")]
19973    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19974    pub fn gtk_tree_expander_set_hide_expander(
19975        self_: *mut GtkTreeExpander,
19976        hide_expander: gboolean,
19977    );
19978    #[cfg(feature = "v4_10")]
19979    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19980    pub fn gtk_tree_expander_set_indent_for_depth(
19981        self_: *mut GtkTreeExpander,
19982        indent_for_depth: gboolean,
19983    );
19984    #[cfg(feature = "v4_6")]
19985    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19986    pub fn gtk_tree_expander_set_indent_for_icon(
19987        self_: *mut GtkTreeExpander,
19988        indent_for_icon: gboolean,
19989    );
19990    pub fn gtk_tree_expander_set_list_row(
19991        self_: *mut GtkTreeExpander,
19992        list_row: *mut GtkTreeListRow,
19993    );
19994
19995    //=========================================================================
19996    // GtkTreeListModel
19997    //=========================================================================
19998    pub fn gtk_tree_list_model_get_type() -> GType;
19999    pub fn gtk_tree_list_model_new(
20000        root: *mut gio::GListModel,
20001        passthrough: gboolean,
20002        autoexpand: gboolean,
20003        create_func: GtkTreeListModelCreateModelFunc,
20004        user_data: gpointer,
20005        user_destroy: glib::GDestroyNotify,
20006    ) -> *mut GtkTreeListModel;
20007    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
20008    pub fn gtk_tree_list_model_get_child_row(
20009        self_: *mut GtkTreeListModel,
20010        position: c_uint,
20011    ) -> *mut GtkTreeListRow;
20012    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
20013    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
20014    pub fn gtk_tree_list_model_get_row(
20015        self_: *mut GtkTreeListModel,
20016        position: c_uint,
20017    ) -> *mut GtkTreeListRow;
20018    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
20019
20020    //=========================================================================
20021    // GtkTreeListRow
20022    //=========================================================================
20023    pub fn gtk_tree_list_row_get_type() -> GType;
20024    pub fn gtk_tree_list_row_get_child_row(
20025        self_: *mut GtkTreeListRow,
20026        position: c_uint,
20027    ) -> *mut GtkTreeListRow;
20028    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
20029    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
20030    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
20031    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
20032    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
20033    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
20034    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
20035    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
20036
20037    //=========================================================================
20038    // GtkTreeListRowSorter
20039    //=========================================================================
20040    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
20041    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
20042    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
20043    pub fn gtk_tree_list_row_sorter_set_sorter(
20044        self_: *mut GtkTreeListRowSorter,
20045        sorter: *mut GtkSorter,
20046    );
20047
20048    //=========================================================================
20049    // GtkTreeModelFilter
20050    //=========================================================================
20051    pub fn gtk_tree_model_filter_get_type() -> GType;
20052    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
20053    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
20054        filter: *mut GtkTreeModelFilter,
20055        filter_iter: *mut GtkTreeIter,
20056        child_iter: *mut GtkTreeIter,
20057    ) -> gboolean;
20058    pub fn gtk_tree_model_filter_convert_child_path_to_path(
20059        filter: *mut GtkTreeModelFilter,
20060        child_path: *mut GtkTreePath,
20061    ) -> *mut GtkTreePath;
20062    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
20063        filter: *mut GtkTreeModelFilter,
20064        child_iter: *mut GtkTreeIter,
20065        filter_iter: *mut GtkTreeIter,
20066    );
20067    pub fn gtk_tree_model_filter_convert_path_to_child_path(
20068        filter: *mut GtkTreeModelFilter,
20069        filter_path: *mut GtkTreePath,
20070    ) -> *mut GtkTreePath;
20071    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
20072    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
20073    pub fn gtk_tree_model_filter_set_modify_func(
20074        filter: *mut GtkTreeModelFilter,
20075        n_columns: c_int,
20076        types: *mut GType,
20077        func: GtkTreeModelFilterModifyFunc,
20078        data: gpointer,
20079        destroy: glib::GDestroyNotify,
20080    );
20081    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
20082    pub fn gtk_tree_model_filter_set_visible_func(
20083        filter: *mut GtkTreeModelFilter,
20084        func: GtkTreeModelFilterVisibleFunc,
20085        data: gpointer,
20086        destroy: glib::GDestroyNotify,
20087    );
20088
20089    //=========================================================================
20090    // GtkTreeModelSort
20091    //=========================================================================
20092    pub fn gtk_tree_model_sort_get_type() -> GType;
20093    pub fn gtk_tree_model_sort_new_with_model(
20094        child_model: *mut GtkTreeModel,
20095    ) -> *mut GtkTreeModelSort;
20096    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
20097    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
20098        tree_model_sort: *mut GtkTreeModelSort,
20099        sort_iter: *mut GtkTreeIter,
20100        child_iter: *mut GtkTreeIter,
20101    ) -> gboolean;
20102    pub fn gtk_tree_model_sort_convert_child_path_to_path(
20103        tree_model_sort: *mut GtkTreeModelSort,
20104        child_path: *mut GtkTreePath,
20105    ) -> *mut GtkTreePath;
20106    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
20107        tree_model_sort: *mut GtkTreeModelSort,
20108        child_iter: *mut GtkTreeIter,
20109        sorted_iter: *mut GtkTreeIter,
20110    );
20111    pub fn gtk_tree_model_sort_convert_path_to_child_path(
20112        tree_model_sort: *mut GtkTreeModelSort,
20113        sorted_path: *mut GtkTreePath,
20114    ) -> *mut GtkTreePath;
20115    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
20116    pub fn gtk_tree_model_sort_iter_is_valid(
20117        tree_model_sort: *mut GtkTreeModelSort,
20118        iter: *mut GtkTreeIter,
20119    ) -> gboolean;
20120    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
20121
20122    //=========================================================================
20123    // GtkTreeSelection
20124    //=========================================================================
20125    pub fn gtk_tree_selection_get_type() -> GType;
20126    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
20127    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
20128    pub fn gtk_tree_selection_get_select_function(
20129        selection: *mut GtkTreeSelection,
20130    ) -> GtkTreeSelectionFunc;
20131    pub fn gtk_tree_selection_get_selected(
20132        selection: *mut GtkTreeSelection,
20133        model: *mut *mut GtkTreeModel,
20134        iter: *mut GtkTreeIter,
20135    ) -> gboolean;
20136    pub fn gtk_tree_selection_get_selected_rows(
20137        selection: *mut GtkTreeSelection,
20138        model: *mut *mut GtkTreeModel,
20139    ) -> *mut glib::GList;
20140    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
20141    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
20142    pub fn gtk_tree_selection_iter_is_selected(
20143        selection: *mut GtkTreeSelection,
20144        iter: *mut GtkTreeIter,
20145    ) -> gboolean;
20146    pub fn gtk_tree_selection_path_is_selected(
20147        selection: *mut GtkTreeSelection,
20148        path: *mut GtkTreePath,
20149    ) -> gboolean;
20150    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
20151    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
20152    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
20153    pub fn gtk_tree_selection_select_range(
20154        selection: *mut GtkTreeSelection,
20155        start_path: *mut GtkTreePath,
20156        end_path: *mut GtkTreePath,
20157    );
20158    pub fn gtk_tree_selection_selected_foreach(
20159        selection: *mut GtkTreeSelection,
20160        func: GtkTreeSelectionForeachFunc,
20161        data: gpointer,
20162    );
20163    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20164    pub fn gtk_tree_selection_set_select_function(
20165        selection: *mut GtkTreeSelection,
20166        func: GtkTreeSelectionFunc,
20167        data: gpointer,
20168        destroy: glib::GDestroyNotify,
20169    );
20170    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20171    pub fn gtk_tree_selection_unselect_iter(
20172        selection: *mut GtkTreeSelection,
20173        iter: *mut GtkTreeIter,
20174    );
20175    pub fn gtk_tree_selection_unselect_path(
20176        selection: *mut GtkTreeSelection,
20177        path: *mut GtkTreePath,
20178    );
20179    pub fn gtk_tree_selection_unselect_range(
20180        selection: *mut GtkTreeSelection,
20181        start_path: *mut GtkTreePath,
20182        end_path: *mut GtkTreePath,
20183    );
20184
20185    //=========================================================================
20186    // GtkTreeStore
20187    //=========================================================================
20188    pub fn gtk_tree_store_get_type() -> GType;
20189    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20190    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20191    pub fn gtk_tree_store_append(
20192        tree_store: *mut GtkTreeStore,
20193        iter: *mut GtkTreeIter,
20194        parent: *mut GtkTreeIter,
20195    );
20196    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20197    pub fn gtk_tree_store_insert(
20198        tree_store: *mut GtkTreeStore,
20199        iter: *mut GtkTreeIter,
20200        parent: *mut GtkTreeIter,
20201        position: c_int,
20202    );
20203    pub fn gtk_tree_store_insert_after(
20204        tree_store: *mut GtkTreeStore,
20205        iter: *mut GtkTreeIter,
20206        parent: *mut GtkTreeIter,
20207        sibling: *mut GtkTreeIter,
20208    );
20209    pub fn gtk_tree_store_insert_before(
20210        tree_store: *mut GtkTreeStore,
20211        iter: *mut GtkTreeIter,
20212        parent: *mut GtkTreeIter,
20213        sibling: *mut GtkTreeIter,
20214    );
20215    pub fn gtk_tree_store_insert_with_values(
20216        tree_store: *mut GtkTreeStore,
20217        iter: *mut GtkTreeIter,
20218        parent: *mut GtkTreeIter,
20219        position: c_int,
20220        ...
20221    );
20222    pub fn gtk_tree_store_insert_with_valuesv(
20223        tree_store: *mut GtkTreeStore,
20224        iter: *mut GtkTreeIter,
20225        parent: *mut GtkTreeIter,
20226        position: c_int,
20227        columns: *mut c_int,
20228        values: *mut gobject::GValue,
20229        n_values: c_int,
20230    );
20231    pub fn gtk_tree_store_is_ancestor(
20232        tree_store: *mut GtkTreeStore,
20233        iter: *mut GtkTreeIter,
20234        descendant: *mut GtkTreeIter,
20235    ) -> gboolean;
20236    pub fn gtk_tree_store_iter_depth(
20237        tree_store: *mut GtkTreeStore,
20238        iter: *mut GtkTreeIter,
20239    ) -> c_int;
20240    pub fn gtk_tree_store_iter_is_valid(
20241        tree_store: *mut GtkTreeStore,
20242        iter: *mut GtkTreeIter,
20243    ) -> gboolean;
20244    pub fn gtk_tree_store_move_after(
20245        tree_store: *mut GtkTreeStore,
20246        iter: *mut GtkTreeIter,
20247        position: *mut GtkTreeIter,
20248    );
20249    pub fn gtk_tree_store_move_before(
20250        tree_store: *mut GtkTreeStore,
20251        iter: *mut GtkTreeIter,
20252        position: *mut GtkTreeIter,
20253    );
20254    pub fn gtk_tree_store_prepend(
20255        tree_store: *mut GtkTreeStore,
20256        iter: *mut GtkTreeIter,
20257        parent: *mut GtkTreeIter,
20258    );
20259    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20260    -> gboolean;
20261    pub fn gtk_tree_store_reorder(
20262        tree_store: *mut GtkTreeStore,
20263        parent: *mut GtkTreeIter,
20264        new_order: *mut c_int,
20265    );
20266    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20267    pub fn gtk_tree_store_set_column_types(
20268        tree_store: *mut GtkTreeStore,
20269        n_columns: c_int,
20270        types: *mut GType,
20271    );
20272    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20273    pub fn gtk_tree_store_set_value(
20274        tree_store: *mut GtkTreeStore,
20275        iter: *mut GtkTreeIter,
20276        column: c_int,
20277        value: *mut gobject::GValue,
20278    );
20279    pub fn gtk_tree_store_set_valuesv(
20280        tree_store: *mut GtkTreeStore,
20281        iter: *mut GtkTreeIter,
20282        columns: *mut c_int,
20283        values: *mut gobject::GValue,
20284        n_values: c_int,
20285    );
20286    pub fn gtk_tree_store_swap(
20287        tree_store: *mut GtkTreeStore,
20288        a: *mut GtkTreeIter,
20289        b: *mut GtkTreeIter,
20290    );
20291
20292    //=========================================================================
20293    // GtkTreeView
20294    //=========================================================================
20295    pub fn gtk_tree_view_get_type() -> GType;
20296    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20297    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20298    pub fn gtk_tree_view_append_column(
20299        tree_view: *mut GtkTreeView,
20300        column: *mut GtkTreeViewColumn,
20301    ) -> c_int;
20302    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20303    pub fn gtk_tree_view_collapse_row(
20304        tree_view: *mut GtkTreeView,
20305        path: *mut GtkTreePath,
20306    ) -> gboolean;
20307    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20308    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20309        tree_view: *mut GtkTreeView,
20310        bx: c_int,
20311        by: c_int,
20312        tx: *mut c_int,
20313        ty: *mut c_int,
20314    );
20315    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20316        tree_view: *mut GtkTreeView,
20317        bx: c_int,
20318        by: c_int,
20319        wx: *mut c_int,
20320        wy: *mut c_int,
20321    );
20322    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20323        tree_view: *mut GtkTreeView,
20324        tx: c_int,
20325        ty: c_int,
20326        bx: *mut c_int,
20327        by: *mut c_int,
20328    );
20329    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20330        tree_view: *mut GtkTreeView,
20331        tx: c_int,
20332        ty: c_int,
20333        wx: *mut c_int,
20334        wy: *mut c_int,
20335    );
20336    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20337        tree_view: *mut GtkTreeView,
20338        wx: c_int,
20339        wy: c_int,
20340        bx: *mut c_int,
20341        by: *mut c_int,
20342    );
20343    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20344        tree_view: *mut GtkTreeView,
20345        wx: c_int,
20346        wy: c_int,
20347        tx: *mut c_int,
20348        ty: *mut c_int,
20349    );
20350    pub fn gtk_tree_view_create_row_drag_icon(
20351        tree_view: *mut GtkTreeView,
20352        path: *mut GtkTreePath,
20353    ) -> *mut gdk::GdkPaintable;
20354    pub fn gtk_tree_view_enable_model_drag_dest(
20355        tree_view: *mut GtkTreeView,
20356        formats: *mut gdk::GdkContentFormats,
20357        actions: gdk::GdkDragAction,
20358    );
20359    pub fn gtk_tree_view_enable_model_drag_source(
20360        tree_view: *mut GtkTreeView,
20361        start_button_mask: gdk::GdkModifierType,
20362        formats: *mut gdk::GdkContentFormats,
20363        actions: gdk::GdkDragAction,
20364    );
20365    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20366    pub fn gtk_tree_view_expand_row(
20367        tree_view: *mut GtkTreeView,
20368        path: *mut GtkTreePath,
20369        open_all: gboolean,
20370    ) -> gboolean;
20371    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20372    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20373    pub fn gtk_tree_view_get_background_area(
20374        tree_view: *mut GtkTreeView,
20375        path: *mut GtkTreePath,
20376        column: *mut GtkTreeViewColumn,
20377        rect: *mut gdk::GdkRectangle,
20378    );
20379    pub fn gtk_tree_view_get_cell_area(
20380        tree_view: *mut GtkTreeView,
20381        path: *mut GtkTreePath,
20382        column: *mut GtkTreeViewColumn,
20383        rect: *mut gdk::GdkRectangle,
20384    );
20385    pub fn gtk_tree_view_get_column(
20386        tree_view: *mut GtkTreeView,
20387        n: c_int,
20388    ) -> *mut GtkTreeViewColumn;
20389    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20390    pub fn gtk_tree_view_get_cursor(
20391        tree_view: *mut GtkTreeView,
20392        path: *mut *mut GtkTreePath,
20393        focus_column: *mut *mut GtkTreeViewColumn,
20394    );
20395    pub fn gtk_tree_view_get_dest_row_at_pos(
20396        tree_view: *mut GtkTreeView,
20397        drag_x: c_int,
20398        drag_y: c_int,
20399        path: *mut *mut GtkTreePath,
20400        pos: *mut GtkTreeViewDropPosition,
20401    ) -> gboolean;
20402    pub fn gtk_tree_view_get_drag_dest_row(
20403        tree_view: *mut GtkTreeView,
20404        path: *mut *mut GtkTreePath,
20405        pos: *mut GtkTreeViewDropPosition,
20406    );
20407    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20408    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20409    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20410    -> *mut GtkTreeViewColumn;
20411    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20412    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20413    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20414    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20415    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20416    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20417    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20418    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20419    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20420    pub fn gtk_tree_view_get_path_at_pos(
20421        tree_view: *mut GtkTreeView,
20422        x: c_int,
20423        y: c_int,
20424        path: *mut *mut GtkTreePath,
20425        column: *mut *mut GtkTreeViewColumn,
20426        cell_x: *mut c_int,
20427        cell_y: *mut c_int,
20428    ) -> gboolean;
20429    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20430    pub fn gtk_tree_view_get_row_separator_func(
20431        tree_view: *mut GtkTreeView,
20432    ) -> GtkTreeViewRowSeparatorFunc;
20433    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20434    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20435    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20436    pub fn gtk_tree_view_get_search_equal_func(
20437        tree_view: *mut GtkTreeView,
20438    ) -> GtkTreeViewSearchEqualFunc;
20439    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20440    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20441    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20442    pub fn gtk_tree_view_get_tooltip_context(
20443        tree_view: *mut GtkTreeView,
20444        x: c_int,
20445        y: c_int,
20446        keyboard_tip: gboolean,
20447        model: *mut *mut GtkTreeModel,
20448        path: *mut *mut GtkTreePath,
20449        iter: *mut GtkTreeIter,
20450    ) -> gboolean;
20451    pub fn gtk_tree_view_get_visible_range(
20452        tree_view: *mut GtkTreeView,
20453        start_path: *mut *mut GtkTreePath,
20454        end_path: *mut *mut GtkTreePath,
20455    ) -> gboolean;
20456    pub fn gtk_tree_view_get_visible_rect(
20457        tree_view: *mut GtkTreeView,
20458        visible_rect: *mut gdk::GdkRectangle,
20459    );
20460    pub fn gtk_tree_view_insert_column(
20461        tree_view: *mut GtkTreeView,
20462        column: *mut GtkTreeViewColumn,
20463        position: c_int,
20464    ) -> c_int;
20465    pub fn gtk_tree_view_insert_column_with_attributes(
20466        tree_view: *mut GtkTreeView,
20467        position: c_int,
20468        title: *const c_char,
20469        cell: *mut GtkCellRenderer,
20470        ...
20471    ) -> c_int;
20472    pub fn gtk_tree_view_insert_column_with_data_func(
20473        tree_view: *mut GtkTreeView,
20474        position: c_int,
20475        title: *const c_char,
20476        cell: *mut GtkCellRenderer,
20477        func: GtkTreeCellDataFunc,
20478        data: gpointer,
20479        dnotify: glib::GDestroyNotify,
20480    ) -> c_int;
20481    pub fn gtk_tree_view_is_blank_at_pos(
20482        tree_view: *mut GtkTreeView,
20483        x: c_int,
20484        y: c_int,
20485        path: *mut *mut GtkTreePath,
20486        column: *mut *mut GtkTreeViewColumn,
20487        cell_x: *mut c_int,
20488        cell_y: *mut c_int,
20489    ) -> gboolean;
20490    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20491    pub fn gtk_tree_view_map_expanded_rows(
20492        tree_view: *mut GtkTreeView,
20493        func: GtkTreeViewMappingFunc,
20494        data: gpointer,
20495    );
20496    pub fn gtk_tree_view_move_column_after(
20497        tree_view: *mut GtkTreeView,
20498        column: *mut GtkTreeViewColumn,
20499        base_column: *mut GtkTreeViewColumn,
20500    );
20501    pub fn gtk_tree_view_remove_column(
20502        tree_view: *mut GtkTreeView,
20503        column: *mut GtkTreeViewColumn,
20504    ) -> c_int;
20505    pub fn gtk_tree_view_row_activated(
20506        tree_view: *mut GtkTreeView,
20507        path: *mut GtkTreePath,
20508        column: *mut GtkTreeViewColumn,
20509    );
20510    pub fn gtk_tree_view_row_expanded(
20511        tree_view: *mut GtkTreeView,
20512        path: *mut GtkTreePath,
20513    ) -> gboolean;
20514    pub fn gtk_tree_view_scroll_to_cell(
20515        tree_view: *mut GtkTreeView,
20516        path: *mut GtkTreePath,
20517        column: *mut GtkTreeViewColumn,
20518        use_align: gboolean,
20519        row_align: c_float,
20520        col_align: c_float,
20521    );
20522    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20523    pub fn gtk_tree_view_set_activate_on_single_click(
20524        tree_view: *mut GtkTreeView,
20525        single: gboolean,
20526    );
20527    pub fn gtk_tree_view_set_column_drag_function(
20528        tree_view: *mut GtkTreeView,
20529        func: GtkTreeViewColumnDropFunc,
20530        user_data: gpointer,
20531        destroy: glib::GDestroyNotify,
20532    );
20533    pub fn gtk_tree_view_set_cursor(
20534        tree_view: *mut GtkTreeView,
20535        path: *mut GtkTreePath,
20536        focus_column: *mut GtkTreeViewColumn,
20537        start_editing: gboolean,
20538    );
20539    pub fn gtk_tree_view_set_cursor_on_cell(
20540        tree_view: *mut GtkTreeView,
20541        path: *mut GtkTreePath,
20542        focus_column: *mut GtkTreeViewColumn,
20543        focus_cell: *mut GtkCellRenderer,
20544        start_editing: gboolean,
20545    );
20546    pub fn gtk_tree_view_set_drag_dest_row(
20547        tree_view: *mut GtkTreeView,
20548        path: *mut GtkTreePath,
20549        pos: GtkTreeViewDropPosition,
20550    );
20551    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20552    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20553    pub fn gtk_tree_view_set_expander_column(
20554        tree_view: *mut GtkTreeView,
20555        column: *mut GtkTreeViewColumn,
20556    );
20557    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20558    pub fn gtk_tree_view_set_grid_lines(
20559        tree_view: *mut GtkTreeView,
20560        grid_lines: GtkTreeViewGridLines,
20561    );
20562    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20563    pub fn gtk_tree_view_set_headers_visible(
20564        tree_view: *mut GtkTreeView,
20565        headers_visible: gboolean,
20566    );
20567    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20568    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20569    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20570    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20571    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20572    pub fn gtk_tree_view_set_row_separator_func(
20573        tree_view: *mut GtkTreeView,
20574        func: GtkTreeViewRowSeparatorFunc,
20575        data: gpointer,
20576        destroy: glib::GDestroyNotify,
20577    );
20578    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20579    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20580    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20581    pub fn gtk_tree_view_set_search_equal_func(
20582        tree_view: *mut GtkTreeView,
20583        search_equal_func: GtkTreeViewSearchEqualFunc,
20584        search_user_data: gpointer,
20585        search_destroy: glib::GDestroyNotify,
20586    );
20587    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20588    pub fn gtk_tree_view_set_tooltip_cell(
20589        tree_view: *mut GtkTreeView,
20590        tooltip: *mut GtkTooltip,
20591        path: *mut GtkTreePath,
20592        column: *mut GtkTreeViewColumn,
20593        cell: *mut GtkCellRenderer,
20594    );
20595    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20596    pub fn gtk_tree_view_set_tooltip_row(
20597        tree_view: *mut GtkTreeView,
20598        tooltip: *mut GtkTooltip,
20599        path: *mut GtkTreePath,
20600    );
20601    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20602    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20603
20604    //=========================================================================
20605    // GtkTreeViewColumn
20606    //=========================================================================
20607    pub fn gtk_tree_view_column_get_type() -> GType;
20608    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20609    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20610    pub fn gtk_tree_view_column_new_with_attributes(
20611        title: *const c_char,
20612        cell: *mut GtkCellRenderer,
20613        ...
20614    ) -> *mut GtkTreeViewColumn;
20615    pub fn gtk_tree_view_column_add_attribute(
20616        tree_column: *mut GtkTreeViewColumn,
20617        cell_renderer: *mut GtkCellRenderer,
20618        attribute: *const c_char,
20619        column: c_int,
20620    );
20621    pub fn gtk_tree_view_column_cell_get_position(
20622        tree_column: *mut GtkTreeViewColumn,
20623        cell_renderer: *mut GtkCellRenderer,
20624        x_offset: *mut c_int,
20625        width: *mut c_int,
20626    ) -> gboolean;
20627    pub fn gtk_tree_view_column_cell_get_size(
20628        tree_column: *mut GtkTreeViewColumn,
20629        x_offset: *mut c_int,
20630        y_offset: *mut c_int,
20631        width: *mut c_int,
20632        height: *mut c_int,
20633    );
20634    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20635    pub fn gtk_tree_view_column_cell_set_cell_data(
20636        tree_column: *mut GtkTreeViewColumn,
20637        tree_model: *mut GtkTreeModel,
20638        iter: *mut GtkTreeIter,
20639        is_expander: gboolean,
20640        is_expanded: gboolean,
20641    );
20642    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20643    pub fn gtk_tree_view_column_clear_attributes(
20644        tree_column: *mut GtkTreeViewColumn,
20645        cell_renderer: *mut GtkCellRenderer,
20646    );
20647    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20648    pub fn gtk_tree_view_column_focus_cell(
20649        tree_column: *mut GtkTreeViewColumn,
20650        cell: *mut GtkCellRenderer,
20651    );
20652    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20653    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20654    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20655    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20656    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20657    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20658    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20659    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20660    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20661    pub fn gtk_tree_view_column_get_sizing(
20662        tree_column: *mut GtkTreeViewColumn,
20663    ) -> GtkTreeViewColumnSizing;
20664    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20665    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20666    -> gboolean;
20667    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20668    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20669    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20670    pub fn gtk_tree_view_column_get_tree_view(
20671        tree_column: *mut GtkTreeViewColumn,
20672    ) -> *mut GtkWidget;
20673    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20674    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20675    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20676    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20677    pub fn gtk_tree_view_column_pack_end(
20678        tree_column: *mut GtkTreeViewColumn,
20679        cell: *mut GtkCellRenderer,
20680        expand: gboolean,
20681    );
20682    pub fn gtk_tree_view_column_pack_start(
20683        tree_column: *mut GtkTreeViewColumn,
20684        cell: *mut GtkCellRenderer,
20685        expand: gboolean,
20686    );
20687    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20688    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20689    pub fn gtk_tree_view_column_set_attributes(
20690        tree_column: *mut GtkTreeViewColumn,
20691        cell_renderer: *mut GtkCellRenderer,
20692        ...
20693    );
20694    pub fn gtk_tree_view_column_set_cell_data_func(
20695        tree_column: *mut GtkTreeViewColumn,
20696        cell_renderer: *mut GtkCellRenderer,
20697        func: GtkTreeCellDataFunc,
20698        func_data: gpointer,
20699        destroy: glib::GDestroyNotify,
20700    );
20701    pub fn gtk_tree_view_column_set_clickable(
20702        tree_column: *mut GtkTreeViewColumn,
20703        clickable: gboolean,
20704    );
20705    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20706    pub fn gtk_tree_view_column_set_fixed_width(
20707        tree_column: *mut GtkTreeViewColumn,
20708        fixed_width: c_int,
20709    );
20710    pub fn gtk_tree_view_column_set_max_width(
20711        tree_column: *mut GtkTreeViewColumn,
20712        max_width: c_int,
20713    );
20714    pub fn gtk_tree_view_column_set_min_width(
20715        tree_column: *mut GtkTreeViewColumn,
20716        min_width: c_int,
20717    );
20718    pub fn gtk_tree_view_column_set_reorderable(
20719        tree_column: *mut GtkTreeViewColumn,
20720        reorderable: gboolean,
20721    );
20722    pub fn gtk_tree_view_column_set_resizable(
20723        tree_column: *mut GtkTreeViewColumn,
20724        resizable: gboolean,
20725    );
20726    pub fn gtk_tree_view_column_set_sizing(
20727        tree_column: *mut GtkTreeViewColumn,
20728        type_: GtkTreeViewColumnSizing,
20729    );
20730    pub fn gtk_tree_view_column_set_sort_column_id(
20731        tree_column: *mut GtkTreeViewColumn,
20732        sort_column_id: c_int,
20733    );
20734    pub fn gtk_tree_view_column_set_sort_indicator(
20735        tree_column: *mut GtkTreeViewColumn,
20736        setting: gboolean,
20737    );
20738    pub fn gtk_tree_view_column_set_sort_order(
20739        tree_column: *mut GtkTreeViewColumn,
20740        order: GtkSortType,
20741    );
20742    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20743    pub fn gtk_tree_view_column_set_title(
20744        tree_column: *mut GtkTreeViewColumn,
20745        title: *const c_char,
20746    );
20747    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20748    pub fn gtk_tree_view_column_set_widget(
20749        tree_column: *mut GtkTreeViewColumn,
20750        widget: *mut GtkWidget,
20751    );
20752
20753    //=========================================================================
20754    // GtkTryExpression
20755    //=========================================================================
20756    #[cfg(feature = "v4_22")]
20757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20758    pub fn gtk_try_expression_get_type() -> GType;
20759    #[cfg(feature = "v4_22")]
20760    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20761    pub fn gtk_try_expression_new(
20762        n_expressions: c_uint,
20763        expressions: *mut *mut GtkExpression,
20764    ) -> *mut GtkTryExpression;
20765
20766    //=========================================================================
20767    // GtkUriLauncher
20768    //=========================================================================
20769    #[cfg(feature = "v4_10")]
20770    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20771    pub fn gtk_uri_launcher_get_type() -> GType;
20772    #[cfg(feature = "v4_10")]
20773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20774    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20775    #[cfg(feature = "v4_20")]
20776    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20777    pub fn gtk_uri_launcher_can_launch(
20778        self_: *mut GtkUriLauncher,
20779        parent: *mut GtkWindow,
20780    ) -> gboolean;
20781    #[cfg(feature = "v4_10")]
20782    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20783    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20784    #[cfg(feature = "v4_10")]
20785    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20786    pub fn gtk_uri_launcher_launch(
20787        self_: *mut GtkUriLauncher,
20788        parent: *mut GtkWindow,
20789        cancellable: *mut gio::GCancellable,
20790        callback: gio::GAsyncReadyCallback,
20791        user_data: gpointer,
20792    );
20793    #[cfg(feature = "v4_10")]
20794    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20795    pub fn gtk_uri_launcher_launch_finish(
20796        self_: *mut GtkUriLauncher,
20797        result: *mut gio::GAsyncResult,
20798        error: *mut *mut glib::GError,
20799    ) -> gboolean;
20800    #[cfg(feature = "v4_10")]
20801    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20802    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20803
20804    //=========================================================================
20805    // GtkVideo
20806    //=========================================================================
20807    pub fn gtk_video_get_type() -> GType;
20808    pub fn gtk_video_new() -> *mut GtkWidget;
20809    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20810    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20811    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20812    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20813    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20814    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20815    #[cfg(feature = "v4_14")]
20816    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20817    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20818    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20819    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20820    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20821    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20822    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20823    #[cfg(feature = "v4_14")]
20824    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20825    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20826    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20827    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20828    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20829
20830    //=========================================================================
20831    // GtkViewport
20832    //=========================================================================
20833    pub fn gtk_viewport_get_type() -> GType;
20834    pub fn gtk_viewport_new(
20835        hadjustment: *mut GtkAdjustment,
20836        vadjustment: *mut GtkAdjustment,
20837    ) -> *mut GtkWidget;
20838    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20839    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20840    #[cfg(feature = "v4_12")]
20841    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20842    pub fn gtk_viewport_scroll_to(
20843        viewport: *mut GtkViewport,
20844        descendant: *mut GtkWidget,
20845        scroll: *mut GtkScrollInfo,
20846    );
20847    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20848    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20849
20850    //=========================================================================
20851    // GtkVolumeButton
20852    //=========================================================================
20853    pub fn gtk_volume_button_get_type() -> GType;
20854    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20855
20856    //=========================================================================
20857    // GtkWidget
20858    //=========================================================================
20859    pub fn gtk_widget_get_type() -> GType;
20860    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20861    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20862    pub fn gtk_widget_action_set_enabled(
20863        widget: *mut GtkWidget,
20864        action_name: *const c_char,
20865        enabled: gboolean,
20866    );
20867    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20868    pub fn gtk_widget_activate_action(
20869        widget: *mut GtkWidget,
20870        name: *const c_char,
20871        format_string: *const c_char,
20872        ...
20873    ) -> gboolean;
20874    pub fn gtk_widget_activate_action_variant(
20875        widget: *mut GtkWidget,
20876        name: *const c_char,
20877        args: *mut glib::GVariant,
20878    ) -> gboolean;
20879    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20880    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20881    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20882    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20883    pub fn gtk_widget_add_tick_callback(
20884        widget: *mut GtkWidget,
20885        callback: GtkTickCallback,
20886        user_data: gpointer,
20887        notify: glib::GDestroyNotify,
20888    ) -> c_uint;
20889    pub fn gtk_widget_allocate(
20890        widget: *mut GtkWidget,
20891        width: c_int,
20892        height: c_int,
20893        baseline: c_int,
20894        transform: *mut gsk::GskTransform,
20895    );
20896    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20897    pub fn gtk_widget_compute_bounds(
20898        widget: *mut GtkWidget,
20899        target: *mut GtkWidget,
20900        out_bounds: *mut graphene::graphene_rect_t,
20901    ) -> gboolean;
20902    pub fn gtk_widget_compute_expand(
20903        widget: *mut GtkWidget,
20904        orientation: GtkOrientation,
20905    ) -> gboolean;
20906    pub fn gtk_widget_compute_point(
20907        widget: *mut GtkWidget,
20908        target: *mut GtkWidget,
20909        point: *const graphene::graphene_point_t,
20910        out_point: *mut graphene::graphene_point_t,
20911    ) -> gboolean;
20912    pub fn gtk_widget_compute_transform(
20913        widget: *mut GtkWidget,
20914        target: *mut GtkWidget,
20915        out_transform: *mut graphene::graphene_matrix_t,
20916    ) -> gboolean;
20917    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20918    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20919    pub fn gtk_widget_create_pango_layout(
20920        widget: *mut GtkWidget,
20921        text: *const c_char,
20922    ) -> *mut pango::PangoLayout;
20923    #[cfg(feature = "v4_8")]
20924    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20925    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20926    pub fn gtk_drag_check_threshold(
20927        widget: *mut GtkWidget,
20928        start_x: c_int,
20929        start_y: c_int,
20930        current_x: c_int,
20931        current_y: c_int,
20932    ) -> gboolean;
20933    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20934    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20935    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20936    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20937    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20938    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20939    #[cfg(feature = "v4_12")]
20940    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20941    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20942    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20943    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20944    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20945    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20946    #[cfg(feature = "v4_10")]
20947    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20948    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20949    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20950    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20951    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20952    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20953    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20954    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20955    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20956    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20957    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20958    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20959    pub fn gtk_widget_get_font_options(
20960        widget: *mut GtkWidget,
20961    ) -> *const cairo::cairo_font_options_t;
20962    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20963    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20964    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20965    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20966    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20967    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20968    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20969    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20970    #[cfg(feature = "v4_18")]
20971    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20972    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20973    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20974    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20975    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20976    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20977    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20978    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20979    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20980    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20981    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20982    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20983    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20984    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20985    pub fn gtk_widget_get_preferred_size(
20986        widget: *mut GtkWidget,
20987        minimum_size: *mut GtkRequisition,
20988        natural_size: *mut GtkRequisition,
20989    );
20990    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20991    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20992    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20993    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20994    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20995    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20996    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20997    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20998    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20999    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
21000    pub fn gtk_widget_get_size_request(
21001        widget: *mut GtkWidget,
21002        width: *mut c_int,
21003        height: *mut c_int,
21004    );
21005    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
21006    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
21007    pub fn gtk_widget_get_template_child(
21008        widget: *mut GtkWidget,
21009        widget_type: GType,
21010        name: *const c_char,
21011    ) -> *mut gobject::GObject;
21012    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
21013    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
21014    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
21015    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
21016    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
21017    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
21018    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
21019    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
21020    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
21021    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
21022    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
21023    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
21024    pub fn gtk_widget_hide(widget: *mut GtkWidget);
21025    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
21026    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
21027    pub fn gtk_widget_insert_action_group(
21028        widget: *mut GtkWidget,
21029        name: *const c_char,
21030        group: *mut gio::GActionGroup,
21031    );
21032    pub fn gtk_widget_insert_after(
21033        widget: *mut GtkWidget,
21034        parent: *mut GtkWidget,
21035        previous_sibling: *mut GtkWidget,
21036    );
21037    pub fn gtk_widget_insert_before(
21038        widget: *mut GtkWidget,
21039        parent: *mut GtkWidget,
21040        next_sibling: *mut GtkWidget,
21041    );
21042    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
21043    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
21044    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
21045    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
21046    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
21047    pub fn gtk_widget_keynav_failed(
21048        widget: *mut GtkWidget,
21049        direction: GtkDirectionType,
21050    ) -> gboolean;
21051    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
21052    pub fn gtk_widget_map(widget: *mut GtkWidget);
21053    pub fn gtk_widget_measure(
21054        widget: *mut GtkWidget,
21055        orientation: GtkOrientation,
21056        for_size: c_int,
21057        minimum: *mut c_int,
21058        natural: *mut c_int,
21059        minimum_baseline: *mut c_int,
21060        natural_baseline: *mut c_int,
21061    );
21062    pub fn gtk_widget_mnemonic_activate(
21063        widget: *mut GtkWidget,
21064        group_cycling: gboolean,
21065    ) -> gboolean;
21066    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
21067    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
21068    pub fn gtk_widget_pick(
21069        widget: *mut GtkWidget,
21070        x: c_double,
21071        y: c_double,
21072        flags: GtkPickFlags,
21073    ) -> *mut GtkWidget;
21074    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
21075    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
21076    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
21077    pub fn gtk_widget_realize(widget: *mut GtkWidget);
21078    pub fn gtk_widget_remove_controller(
21079        widget: *mut GtkWidget,
21080        controller: *mut GtkEventController,
21081    );
21082    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
21083    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
21084    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
21085    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
21086    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
21087    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
21088    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
21089    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
21090    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
21091    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
21092    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
21093    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
21094    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
21095    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
21096    pub fn gtk_widget_set_font_options(
21097        widget: *mut GtkWidget,
21098        options: *const cairo::cairo_font_options_t,
21099    );
21100    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
21101    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
21102    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
21103    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
21104    pub fn gtk_widget_set_layout_manager(
21105        widget: *mut GtkWidget,
21106        layout_manager: *mut GtkLayoutManager,
21107    );
21108    #[cfg(feature = "v4_18")]
21109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21110    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
21111    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
21112    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
21113    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
21114    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
21115    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
21116    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
21117    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
21118    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
21119    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
21120    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
21121    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
21122    pub fn gtk_widget_set_state_flags(
21123        widget: *mut GtkWidget,
21124        flags: GtkStateFlags,
21125        clear: gboolean,
21126    );
21127    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
21128    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
21129    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
21130    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
21131    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
21132    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
21133    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
21134    pub fn gtk_widget_show(widget: *mut GtkWidget);
21135    pub fn gtk_widget_size_allocate(
21136        widget: *mut GtkWidget,
21137        allocation: *const GtkAllocation,
21138        baseline: c_int,
21139    );
21140    pub fn gtk_widget_snapshot_child(
21141        widget: *mut GtkWidget,
21142        child: *mut GtkWidget,
21143        snapshot: *mut GtkSnapshot,
21144    );
21145    pub fn gtk_widget_translate_coordinates(
21146        src_widget: *mut GtkWidget,
21147        dest_widget: *mut GtkWidget,
21148        src_x: c_double,
21149        src_y: c_double,
21150        dest_x: *mut c_double,
21151        dest_y: *mut c_double,
21152    ) -> gboolean;
21153    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
21154    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
21155    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
21156    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
21157    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
21158
21159    //=========================================================================
21160    // GtkWidgetPaintable
21161    //=========================================================================
21162    pub fn gtk_widget_paintable_get_type() -> GType;
21163    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21164    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21165    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21166
21167    //=========================================================================
21168    // GtkWindow
21169    //=========================================================================
21170    pub fn gtk_window_get_type() -> GType;
21171    pub fn gtk_window_new() -> *mut GtkWidget;
21172    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21173    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21174    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21175    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21176    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21177    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21178    pub fn gtk_window_close(window: *mut GtkWindow);
21179    pub fn gtk_window_destroy(window: *mut GtkWindow);
21180    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21181    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21182    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21183    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21184    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21185    pub fn gtk_window_get_default_size(
21186        window: *mut GtkWindow,
21187        width: *mut c_int,
21188        height: *mut c_int,
21189    );
21190    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21191    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21192    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21193    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21194    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21195    #[cfg(feature = "v4_20")]
21196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21197    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21198    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21199    #[cfg(feature = "v4_2")]
21200    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21201    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21202    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21203    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21204    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21205    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21206    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21207    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21208    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21209    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21210    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21211    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21212    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21213    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21214    #[cfg(feature = "v4_12")]
21215    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21216    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21217    pub fn gtk_window_maximize(window: *mut GtkWindow);
21218    pub fn gtk_window_minimize(window: *mut GtkWindow);
21219    pub fn gtk_window_present(window: *mut GtkWindow);
21220    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21221    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21222    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21223    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21224    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21225    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21226    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21227    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21228    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21229    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21230    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21231    #[cfg(feature = "v4_20")]
21232    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21233    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21234    #[cfg(feature = "v4_2")]
21235    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21236    pub fn gtk_window_set_handle_menubar_accel(
21237        window: *mut GtkWindow,
21238        handle_menubar_accel: gboolean,
21239    );
21240    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21241    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21242    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21243    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21244    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21245    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21246    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21247    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21248    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21249    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21250    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21251    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21252
21253    //=========================================================================
21254    // GtkWindowControls
21255    //=========================================================================
21256    pub fn gtk_window_controls_get_type() -> GType;
21257    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21258    pub fn gtk_window_controls_get_decoration_layout(
21259        self_: *mut GtkWindowControls,
21260    ) -> *const c_char;
21261    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21262    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21263    #[cfg(feature = "v4_18")]
21264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21265    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21266    pub fn gtk_window_controls_set_decoration_layout(
21267        self_: *mut GtkWindowControls,
21268        layout: *const c_char,
21269    );
21270    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21271    #[cfg(feature = "v4_18")]
21272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21273    pub fn gtk_window_controls_set_use_native_controls(
21274        self_: *mut GtkWindowControls,
21275        setting: gboolean,
21276    );
21277
21278    //=========================================================================
21279    // GtkWindowGroup
21280    //=========================================================================
21281    pub fn gtk_window_group_get_type() -> GType;
21282    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21283    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21284    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21285    pub fn gtk_window_group_remove_window(
21286        window_group: *mut GtkWindowGroup,
21287        window: *mut GtkWindow,
21288    );
21289
21290    //=========================================================================
21291    // GtkWindowHandle
21292    //=========================================================================
21293    pub fn gtk_window_handle_get_type() -> GType;
21294    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21295    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21296    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21297
21298    //=========================================================================
21299    // GtkAccessible
21300    //=========================================================================
21301    #[cfg(feature = "v4_10")]
21302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21303    pub fn gtk_accessible_get_type() -> GType;
21304    #[cfg(feature = "v4_14")]
21305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21306    pub fn gtk_accessible_announce(
21307        self_: *mut GtkAccessible,
21308        message: *const c_char,
21309        priority: GtkAccessibleAnnouncementPriority,
21310    );
21311    #[cfg(feature = "v4_22")]
21312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21313    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21314    #[cfg(feature = "v4_10")]
21315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21316    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21317    #[cfg(feature = "v4_10")]
21318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21319    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21320    #[cfg(feature = "v4_10")]
21321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21322    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21323    #[cfg(feature = "v4_10")]
21324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21325    pub fn gtk_accessible_get_bounds(
21326        self_: *mut GtkAccessible,
21327        x: *mut c_int,
21328        y: *mut c_int,
21329        width: *mut c_int,
21330        height: *mut c_int,
21331    ) -> gboolean;
21332    #[cfg(feature = "v4_10")]
21333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21334    pub fn gtk_accessible_get_first_accessible_child(
21335        self_: *mut GtkAccessible,
21336    ) -> *mut GtkAccessible;
21337    #[cfg(feature = "v4_10")]
21338    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21339    pub fn gtk_accessible_get_next_accessible_sibling(
21340        self_: *mut GtkAccessible,
21341    ) -> *mut GtkAccessible;
21342    #[cfg(feature = "v4_10")]
21343    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21344    pub fn gtk_accessible_get_platform_state(
21345        self_: *mut GtkAccessible,
21346        state: GtkAccessiblePlatformState,
21347    ) -> gboolean;
21348    #[cfg(feature = "v4_10")]
21349    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21350    pub fn gtk_accessible_reset_property(
21351        self_: *mut GtkAccessible,
21352        property: GtkAccessibleProperty,
21353    );
21354    #[cfg(feature = "v4_10")]
21355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21356    pub fn gtk_accessible_reset_relation(
21357        self_: *mut GtkAccessible,
21358        relation: GtkAccessibleRelation,
21359    );
21360    #[cfg(feature = "v4_10")]
21361    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21362    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21363    #[cfg(feature = "v4_10")]
21364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21365    pub fn gtk_accessible_set_accessible_parent(
21366        self_: *mut GtkAccessible,
21367        parent: *mut GtkAccessible,
21368        next_sibling: *mut GtkAccessible,
21369    );
21370    #[cfg(feature = "v4_10")]
21371    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21372    pub fn gtk_accessible_update_next_accessible_sibling(
21373        self_: *mut GtkAccessible,
21374        new_sibling: *mut GtkAccessible,
21375    );
21376    #[cfg(feature = "v4_18")]
21377    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21378    pub fn gtk_accessible_update_platform_state(
21379        self_: *mut GtkAccessible,
21380        state: GtkAccessiblePlatformState,
21381    );
21382    #[cfg(feature = "v4_10")]
21383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21384    pub fn gtk_accessible_update_property(
21385        self_: *mut GtkAccessible,
21386        first_property: GtkAccessibleProperty,
21387        ...
21388    );
21389    #[cfg(feature = "v4_10")]
21390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21391    pub fn gtk_accessible_update_property_value(
21392        self_: *mut GtkAccessible,
21393        n_properties: c_int,
21394        properties: *mut GtkAccessibleProperty,
21395        values: *const gobject::GValue,
21396    );
21397    #[cfg(feature = "v4_10")]
21398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21399    pub fn gtk_accessible_update_relation(
21400        self_: *mut GtkAccessible,
21401        first_relation: GtkAccessibleRelation,
21402        ...
21403    );
21404    #[cfg(feature = "v4_10")]
21405    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21406    pub fn gtk_accessible_update_relation_value(
21407        self_: *mut GtkAccessible,
21408        n_relations: c_int,
21409        relations: *mut GtkAccessibleRelation,
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_state(
21415        self_: *mut GtkAccessible,
21416        first_state: GtkAccessibleState,
21417        ...
21418    );
21419    #[cfg(feature = "v4_10")]
21420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21421    pub fn gtk_accessible_update_state_value(
21422        self_: *mut GtkAccessible,
21423        n_states: c_int,
21424        states: *mut GtkAccessibleState,
21425        values: *const gobject::GValue,
21426    );
21427
21428    //=========================================================================
21429    // GtkAccessibleHypertext
21430    //=========================================================================
21431    #[cfg(feature = "v4_22")]
21432    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21433    pub fn gtk_accessible_hypertext_get_type() -> GType;
21434
21435    //=========================================================================
21436    // GtkAccessibleRange
21437    //=========================================================================
21438    #[cfg(feature = "v4_10")]
21439    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21440    pub fn gtk_accessible_range_get_type() -> GType;
21441
21442    //=========================================================================
21443    // GtkAccessibleText
21444    //=========================================================================
21445    #[cfg(feature = "v4_14")]
21446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21447    pub fn gtk_accessible_text_get_type() -> GType;
21448    #[cfg(feature = "v4_14")]
21449    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21450    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21451    #[cfg(feature = "v4_14")]
21452    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21453    pub fn gtk_accessible_text_update_contents(
21454        self_: *mut GtkAccessibleText,
21455        change: GtkAccessibleTextContentChange,
21456        start: c_uint,
21457        end: c_uint,
21458    );
21459    #[cfg(feature = "v4_14")]
21460    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21461    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21462
21463    //=========================================================================
21464    // GtkActionable
21465    //=========================================================================
21466    pub fn gtk_actionable_get_type() -> GType;
21467    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21468    pub fn gtk_actionable_get_action_target_value(
21469        actionable: *mut GtkActionable,
21470    ) -> *mut glib::GVariant;
21471    pub fn gtk_actionable_set_action_name(
21472        actionable: *mut GtkActionable,
21473        action_name: *const c_char,
21474    );
21475    pub fn gtk_actionable_set_action_target(
21476        actionable: *mut GtkActionable,
21477        format_string: *const c_char,
21478        ...
21479    );
21480    pub fn gtk_actionable_set_action_target_value(
21481        actionable: *mut GtkActionable,
21482        target_value: *mut glib::GVariant,
21483    );
21484    pub fn gtk_actionable_set_detailed_action_name(
21485        actionable: *mut GtkActionable,
21486        detailed_action_name: *const c_char,
21487    );
21488
21489    //=========================================================================
21490    // GtkAppChooser
21491    //=========================================================================
21492    pub fn gtk_app_chooser_get_type() -> GType;
21493    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21494    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21495    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21496
21497    //=========================================================================
21498    // GtkBuildable
21499    //=========================================================================
21500    pub fn gtk_buildable_get_type() -> GType;
21501    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21502
21503    //=========================================================================
21504    // GtkBuilderScope
21505    //=========================================================================
21506    pub fn gtk_builder_scope_get_type() -> GType;
21507
21508    //=========================================================================
21509    // GtkCellEditable
21510    //=========================================================================
21511    pub fn gtk_cell_editable_get_type() -> GType;
21512    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21513    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21514    pub fn gtk_cell_editable_start_editing(
21515        cell_editable: *mut GtkCellEditable,
21516        event: *mut gdk::GdkEvent,
21517    );
21518
21519    //=========================================================================
21520    // GtkCellLayout
21521    //=========================================================================
21522    pub fn gtk_cell_layout_get_type() -> GType;
21523    pub fn gtk_cell_layout_add_attribute(
21524        cell_layout: *mut GtkCellLayout,
21525        cell: *mut GtkCellRenderer,
21526        attribute: *const c_char,
21527        column: c_int,
21528    );
21529    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21530    pub fn gtk_cell_layout_clear_attributes(
21531        cell_layout: *mut GtkCellLayout,
21532        cell: *mut GtkCellRenderer,
21533    );
21534    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21535    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21536    pub fn gtk_cell_layout_pack_end(
21537        cell_layout: *mut GtkCellLayout,
21538        cell: *mut GtkCellRenderer,
21539        expand: gboolean,
21540    );
21541    pub fn gtk_cell_layout_pack_start(
21542        cell_layout: *mut GtkCellLayout,
21543        cell: *mut GtkCellRenderer,
21544        expand: gboolean,
21545    );
21546    pub fn gtk_cell_layout_reorder(
21547        cell_layout: *mut GtkCellLayout,
21548        cell: *mut GtkCellRenderer,
21549        position: c_int,
21550    );
21551    pub fn gtk_cell_layout_set_attributes(
21552        cell_layout: *mut GtkCellLayout,
21553        cell: *mut GtkCellRenderer,
21554        ...
21555    );
21556    pub fn gtk_cell_layout_set_cell_data_func(
21557        cell_layout: *mut GtkCellLayout,
21558        cell: *mut GtkCellRenderer,
21559        func: GtkCellLayoutDataFunc,
21560        func_data: gpointer,
21561        destroy: glib::GDestroyNotify,
21562    );
21563
21564    //=========================================================================
21565    // GtkColorChooser
21566    //=========================================================================
21567    pub fn gtk_color_chooser_get_type() -> GType;
21568    pub fn gtk_color_chooser_add_palette(
21569        chooser: *mut GtkColorChooser,
21570        orientation: GtkOrientation,
21571        colors_per_line: c_int,
21572        n_colors: c_int,
21573        colors: *mut gdk::GdkRGBA,
21574    );
21575    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21576    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21577    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21578    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21579
21580    //=========================================================================
21581    // GtkConstraintTarget
21582    //=========================================================================
21583    pub fn gtk_constraint_target_get_type() -> GType;
21584
21585    //=========================================================================
21586    // GtkEditable
21587    //=========================================================================
21588    pub fn gtk_editable_get_type() -> GType;
21589    pub fn gtk_editable_delegate_get_property(
21590        object: *mut gobject::GObject,
21591        prop_id: c_uint,
21592        value: *mut gobject::GValue,
21593        pspec: *mut gobject::GParamSpec,
21594    ) -> gboolean;
21595    pub fn gtk_editable_delegate_set_property(
21596        object: *mut gobject::GObject,
21597        prop_id: c_uint,
21598        value: *const gobject::GValue,
21599        pspec: *mut gobject::GParamSpec,
21600    ) -> gboolean;
21601    pub fn gtk_editable_install_properties(
21602        object_class: *mut gobject::GObjectClass,
21603        first_prop: c_uint,
21604    ) -> c_uint;
21605    #[cfg(feature = "v4_10")]
21606    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21607    pub fn gtk_editable_delegate_get_accessible_platform_state(
21608        editable: *mut GtkEditable,
21609        state: GtkAccessiblePlatformState,
21610    ) -> gboolean;
21611    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21612    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21613    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21614    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21615    pub fn gtk_editable_get_chars(
21616        editable: *mut GtkEditable,
21617        start_pos: c_int,
21618        end_pos: c_int,
21619    ) -> *mut c_char;
21620    #[cfg(feature = "v4_24")]
21621    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21622    pub fn gtk_editable_get_complete_text(editable: *mut GtkEditable) -> *mut c_char;
21623    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21624    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21625    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21626    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21627    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21628    pub fn gtk_editable_get_selection_bounds(
21629        editable: *mut GtkEditable,
21630        start_pos: *mut c_int,
21631        end_pos: *mut c_int,
21632    ) -> gboolean;
21633    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21634    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21635    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21636    pub fn gtk_editable_insert_text(
21637        editable: *mut GtkEditable,
21638        text: *const c_char,
21639        length: c_int,
21640        position: *mut c_int,
21641    );
21642    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21643    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21644    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21645    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21646    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21647    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21648    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21649    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21650
21651    //=========================================================================
21652    // GtkFileChooser
21653    //=========================================================================
21654    pub fn gtk_file_chooser_get_type() -> GType;
21655    pub fn gtk_file_chooser_add_choice(
21656        chooser: *mut GtkFileChooser,
21657        id: *const c_char,
21658        label: *const c_char,
21659        options: *mut *const c_char,
21660        option_labels: *mut *const c_char,
21661    );
21662    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21663    pub fn gtk_file_chooser_add_shortcut_folder(
21664        chooser: *mut GtkFileChooser,
21665        folder: *mut gio::GFile,
21666        error: *mut *mut glib::GError,
21667    ) -> gboolean;
21668    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21669    pub fn gtk_file_chooser_get_choice(
21670        chooser: *mut GtkFileChooser,
21671        id: *const c_char,
21672    ) -> *const c_char;
21673    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21674    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21675    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21676    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21677    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21678    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21679    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21680    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21681    pub fn gtk_file_chooser_get_shortcut_folders(
21682        chooser: *mut GtkFileChooser,
21683    ) -> *mut gio::GListModel;
21684    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21685    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21686    pub fn gtk_file_chooser_remove_shortcut_folder(
21687        chooser: *mut GtkFileChooser,
21688        folder: *mut gio::GFile,
21689        error: *mut *mut glib::GError,
21690    ) -> gboolean;
21691    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21692    pub fn gtk_file_chooser_set_choice(
21693        chooser: *mut GtkFileChooser,
21694        id: *const c_char,
21695        option: *const c_char,
21696    );
21697    pub fn gtk_file_chooser_set_create_folders(
21698        chooser: *mut GtkFileChooser,
21699        create_folders: gboolean,
21700    );
21701    pub fn gtk_file_chooser_set_current_folder(
21702        chooser: *mut GtkFileChooser,
21703        file: *mut gio::GFile,
21704        error: *mut *mut glib::GError,
21705    ) -> gboolean;
21706    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21707    pub fn gtk_file_chooser_set_file(
21708        chooser: *mut GtkFileChooser,
21709        file: *mut gio::GFile,
21710        error: *mut *mut glib::GError,
21711    ) -> gboolean;
21712    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21713    pub fn gtk_file_chooser_set_select_multiple(
21714        chooser: *mut GtkFileChooser,
21715        select_multiple: gboolean,
21716    );
21717
21718    //=========================================================================
21719    // GtkFontChooser
21720    //=========================================================================
21721    pub fn gtk_font_chooser_get_type() -> GType;
21722    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21723    pub fn gtk_font_chooser_get_font_desc(
21724        fontchooser: *mut GtkFontChooser,
21725    ) -> *mut pango::PangoFontDescription;
21726    pub fn gtk_font_chooser_get_font_face(
21727        fontchooser: *mut GtkFontChooser,
21728    ) -> *mut pango::PangoFontFace;
21729    pub fn gtk_font_chooser_get_font_family(
21730        fontchooser: *mut GtkFontChooser,
21731    ) -> *mut pango::PangoFontFamily;
21732    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21733    pub fn gtk_font_chooser_get_font_map(
21734        fontchooser: *mut GtkFontChooser,
21735    ) -> *mut pango::PangoFontMap;
21736    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21737    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21738    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21739    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21740    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21741    pub fn gtk_font_chooser_set_filter_func(
21742        fontchooser: *mut GtkFontChooser,
21743        filter: GtkFontFilterFunc,
21744        user_data: gpointer,
21745        destroy: glib::GDestroyNotify,
21746    );
21747    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21748    pub fn gtk_font_chooser_set_font_desc(
21749        fontchooser: *mut GtkFontChooser,
21750        font_desc: *const pango::PangoFontDescription,
21751    );
21752    pub fn gtk_font_chooser_set_font_map(
21753        fontchooser: *mut GtkFontChooser,
21754        fontmap: *mut pango::PangoFontMap,
21755    );
21756    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21757    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21758    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21759    pub fn gtk_font_chooser_set_show_preview_entry(
21760        fontchooser: *mut GtkFontChooser,
21761        show_preview_entry: gboolean,
21762    );
21763
21764    //=========================================================================
21765    // GtkNative
21766    //=========================================================================
21767    pub fn gtk_native_get_type() -> GType;
21768    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21769    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21770    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21771    pub fn gtk_native_get_surface_transform(
21772        self_: *mut GtkNative,
21773        x: *mut c_double,
21774        y: *mut c_double,
21775    );
21776    pub fn gtk_native_realize(self_: *mut GtkNative);
21777    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21778
21779    //=========================================================================
21780    // GtkOrientable
21781    //=========================================================================
21782    pub fn gtk_orientable_get_type() -> GType;
21783    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21784    pub fn gtk_orientable_set_orientation(
21785        orientable: *mut GtkOrientable,
21786        orientation: GtkOrientation,
21787    );
21788
21789    //=========================================================================
21790    // GtkPrintOperationPreview
21791    //=========================================================================
21792    pub fn gtk_print_operation_preview_get_type() -> GType;
21793    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21794    pub fn gtk_print_operation_preview_is_selected(
21795        preview: *mut GtkPrintOperationPreview,
21796        page_nr: c_int,
21797    ) -> gboolean;
21798    pub fn gtk_print_operation_preview_render_page(
21799        preview: *mut GtkPrintOperationPreview,
21800        page_nr: c_int,
21801    );
21802
21803    //=========================================================================
21804    // GtkRoot
21805    //=========================================================================
21806    pub fn gtk_root_get_type() -> GType;
21807    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21808    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21809    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21810
21811    //=========================================================================
21812    // GtkScrollable
21813    //=========================================================================
21814    pub fn gtk_scrollable_get_type() -> GType;
21815    pub fn gtk_scrollable_get_border(
21816        scrollable: *mut GtkScrollable,
21817        border: *mut GtkBorder,
21818    ) -> gboolean;
21819    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21820    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21821    -> GtkScrollablePolicy;
21822    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21823    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21824    -> GtkScrollablePolicy;
21825    pub fn gtk_scrollable_set_hadjustment(
21826        scrollable: *mut GtkScrollable,
21827        hadjustment: *mut GtkAdjustment,
21828    );
21829    pub fn gtk_scrollable_set_hscroll_policy(
21830        scrollable: *mut GtkScrollable,
21831        policy: GtkScrollablePolicy,
21832    );
21833    pub fn gtk_scrollable_set_vadjustment(
21834        scrollable: *mut GtkScrollable,
21835        vadjustment: *mut GtkAdjustment,
21836    );
21837    pub fn gtk_scrollable_set_vscroll_policy(
21838        scrollable: *mut GtkScrollable,
21839        policy: GtkScrollablePolicy,
21840    );
21841
21842    //=========================================================================
21843    // GtkSectionModel
21844    //=========================================================================
21845    #[cfg(feature = "v4_12")]
21846    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21847    pub fn gtk_section_model_get_type() -> GType;
21848    #[cfg(feature = "v4_12")]
21849    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21850    pub fn gtk_section_model_get_section(
21851        self_: *mut GtkSectionModel,
21852        position: c_uint,
21853        out_start: *mut c_uint,
21854        out_end: *mut c_uint,
21855    );
21856    #[cfg(feature = "v4_12")]
21857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21858    pub fn gtk_section_model_sections_changed(
21859        self_: *mut GtkSectionModel,
21860        position: c_uint,
21861        n_items: c_uint,
21862    );
21863
21864    //=========================================================================
21865    // GtkSelectionModel
21866    //=========================================================================
21867    pub fn gtk_selection_model_get_type() -> GType;
21868    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21869    pub fn gtk_selection_model_get_selection_in_range(
21870        model: *mut GtkSelectionModel,
21871        position: c_uint,
21872        n_items: c_uint,
21873    ) -> *mut GtkBitset;
21874    pub fn gtk_selection_model_is_selected(
21875        model: *mut GtkSelectionModel,
21876        position: c_uint,
21877    ) -> gboolean;
21878    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21879    pub fn gtk_selection_model_select_item(
21880        model: *mut GtkSelectionModel,
21881        position: c_uint,
21882        unselect_rest: gboolean,
21883    ) -> gboolean;
21884    pub fn gtk_selection_model_select_range(
21885        model: *mut GtkSelectionModel,
21886        position: c_uint,
21887        n_items: c_uint,
21888        unselect_rest: gboolean,
21889    ) -> gboolean;
21890    pub fn gtk_selection_model_selection_changed(
21891        model: *mut GtkSelectionModel,
21892        position: c_uint,
21893        n_items: c_uint,
21894    );
21895    pub fn gtk_selection_model_set_selection(
21896        model: *mut GtkSelectionModel,
21897        selected: *mut GtkBitset,
21898        mask: *mut GtkBitset,
21899    ) -> gboolean;
21900    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21901    pub fn gtk_selection_model_unselect_item(
21902        model: *mut GtkSelectionModel,
21903        position: c_uint,
21904    ) -> gboolean;
21905    pub fn gtk_selection_model_unselect_range(
21906        model: *mut GtkSelectionModel,
21907        position: c_uint,
21908        n_items: c_uint,
21909    ) -> gboolean;
21910
21911    //=========================================================================
21912    // GtkShortcutManager
21913    //=========================================================================
21914    pub fn gtk_shortcut_manager_get_type() -> GType;
21915
21916    //=========================================================================
21917    // GtkStyleProvider
21918    //=========================================================================
21919    pub fn gtk_style_provider_get_type() -> GType;
21920
21921    //=========================================================================
21922    // GtkSymbolicPaintable
21923    //=========================================================================
21924    #[cfg(feature = "v4_6")]
21925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21926    pub fn gtk_symbolic_paintable_get_type() -> GType;
21927    #[cfg(feature = "v4_6")]
21928    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21929    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21930        paintable: *mut GtkSymbolicPaintable,
21931        snapshot: *mut gdk::GdkSnapshot,
21932        width: c_double,
21933        height: c_double,
21934        colors: *const gdk::GdkRGBA,
21935        n_colors: size_t,
21936    );
21937    #[cfg(feature = "v4_22")]
21938    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21939    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21940        paintable: *mut GtkSymbolicPaintable,
21941        snapshot: *mut gdk::GdkSnapshot,
21942        width: c_double,
21943        height: c_double,
21944        colors: *const gdk::GdkRGBA,
21945        n_colors: size_t,
21946        weight: c_double,
21947    );
21948
21949    //=========================================================================
21950    // GtkTreeDragDest
21951    //=========================================================================
21952    pub fn gtk_tree_drag_dest_get_type() -> GType;
21953    pub fn gtk_tree_drag_dest_drag_data_received(
21954        drag_dest: *mut GtkTreeDragDest,
21955        dest: *mut GtkTreePath,
21956        value: *const gobject::GValue,
21957    ) -> gboolean;
21958    pub fn gtk_tree_drag_dest_row_drop_possible(
21959        drag_dest: *mut GtkTreeDragDest,
21960        dest_path: *mut GtkTreePath,
21961        value: *const gobject::GValue,
21962    ) -> gboolean;
21963
21964    //=========================================================================
21965    // GtkTreeDragSource
21966    //=========================================================================
21967    pub fn gtk_tree_drag_source_get_type() -> GType;
21968    pub fn gtk_tree_drag_source_drag_data_delete(
21969        drag_source: *mut GtkTreeDragSource,
21970        path: *mut GtkTreePath,
21971    ) -> gboolean;
21972    pub fn gtk_tree_drag_source_drag_data_get(
21973        drag_source: *mut GtkTreeDragSource,
21974        path: *mut GtkTreePath,
21975    ) -> *mut gdk::GdkContentProvider;
21976    pub fn gtk_tree_drag_source_row_draggable(
21977        drag_source: *mut GtkTreeDragSource,
21978        path: *mut GtkTreePath,
21979    ) -> gboolean;
21980
21981    //=========================================================================
21982    // GtkTreeModel
21983    //=========================================================================
21984    pub fn gtk_tree_model_get_type() -> GType;
21985    pub fn gtk_tree_model_filter_new(
21986        child_model: *mut GtkTreeModel,
21987        root: *mut GtkTreePath,
21988    ) -> *mut GtkTreeModel;
21989    pub fn gtk_tree_model_foreach(
21990        model: *mut GtkTreeModel,
21991        func: GtkTreeModelForeachFunc,
21992        user_data: gpointer,
21993    );
21994    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
21995    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
21996    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
21997    pub fn gtk_tree_model_get_iter(
21998        tree_model: *mut GtkTreeModel,
21999        iter: *mut GtkTreeIter,
22000        path: *mut GtkTreePath,
22001    ) -> gboolean;
22002    pub fn gtk_tree_model_get_iter_first(
22003        tree_model: *mut GtkTreeModel,
22004        iter: *mut GtkTreeIter,
22005    ) -> gboolean;
22006    pub fn gtk_tree_model_get_iter_from_string(
22007        tree_model: *mut GtkTreeModel,
22008        iter: *mut GtkTreeIter,
22009        path_string: *const c_char,
22010    ) -> gboolean;
22011    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
22012    pub fn gtk_tree_model_get_path(
22013        tree_model: *mut GtkTreeModel,
22014        iter: *mut GtkTreeIter,
22015    ) -> *mut GtkTreePath;
22016    pub fn gtk_tree_model_get_string_from_iter(
22017        tree_model: *mut GtkTreeModel,
22018        iter: *mut GtkTreeIter,
22019    ) -> *mut c_char;
22020    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
22021    pub fn gtk_tree_model_get_value(
22022        tree_model: *mut GtkTreeModel,
22023        iter: *mut GtkTreeIter,
22024        column: c_int,
22025        value: *mut gobject::GValue,
22026    );
22027    pub fn gtk_tree_model_iter_children(
22028        tree_model: *mut GtkTreeModel,
22029        iter: *mut GtkTreeIter,
22030        parent: *mut GtkTreeIter,
22031    ) -> gboolean;
22032    pub fn gtk_tree_model_iter_has_child(
22033        tree_model: *mut GtkTreeModel,
22034        iter: *mut GtkTreeIter,
22035    ) -> gboolean;
22036    pub fn gtk_tree_model_iter_n_children(
22037        tree_model: *mut GtkTreeModel,
22038        iter: *mut GtkTreeIter,
22039    ) -> c_int;
22040    pub fn gtk_tree_model_iter_next(
22041        tree_model: *mut GtkTreeModel,
22042        iter: *mut GtkTreeIter,
22043    ) -> gboolean;
22044    pub fn gtk_tree_model_iter_nth_child(
22045        tree_model: *mut GtkTreeModel,
22046        iter: *mut GtkTreeIter,
22047        parent: *mut GtkTreeIter,
22048        n: c_int,
22049    ) -> gboolean;
22050    pub fn gtk_tree_model_iter_parent(
22051        tree_model: *mut GtkTreeModel,
22052        iter: *mut GtkTreeIter,
22053        child: *mut GtkTreeIter,
22054    ) -> gboolean;
22055    pub fn gtk_tree_model_iter_previous(
22056        tree_model: *mut GtkTreeModel,
22057        iter: *mut GtkTreeIter,
22058    ) -> gboolean;
22059    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22060    pub fn gtk_tree_model_row_changed(
22061        tree_model: *mut GtkTreeModel,
22062        path: *mut GtkTreePath,
22063        iter: *mut GtkTreeIter,
22064    );
22065    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
22066    pub fn gtk_tree_model_row_has_child_toggled(
22067        tree_model: *mut GtkTreeModel,
22068        path: *mut GtkTreePath,
22069        iter: *mut GtkTreeIter,
22070    );
22071    pub fn gtk_tree_model_row_inserted(
22072        tree_model: *mut GtkTreeModel,
22073        path: *mut GtkTreePath,
22074        iter: *mut GtkTreeIter,
22075    );
22076    pub fn gtk_tree_model_rows_reordered(
22077        tree_model: *mut GtkTreeModel,
22078        path: *mut GtkTreePath,
22079        iter: *mut GtkTreeIter,
22080        new_order: *mut c_int,
22081    );
22082    pub fn gtk_tree_model_rows_reordered_with_length(
22083        tree_model: *mut GtkTreeModel,
22084        path: *mut GtkTreePath,
22085        iter: *mut GtkTreeIter,
22086        new_order: *mut c_int,
22087        length: c_int,
22088    );
22089    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22090
22091    //=========================================================================
22092    // GtkTreeSortable
22093    //=========================================================================
22094    pub fn gtk_tree_sortable_get_type() -> GType;
22095    pub fn gtk_tree_sortable_get_sort_column_id(
22096        sortable: *mut GtkTreeSortable,
22097        sort_column_id: *mut c_int,
22098        order: *mut GtkSortType,
22099    ) -> gboolean;
22100    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
22101    pub fn gtk_tree_sortable_set_default_sort_func(
22102        sortable: *mut GtkTreeSortable,
22103        sort_func: GtkTreeIterCompareFunc,
22104        user_data: gpointer,
22105        destroy: glib::GDestroyNotify,
22106    );
22107    pub fn gtk_tree_sortable_set_sort_column_id(
22108        sortable: *mut GtkTreeSortable,
22109        sort_column_id: c_int,
22110        order: GtkSortType,
22111    );
22112    pub fn gtk_tree_sortable_set_sort_func(
22113        sortable: *mut GtkTreeSortable,
22114        sort_column_id: c_int,
22115        sort_func: GtkTreeIterCompareFunc,
22116        user_data: gpointer,
22117        destroy: glib::GDestroyNotify,
22118    );
22119    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
22120
22121    //=========================================================================
22122    // Other functions
22123    //=========================================================================
22124    #[cfg(feature = "v4_22")]
22125    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22126    pub fn gtk_accelerator_get_accessible_label(
22127        accelerator_key: c_uint,
22128        accelerator_mods: gdk::GdkModifierType,
22129    ) -> *mut c_char;
22130    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
22131    pub fn gtk_accelerator_get_label(
22132        accelerator_key: c_uint,
22133        accelerator_mods: gdk::GdkModifierType,
22134    ) -> *mut c_char;
22135    pub fn gtk_accelerator_get_label_with_keycode(
22136        display: *mut gdk::GdkDisplay,
22137        accelerator_key: c_uint,
22138        keycode: c_uint,
22139        accelerator_mods: gdk::GdkModifierType,
22140    ) -> *mut c_char;
22141    pub fn gtk_accelerator_name(
22142        accelerator_key: c_uint,
22143        accelerator_mods: gdk::GdkModifierType,
22144    ) -> *mut c_char;
22145    pub fn gtk_accelerator_name_with_keycode(
22146        display: *mut gdk::GdkDisplay,
22147        accelerator_key: c_uint,
22148        keycode: c_uint,
22149        accelerator_mods: gdk::GdkModifierType,
22150    ) -> *mut c_char;
22151    pub fn gtk_accelerator_parse(
22152        accelerator: *const c_char,
22153        accelerator_key: *mut c_uint,
22154        accelerator_mods: *mut gdk::GdkModifierType,
22155    ) -> gboolean;
22156    pub fn gtk_accelerator_parse_with_keycode(
22157        accelerator: *const c_char,
22158        display: *mut gdk::GdkDisplay,
22159        accelerator_key: *mut c_uint,
22160        accelerator_codes: *mut *mut c_uint,
22161        accelerator_mods: *mut gdk::GdkModifierType,
22162    ) -> gboolean;
22163    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
22164    pub fn gtk_check_version(
22165        required_major: c_uint,
22166        required_minor: c_uint,
22167        required_micro: c_uint,
22168    ) -> *const c_char;
22169    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
22170    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
22171    #[cfg(feature = "v4_22")]
22172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22173    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
22174    #[cfg(feature = "v4_18")]
22175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
22176    pub fn gtk_disable_portals();
22177    pub fn gtk_disable_setlocale();
22178    pub fn gtk_distribute_natural_allocation(
22179        extra_space: c_int,
22180        n_requested_sizes: c_uint,
22181        sizes: *mut GtkRequestedSize,
22182    ) -> c_int;
22183    pub fn gtk_enumerate_printers(
22184        func: GtkPrinterFunc,
22185        data: gpointer,
22186        destroy: glib::GDestroyNotify,
22187        wait: gboolean,
22188    );
22189    pub fn gtk_get_binary_age() -> c_uint;
22190    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22191    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22192    pub fn gtk_get_interface_age() -> c_uint;
22193    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22194    pub fn gtk_get_major_version() -> c_uint;
22195    pub fn gtk_get_micro_version() -> c_uint;
22196    pub fn gtk_get_minor_version() -> c_uint;
22197    pub fn gtk_hsv_to_rgb(
22198        h: c_float,
22199        s: c_float,
22200        v: c_float,
22201        r: *mut c_float,
22202        g: *mut c_float,
22203        b: *mut c_float,
22204    );
22205    pub fn gtk_init();
22206    pub fn gtk_init_check() -> gboolean;
22207    pub fn gtk_is_initialized() -> gboolean;
22208    pub fn gtk_param_spec_expression(
22209        name: *const c_char,
22210        nick: *const c_char,
22211        blurb: *const c_char,
22212        flags: gobject::GParamFlags,
22213    ) -> *mut gobject::GParamSpec;
22214    pub fn gtk_print_run_page_setup_dialog(
22215        parent: *mut GtkWindow,
22216        page_setup: *mut GtkPageSetup,
22217        settings: *mut GtkPrintSettings,
22218    ) -> *mut GtkPageSetup;
22219    pub fn gtk_print_run_page_setup_dialog_async(
22220        parent: *mut GtkWindow,
22221        page_setup: *mut GtkPageSetup,
22222        settings: *mut GtkPrintSettings,
22223        done_cb: GtkPageSetupDoneFunc,
22224        data: gpointer,
22225    );
22226    pub fn gtk_render_activity(
22227        context: *mut GtkStyleContext,
22228        cr: *mut cairo::cairo_t,
22229        x: c_double,
22230        y: c_double,
22231        width: c_double,
22232        height: c_double,
22233    );
22234    pub fn gtk_render_arrow(
22235        context: *mut GtkStyleContext,
22236        cr: *mut cairo::cairo_t,
22237        angle: c_double,
22238        x: c_double,
22239        y: c_double,
22240        size: c_double,
22241    );
22242    pub fn gtk_render_background(
22243        context: *mut GtkStyleContext,
22244        cr: *mut cairo::cairo_t,
22245        x: c_double,
22246        y: c_double,
22247        width: c_double,
22248        height: c_double,
22249    );
22250    pub fn gtk_render_check(
22251        context: *mut GtkStyleContext,
22252        cr: *mut cairo::cairo_t,
22253        x: c_double,
22254        y: c_double,
22255        width: c_double,
22256        height: c_double,
22257    );
22258    pub fn gtk_render_expander(
22259        context: *mut GtkStyleContext,
22260        cr: *mut cairo::cairo_t,
22261        x: c_double,
22262        y: c_double,
22263        width: c_double,
22264        height: c_double,
22265    );
22266    pub fn gtk_render_focus(
22267        context: *mut GtkStyleContext,
22268        cr: *mut cairo::cairo_t,
22269        x: c_double,
22270        y: c_double,
22271        width: c_double,
22272        height: c_double,
22273    );
22274    pub fn gtk_render_frame(
22275        context: *mut GtkStyleContext,
22276        cr: *mut cairo::cairo_t,
22277        x: c_double,
22278        y: c_double,
22279        width: c_double,
22280        height: c_double,
22281    );
22282    pub fn gtk_render_handle(
22283        context: *mut GtkStyleContext,
22284        cr: *mut cairo::cairo_t,
22285        x: c_double,
22286        y: c_double,
22287        width: c_double,
22288        height: c_double,
22289    );
22290    pub fn gtk_render_icon(
22291        context: *mut GtkStyleContext,
22292        cr: *mut cairo::cairo_t,
22293        texture: *mut gdk::GdkTexture,
22294        x: c_double,
22295        y: c_double,
22296    );
22297    pub fn gtk_render_layout(
22298        context: *mut GtkStyleContext,
22299        cr: *mut cairo::cairo_t,
22300        x: c_double,
22301        y: c_double,
22302        layout: *mut pango::PangoLayout,
22303    );
22304    pub fn gtk_render_line(
22305        context: *mut GtkStyleContext,
22306        cr: *mut cairo::cairo_t,
22307        x0: c_double,
22308        y0: c_double,
22309        x1: c_double,
22310        y1: c_double,
22311    );
22312    pub fn gtk_render_option(
22313        context: *mut GtkStyleContext,
22314        cr: *mut cairo::cairo_t,
22315        x: c_double,
22316        y: c_double,
22317        width: c_double,
22318        height: c_double,
22319    );
22320    pub fn gtk_rgb_to_hsv(
22321        r: c_float,
22322        g: c_float,
22323        b: c_float,
22324        h: *mut c_float,
22325        s: *mut c_float,
22326        v: *mut c_float,
22327    );
22328    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22329    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22330    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22331    pub fn gtk_show_uri_full(
22332        parent: *mut GtkWindow,
22333        uri: *const c_char,
22334        timestamp: u32,
22335        cancellable: *mut gio::GCancellable,
22336        callback: gio::GAsyncReadyCallback,
22337        user_data: gpointer,
22338    );
22339    pub fn gtk_show_uri_full_finish(
22340        parent: *mut GtkWindow,
22341        result: *mut gio::GAsyncResult,
22342        error: *mut *mut glib::GError,
22343    ) -> gboolean;
22344    #[cfg(feature = "v4_10")]
22345    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22346    pub fn gtk_test_accessible_assertion_message_role(
22347        domain: *const c_char,
22348        file: *const c_char,
22349        line: c_int,
22350        func: *const c_char,
22351        expr: *const c_char,
22352        accessible: *mut GtkAccessible,
22353        expected_role: GtkAccessibleRole,
22354        actual_role: GtkAccessibleRole,
22355    );
22356    #[cfg(feature = "v4_10")]
22357    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22358    pub fn gtk_test_accessible_check_property(
22359        accessible: *mut GtkAccessible,
22360        property: GtkAccessibleProperty,
22361        ...
22362    ) -> *mut c_char;
22363    #[cfg(feature = "v4_10")]
22364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22365    pub fn gtk_test_accessible_check_relation(
22366        accessible: *mut GtkAccessible,
22367        relation: GtkAccessibleRelation,
22368        ...
22369    ) -> *mut c_char;
22370    #[cfg(feature = "v4_10")]
22371    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22372    pub fn gtk_test_accessible_check_state(
22373        accessible: *mut GtkAccessible,
22374        state: GtkAccessibleState,
22375        ...
22376    ) -> *mut c_char;
22377    #[cfg(feature = "v4_10")]
22378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22379    pub fn gtk_test_accessible_has_property(
22380        accessible: *mut GtkAccessible,
22381        property: GtkAccessibleProperty,
22382    ) -> gboolean;
22383    #[cfg(feature = "v4_10")]
22384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22385    pub fn gtk_test_accessible_has_relation(
22386        accessible: *mut GtkAccessible,
22387        relation: GtkAccessibleRelation,
22388    ) -> gboolean;
22389    #[cfg(feature = "v4_10")]
22390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22391    pub fn gtk_test_accessible_has_role(
22392        accessible: *mut GtkAccessible,
22393        role: GtkAccessibleRole,
22394    ) -> gboolean;
22395    #[cfg(feature = "v4_10")]
22396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22397    pub fn gtk_test_accessible_has_state(
22398        accessible: *mut GtkAccessible,
22399        state: GtkAccessibleState,
22400    ) -> gboolean;
22401    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22402    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22403    pub fn gtk_test_register_all_types();
22404    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22405    pub fn gtk_tree_create_row_drag_content(
22406        tree_model: *mut GtkTreeModel,
22407        path: *mut GtkTreePath,
22408    ) -> *mut gdk::GdkContentProvider;
22409    pub fn gtk_tree_get_row_drag_data(
22410        value: *const gobject::GValue,
22411        tree_model: *mut *mut GtkTreeModel,
22412        path: *mut *mut GtkTreePath,
22413    ) -> gboolean;
22414    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22415    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22416    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22417    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22418
22419}