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
1158pub type GtkDialogFlags = c_uint;
1159pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1160pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1161pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1162
1163pub type GtkEventControllerScrollFlags = c_uint;
1164pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1165pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1166pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1167pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1168pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1169#[cfg(feature = "v4_20")]
1170#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1171pub const GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION: GtkEventControllerScrollFlags = 16;
1172pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1173
1174pub type GtkFontChooserLevel = c_uint;
1175pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1176pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1177pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1178pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1179pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1180
1181pub type GtkIconLookupFlags = c_uint;
1182#[cfg(feature = "v4_18")]
1183#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1184pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1185pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1186pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1187pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1188
1189pub type GtkInputHints = c_uint;
1190pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1191pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1192pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1193pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1194pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1195pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1196pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1197pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1198pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1199pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1200pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1201pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1202pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1203
1204pub type GtkListScrollFlags = c_uint;
1205pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1206pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1207pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1208
1209pub type GtkPickFlags = c_uint;
1210pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1211pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1212pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1213
1214pub type GtkPopoverMenuFlags = c_uint;
1215#[cfg(feature = "v4_14")]
1216#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1217pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1218pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1219
1220pub type GtkPrintCapabilities = c_uint;
1221pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1222pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1223pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1224pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1225pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1226pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1227pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1228pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1229pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1230pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1231
1232pub type GtkShortcutActionFlags = c_uint;
1233pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1234
1235pub type GtkStateFlags = c_uint;
1236pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1237pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1238pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1239pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1240pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1241pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1242pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1243pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1244pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1245pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1246pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1247pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1248pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1249pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1250pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1251pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1252
1253pub type GtkStyleContextPrintFlags = c_uint;
1254pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1255pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1256pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1257pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1258
1259pub type GtkSvgFeatures = c_uint;
1260pub const GTK_SVG_ANIMATIONS: GtkSvgFeatures = 1;
1261pub const GTK_SVG_SYSTEM_RESOURCES: GtkSvgFeatures = 2;
1262pub const GTK_SVG_EXTERNAL_RESOURCES: GtkSvgFeatures = 4;
1263pub const GTK_SVG_EXTENSIONS: GtkSvgFeatures = 8;
1264pub const GTK_SVG_TRADITIONAL_SYMBOLIC: GtkSvgFeatures = 16;
1265
1266pub type GtkTextBufferNotifyFlags = c_uint;
1267pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1268pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1269pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1270pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1271
1272pub type GtkTextSearchFlags = c_uint;
1273pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1274pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1275pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1276
1277pub type GtkTreeModelFlags = c_uint;
1278pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1279pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1280
1281// Callbacks
1282pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1283pub type GtkCellAllocCallback = Option<
1284    unsafe extern "C" fn(
1285        *mut GtkCellRenderer,
1286        *const gdk::GdkRectangle,
1287        *const gdk::GdkRectangle,
1288        gpointer,
1289    ) -> gboolean,
1290>;
1291pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1292pub type GtkCellLayoutDataFunc = Option<
1293    unsafe extern "C" fn(
1294        *mut GtkCellLayout,
1295        *mut GtkCellRenderer,
1296        *mut GtkTreeModel,
1297        *mut GtkTreeIter,
1298        gpointer,
1299    ),
1300>;
1301pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1302pub type GtkCustomFilterFunc =
1303    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1304pub type GtkCustomMeasureFunc = Option<
1305    unsafe extern "C" fn(
1306        *mut GtkWidget,
1307        GtkOrientation,
1308        c_int,
1309        *mut c_int,
1310        *mut c_int,
1311        *mut c_int,
1312        *mut c_int,
1313    ),
1314>;
1315pub type GtkCustomRequestModeFunc =
1316    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1317pub type GtkDrawingAreaDrawFunc =
1318    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1319pub type GtkEntryCompletionMatchFunc = Option<
1320    unsafe extern "C" fn(
1321        *mut GtkEntryCompletion,
1322        *const c_char,
1323        *mut GtkTreeIter,
1324        gpointer,
1325    ) -> gboolean,
1326>;
1327pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1328pub type GtkFlowBoxCreateWidgetFunc =
1329    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1330pub type GtkFlowBoxFilterFunc =
1331    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1332pub type GtkFlowBoxForeachFunc =
1333    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1334pub type GtkFlowBoxSortFunc =
1335    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1336pub type GtkFontFilterFunc = Option<
1337    unsafe extern "C" fn(
1338        *const pango::PangoFontFamily,
1339        *const pango::PangoFontFace,
1340        gpointer,
1341    ) -> gboolean,
1342>;
1343pub type GtkIconViewForeachFunc =
1344    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1345pub type GtkListBoxCreateWidgetFunc =
1346    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1347pub type GtkListBoxFilterFunc =
1348    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1349pub type GtkListBoxForeachFunc =
1350    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1351pub type GtkListBoxSortFunc =
1352    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1353pub type GtkListBoxUpdateHeaderFunc =
1354    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1355pub type GtkMapListModelMapFunc =
1356    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1357pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1358pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1359pub type GtkPrintJobCompleteFunc =
1360    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1361pub type GtkPrintSettingsFunc =
1362    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1363pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1364pub type GtkScaleFormatValueFunc =
1365    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1366pub type GtkShortcutFunc =
1367    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1368pub type GtkTextBufferCommitNotify = Option<
1369    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1370>;
1371pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1372pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1373pub type GtkTickCallback =
1374    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1375pub type GtkTreeCellDataFunc = Option<
1376    unsafe extern "C" fn(
1377        *mut GtkTreeViewColumn,
1378        *mut GtkCellRenderer,
1379        *mut GtkTreeModel,
1380        *mut GtkTreeIter,
1381        gpointer,
1382    ),
1383>;
1384pub type GtkTreeIterCompareFunc = Option<
1385    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1386>;
1387pub type GtkTreeListModelCreateModelFunc =
1388    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1389pub type GtkTreeModelFilterModifyFunc = Option<
1390    unsafe extern "C" fn(
1391        *mut GtkTreeModel,
1392        *mut GtkTreeIter,
1393        *mut gobject::GValue,
1394        c_int,
1395        gpointer,
1396    ),
1397>;
1398pub type GtkTreeModelFilterVisibleFunc =
1399    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1400pub type GtkTreeModelForeachFunc = Option<
1401    unsafe extern "C" fn(
1402        *mut GtkTreeModel,
1403        *mut GtkTreePath,
1404        *mut GtkTreeIter,
1405        gpointer,
1406    ) -> gboolean,
1407>;
1408pub type GtkTreeSelectionForeachFunc =
1409    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1410pub type GtkTreeSelectionFunc = Option<
1411    unsafe extern "C" fn(
1412        *mut GtkTreeSelection,
1413        *mut GtkTreeModel,
1414        *mut GtkTreePath,
1415        gboolean,
1416        gpointer,
1417    ) -> gboolean,
1418>;
1419pub type GtkTreeViewColumnDropFunc = Option<
1420    unsafe extern "C" fn(
1421        *mut GtkTreeView,
1422        *mut GtkTreeViewColumn,
1423        *mut GtkTreeViewColumn,
1424        *mut GtkTreeViewColumn,
1425        gpointer,
1426    ) -> gboolean,
1427>;
1428pub type GtkTreeViewMappingFunc =
1429    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1430pub type GtkTreeViewRowSeparatorFunc =
1431    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1432pub type GtkTreeViewSearchEqualFunc = Option<
1433    unsafe extern "C" fn(
1434        *mut GtkTreeModel,
1435        c_int,
1436        *const c_char,
1437        *mut GtkTreeIter,
1438        gpointer,
1439    ) -> gboolean,
1440>;
1441pub type GtkWidgetActionActivateFunc =
1442    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1443
1444// Records
1445#[repr(C)]
1446#[allow(dead_code)]
1447pub struct _GtkATContextClass {
1448    _data: [u8; 0],
1449    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1450}
1451
1452pub type GtkATContextClass = _GtkATContextClass;
1453
1454#[derive(Copy, Clone)]
1455#[repr(C)]
1456pub struct GtkAccessibleHyperlinkClass {
1457    pub parent_class: gobject::GObjectClass,
1458}
1459
1460impl ::std::fmt::Debug for GtkAccessibleHyperlinkClass {
1461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1462        f.debug_struct(&format!("GtkAccessibleHyperlinkClass @ {self:p}"))
1463            .field("parent_class", &self.parent_class)
1464            .finish()
1465    }
1466}
1467
1468#[derive(Copy, Clone)]
1469#[repr(C)]
1470pub struct GtkAccessibleHypertextInterface {
1471    pub g_iface: gobject::GTypeInterface,
1472    pub get_n_links: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext) -> c_uint>,
1473    pub get_link: Option<
1474        unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> *mut GtkAccessibleHyperlink,
1475    >,
1476    pub get_link_at: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> c_uint>,
1477}
1478
1479impl ::std::fmt::Debug for GtkAccessibleHypertextInterface {
1480    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1481        f.debug_struct(&format!("GtkAccessibleHypertextInterface @ {self:p}"))
1482            .field("get_n_links", &self.get_n_links)
1483            .field("get_link", &self.get_link)
1484            .field("get_link_at", &self.get_link_at)
1485            .finish()
1486    }
1487}
1488
1489#[derive(Copy, Clone)]
1490#[repr(C)]
1491pub struct GtkAccessibleInterface {
1492    pub g_iface: gobject::GTypeInterface,
1493    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1494    pub get_platform_state:
1495        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1496    pub get_accessible_parent:
1497        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1498    pub get_first_accessible_child:
1499        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1500    pub get_next_accessible_sibling:
1501        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1502    pub get_bounds: Option<
1503        unsafe extern "C" fn(
1504            *mut GtkAccessible,
1505            *mut c_int,
1506            *mut c_int,
1507            *mut c_int,
1508            *mut c_int,
1509        ) -> gboolean,
1510    >,
1511    pub get_accessible_id: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut c_char>,
1512}
1513
1514impl ::std::fmt::Debug for GtkAccessibleInterface {
1515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1516        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1517            .field("g_iface", &self.g_iface)
1518            .field("get_at_context", &self.get_at_context)
1519            .field("get_platform_state", &self.get_platform_state)
1520            .field("get_accessible_parent", &self.get_accessible_parent)
1521            .field(
1522                "get_first_accessible_child",
1523                &self.get_first_accessible_child,
1524            )
1525            .field(
1526                "get_next_accessible_sibling",
1527                &self.get_next_accessible_sibling,
1528            )
1529            .field("get_bounds", &self.get_bounds)
1530            .field("get_accessible_id", &self.get_accessible_id)
1531            .finish()
1532    }
1533}
1534
1535#[repr(C)]
1536#[allow(dead_code)]
1537pub struct GtkAccessibleList {
1538    _data: [u8; 0],
1539    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1540}
1541
1542impl ::std::fmt::Debug for GtkAccessibleList {
1543    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1544        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1545            .finish()
1546    }
1547}
1548
1549#[derive(Copy, Clone)]
1550#[repr(C)]
1551pub struct GtkAccessibleRangeInterface {
1552    pub g_iface: gobject::GTypeInterface,
1553    pub set_current_value:
1554        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1555}
1556
1557impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1558    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1559        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1560            .field("g_iface", &self.g_iface)
1561            .field("set_current_value", &self.set_current_value)
1562            .finish()
1563    }
1564}
1565
1566#[derive(Copy, Clone)]
1567#[repr(C)]
1568pub struct GtkAccessibleTextInterface {
1569    pub g_iface: gobject::GTypeInterface,
1570    pub get_contents:
1571        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1572    pub get_contents_at: Option<
1573        unsafe extern "C" fn(
1574            *mut GtkAccessibleText,
1575            c_uint,
1576            GtkAccessibleTextGranularity,
1577            *mut c_uint,
1578            *mut c_uint,
1579        ) -> *mut glib::GBytes,
1580    >,
1581    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1582    pub get_selection: Option<
1583        unsafe extern "C" fn(
1584            *mut GtkAccessibleText,
1585            *mut size_t,
1586            *mut *mut GtkAccessibleTextRange,
1587        ) -> gboolean,
1588    >,
1589    pub get_attributes: Option<
1590        unsafe extern "C" fn(
1591            *mut GtkAccessibleText,
1592            c_uint,
1593            *mut size_t,
1594            *mut *mut GtkAccessibleTextRange,
1595            *mut *mut *mut c_char,
1596            *mut *mut *mut c_char,
1597        ) -> gboolean,
1598    >,
1599    pub get_default_attributes: Option<
1600        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1601    >,
1602    pub get_extents: Option<
1603        unsafe extern "C" fn(
1604            *mut GtkAccessibleText,
1605            c_uint,
1606            c_uint,
1607            *mut graphene::graphene_rect_t,
1608        ) -> gboolean,
1609    >,
1610    pub get_offset: Option<
1611        unsafe extern "C" fn(
1612            *mut GtkAccessibleText,
1613            *const graphene::graphene_point_t,
1614            *mut c_uint,
1615        ) -> gboolean,
1616    >,
1617    pub set_caret_position:
1618        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint) -> gboolean>,
1619    pub set_selection: Option<
1620        unsafe extern "C" fn(
1621            *mut GtkAccessibleText,
1622            size_t,
1623            *mut GtkAccessibleTextRange,
1624        ) -> gboolean,
1625    >,
1626}
1627
1628impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1629    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1630        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1631            .field("get_contents", &self.get_contents)
1632            .field("get_contents_at", &self.get_contents_at)
1633            .field("get_caret_position", &self.get_caret_position)
1634            .field("get_selection", &self.get_selection)
1635            .field("get_attributes", &self.get_attributes)
1636            .field("get_default_attributes", &self.get_default_attributes)
1637            .field("get_extents", &self.get_extents)
1638            .field("get_offset", &self.get_offset)
1639            .field("set_caret_position", &self.set_caret_position)
1640            .field("set_selection", &self.set_selection)
1641            .finish()
1642    }
1643}
1644
1645#[derive(Copy, Clone)]
1646#[repr(C)]
1647pub struct GtkAccessibleTextRange {
1648    pub start: size_t,
1649    pub length: size_t,
1650}
1651
1652impl ::std::fmt::Debug for GtkAccessibleTextRange {
1653    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1654        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1655            .field("start", &self.start)
1656            .field("length", &self.length)
1657            .finish()
1658    }
1659}
1660
1661#[derive(Copy, Clone)]
1662#[repr(C)]
1663pub struct GtkActionableInterface {
1664    pub g_iface: gobject::GTypeInterface,
1665    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1666    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1667    pub get_action_target_value:
1668        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1669    pub set_action_target_value:
1670        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1671}
1672
1673impl ::std::fmt::Debug for GtkActionableInterface {
1674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1675        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1676            .field("get_action_name", &self.get_action_name)
1677            .field("set_action_name", &self.set_action_name)
1678            .field("get_action_target_value", &self.get_action_target_value)
1679            .field("set_action_target_value", &self.set_action_target_value)
1680            .finish()
1681    }
1682}
1683
1684#[repr(C)]
1685#[allow(dead_code)]
1686pub struct _GtkActivateActionClass {
1687    _data: [u8; 0],
1688    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1689}
1690
1691pub type GtkActivateActionClass = _GtkActivateActionClass;
1692
1693#[derive(Copy, Clone)]
1694#[repr(C)]
1695pub struct GtkAdjustmentClass {
1696    pub parent_class: gobject::GInitiallyUnownedClass,
1697    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1698    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1699    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1700    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1701    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1702    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1703}
1704
1705impl ::std::fmt::Debug for GtkAdjustmentClass {
1706    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1707        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1708            .field("parent_class", &self.parent_class)
1709            .field("changed", &self.changed)
1710            .field("value_changed", &self.value_changed)
1711            .field("_gtk_reserved1", &self._gtk_reserved1)
1712            .field("_gtk_reserved2", &self._gtk_reserved2)
1713            .field("_gtk_reserved3", &self._gtk_reserved3)
1714            .field("_gtk_reserved4", &self._gtk_reserved4)
1715            .finish()
1716    }
1717}
1718
1719#[derive(Copy, Clone)]
1720#[repr(C)]
1721pub struct GtkAlertDialogClass {
1722    pub parent_class: gobject::GObjectClass,
1723}
1724
1725impl ::std::fmt::Debug for GtkAlertDialogClass {
1726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1727        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1728            .field("parent_class", &self.parent_class)
1729            .finish()
1730    }
1731}
1732
1733#[repr(C)]
1734#[allow(dead_code)]
1735pub struct _GtkAlternativeTriggerClass {
1736    _data: [u8; 0],
1737    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1738}
1739
1740pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1741
1742#[repr(C)]
1743#[allow(dead_code)]
1744pub struct _GtkAnyFilterClass {
1745    _data: [u8; 0],
1746    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1747}
1748
1749pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1750
1751#[derive(Copy, Clone)]
1752#[repr(C)]
1753pub struct GtkApplicationClass {
1754    pub parent_class: gio::GApplicationClass,
1755    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1756    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1757    pub save_state:
1758        Option<unsafe extern "C" fn(*mut GtkApplication, *mut glib::GVariantDict) -> gboolean>,
1759    pub restore_state: Option<
1760        unsafe extern "C" fn(
1761            *mut GtkApplication,
1762            GtkRestoreReason,
1763            *mut glib::GVariant,
1764        ) -> gboolean,
1765    >,
1766    pub restore_window:
1767        Option<unsafe extern "C" fn(*mut GtkApplication, GtkRestoreReason, *mut glib::GVariant)>,
1768    pub padding: [gpointer; 5],
1769}
1770
1771impl ::std::fmt::Debug for GtkApplicationClass {
1772    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1773        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1774            .field("parent_class", &self.parent_class)
1775            .field("window_added", &self.window_added)
1776            .field("window_removed", &self.window_removed)
1777            .field("save_state", &self.save_state)
1778            .field("restore_state", &self.restore_state)
1779            .field("restore_window", &self.restore_window)
1780            .finish()
1781    }
1782}
1783
1784#[derive(Copy, Clone)]
1785#[repr(C)]
1786pub struct GtkApplicationWindowClass {
1787    pub parent_class: GtkWindowClass,
1788    pub save_state: Option<
1789        unsafe extern "C" fn(*mut GtkApplicationWindow, *mut glib::GVariantDict) -> gboolean,
1790    >,
1791    pub padding: [gpointer; 7],
1792}
1793
1794impl ::std::fmt::Debug for GtkApplicationWindowClass {
1795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1796        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1797            .field("parent_class", &self.parent_class)
1798            .field("save_state", &self.save_state)
1799            .finish()
1800    }
1801}
1802
1803#[derive(Copy, Clone)]
1804#[repr(C)]
1805pub struct GtkBinLayoutClass {
1806    pub parent_class: GtkLayoutManagerClass,
1807}
1808
1809impl ::std::fmt::Debug for GtkBinLayoutClass {
1810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1811        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1812            .field("parent_class", &self.parent_class)
1813            .finish()
1814    }
1815}
1816
1817#[repr(C)]
1818#[allow(dead_code)]
1819pub struct GtkBitset {
1820    _data: [u8; 0],
1821    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1822}
1823
1824impl ::std::fmt::Debug for GtkBitset {
1825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1826        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1827    }
1828}
1829
1830#[derive(Copy, Clone)]
1831#[repr(C)]
1832pub struct GtkBitsetIter {
1833    pub private_data: [gpointer; 10],
1834}
1835
1836impl ::std::fmt::Debug for GtkBitsetIter {
1837    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1838        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1839            .finish()
1840    }
1841}
1842
1843#[derive(Copy, Clone)]
1844#[repr(C)]
1845pub struct GtkBookmarkListClass {
1846    pub parent_class: gobject::GObjectClass,
1847}
1848
1849impl ::std::fmt::Debug for GtkBookmarkListClass {
1850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1851        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1852            .field("parent_class", &self.parent_class)
1853            .finish()
1854    }
1855}
1856
1857#[derive(Copy, Clone)]
1858#[repr(C)]
1859pub struct GtkBoolFilterClass {
1860    pub parent_class: GtkFilterClass,
1861}
1862
1863impl ::std::fmt::Debug for GtkBoolFilterClass {
1864    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1865        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1866            .field("parent_class", &self.parent_class)
1867            .finish()
1868    }
1869}
1870
1871#[derive(Copy, Clone)]
1872#[repr(C)]
1873pub struct GtkBorder {
1874    pub left: i16,
1875    pub right: i16,
1876    pub top: i16,
1877    pub bottom: i16,
1878}
1879
1880impl ::std::fmt::Debug for GtkBorder {
1881    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1882        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1883            .field("left", &self.left)
1884            .field("right", &self.right)
1885            .field("top", &self.top)
1886            .field("bottom", &self.bottom)
1887            .finish()
1888    }
1889}
1890
1891#[derive(Copy, Clone)]
1892#[repr(C)]
1893pub struct GtkBoxClass {
1894    pub parent_class: GtkWidgetClass,
1895    pub padding: [gpointer; 8],
1896}
1897
1898impl ::std::fmt::Debug for GtkBoxClass {
1899    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1900        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1901            .field("parent_class", &self.parent_class)
1902            .finish()
1903    }
1904}
1905
1906#[derive(Copy, Clone)]
1907#[repr(C)]
1908pub struct GtkBoxLayoutClass {
1909    pub parent_class: GtkLayoutManagerClass,
1910}
1911
1912impl ::std::fmt::Debug for GtkBoxLayoutClass {
1913    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1914        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1915            .field("parent_class", &self.parent_class)
1916            .finish()
1917    }
1918}
1919
1920#[derive(Copy, Clone)]
1921#[repr(C)]
1922pub struct GtkBuildableIface {
1923    pub g_iface: gobject::GTypeInterface,
1924    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1925    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1926    pub add_child: Option<
1927        unsafe extern "C" fn(
1928            *mut GtkBuildable,
1929            *mut GtkBuilder,
1930            *mut gobject::GObject,
1931            *const c_char,
1932        ),
1933    >,
1934    pub set_buildable_property: Option<
1935        unsafe extern "C" fn(
1936            *mut GtkBuildable,
1937            *mut GtkBuilder,
1938            *const c_char,
1939            *const gobject::GValue,
1940        ),
1941    >,
1942    pub construct_child: Option<
1943        unsafe extern "C" fn(
1944            *mut GtkBuildable,
1945            *mut GtkBuilder,
1946            *const c_char,
1947        ) -> *mut gobject::GObject,
1948    >,
1949    pub custom_tag_start: Option<
1950        unsafe extern "C" fn(
1951            *mut GtkBuildable,
1952            *mut GtkBuilder,
1953            *mut gobject::GObject,
1954            *const c_char,
1955            *mut GtkBuildableParser,
1956            *mut gpointer,
1957        ) -> gboolean,
1958    >,
1959    pub custom_tag_end: Option<
1960        unsafe extern "C" fn(
1961            *mut GtkBuildable,
1962            *mut GtkBuilder,
1963            *mut gobject::GObject,
1964            *const c_char,
1965            gpointer,
1966        ),
1967    >,
1968    pub custom_finished: Option<
1969        unsafe extern "C" fn(
1970            *mut GtkBuildable,
1971            *mut GtkBuilder,
1972            *mut gobject::GObject,
1973            *const c_char,
1974            gpointer,
1975        ),
1976    >,
1977    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1978    pub get_internal_child: Option<
1979        unsafe extern "C" fn(
1980            *mut GtkBuildable,
1981            *mut GtkBuilder,
1982            *const c_char,
1983        ) -> *mut gobject::GObject,
1984    >,
1985}
1986
1987impl ::std::fmt::Debug for GtkBuildableIface {
1988    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1989        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1990            .field("g_iface", &self.g_iface)
1991            .field("set_id", &self.set_id)
1992            .field("get_id", &self.get_id)
1993            .field("add_child", &self.add_child)
1994            .field("set_buildable_property", &self.set_buildable_property)
1995            .field("construct_child", &self.construct_child)
1996            .field("custom_tag_start", &self.custom_tag_start)
1997            .field("custom_tag_end", &self.custom_tag_end)
1998            .field("custom_finished", &self.custom_finished)
1999            .field("parser_finished", &self.parser_finished)
2000            .field("get_internal_child", &self.get_internal_child)
2001            .finish()
2002    }
2003}
2004
2005#[repr(C)]
2006#[allow(dead_code)]
2007pub struct _GtkBuildableParseContext {
2008    _data: [u8; 0],
2009    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2010}
2011
2012pub type GtkBuildableParseContext = _GtkBuildableParseContext;
2013
2014#[derive(Copy, Clone)]
2015#[repr(C)]
2016pub struct GtkBuildableParser {
2017    pub start_element: Option<
2018        unsafe extern "C" fn(
2019            *mut GtkBuildableParseContext,
2020            *const c_char,
2021            *mut *const c_char,
2022            *mut *const c_char,
2023            gpointer,
2024            *mut *mut glib::GError,
2025        ),
2026    >,
2027    pub end_element: Option<
2028        unsafe extern "C" fn(
2029            *mut GtkBuildableParseContext,
2030            *const c_char,
2031            gpointer,
2032            *mut *mut glib::GError,
2033        ),
2034    >,
2035    pub text: Option<
2036        unsafe extern "C" fn(
2037            *mut GtkBuildableParseContext,
2038            *const c_char,
2039            size_t,
2040            gpointer,
2041            *mut *mut glib::GError,
2042        ),
2043    >,
2044    pub error:
2045        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
2046    pub padding: [gpointer; 4],
2047}
2048
2049impl ::std::fmt::Debug for GtkBuildableParser {
2050    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2051        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
2052            .field("start_element", &self.start_element)
2053            .field("end_element", &self.end_element)
2054            .field("text", &self.text)
2055            .field("error", &self.error)
2056            .finish()
2057    }
2058}
2059
2060#[derive(Copy, Clone)]
2061#[repr(C)]
2062pub struct GtkBuilderCScopeClass {
2063    pub parent_class: gobject::GObjectClass,
2064}
2065
2066impl ::std::fmt::Debug for GtkBuilderCScopeClass {
2067    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2068        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
2069            .field("parent_class", &self.parent_class)
2070            .finish()
2071    }
2072}
2073
2074#[repr(C)]
2075#[allow(dead_code)]
2076pub struct _GtkBuilderClass {
2077    _data: [u8; 0],
2078    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2079}
2080
2081pub type GtkBuilderClass = _GtkBuilderClass;
2082
2083#[repr(C)]
2084#[allow(dead_code)]
2085pub struct _GtkBuilderListItemFactoryClass {
2086    _data: [u8; 0],
2087    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2088}
2089
2090pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
2091
2092#[derive(Copy, Clone)]
2093#[repr(C)]
2094pub struct GtkBuilderScopeInterface {
2095    pub g_iface: gobject::GTypeInterface,
2096    pub get_type_from_name:
2097        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2098    pub get_type_from_function:
2099        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2100    pub create_closure: Option<
2101        unsafe extern "C" fn(
2102            *mut GtkBuilderScope,
2103            *mut GtkBuilder,
2104            *const c_char,
2105            GtkBuilderClosureFlags,
2106            *mut gobject::GObject,
2107            *mut *mut glib::GError,
2108        ) -> *mut gobject::GClosure,
2109    >,
2110}
2111
2112impl ::std::fmt::Debug for GtkBuilderScopeInterface {
2113    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2114        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
2115            .field("get_type_from_name", &self.get_type_from_name)
2116            .field("get_type_from_function", &self.get_type_from_function)
2117            .field("create_closure", &self.create_closure)
2118            .finish()
2119    }
2120}
2121
2122#[derive(Copy, Clone)]
2123#[repr(C)]
2124pub struct GtkButtonClass {
2125    pub parent_class: GtkWidgetClass,
2126    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2127    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2128    pub padding: [gpointer; 8],
2129}
2130
2131impl ::std::fmt::Debug for GtkButtonClass {
2132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2133        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2134            .field("parent_class", &self.parent_class)
2135            .field("clicked", &self.clicked)
2136            .field("activate", &self.activate)
2137            .finish()
2138    }
2139}
2140
2141#[repr(C)]
2142#[allow(dead_code)]
2143pub struct _GtkButtonPrivate {
2144    _data: [u8; 0],
2145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2146}
2147
2148pub type GtkButtonPrivate = _GtkButtonPrivate;
2149
2150#[repr(C)]
2151#[allow(dead_code)]
2152pub struct _GtkCallbackActionClass {
2153    _data: [u8; 0],
2154    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2155}
2156
2157pub type GtkCallbackActionClass = _GtkCallbackActionClass;
2158
2159#[derive(Copy, Clone)]
2160#[repr(C)]
2161pub struct GtkCellAreaClass {
2162    pub parent_class: gobject::GInitiallyUnownedClass,
2163    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2164    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2165    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2166    pub foreach_alloc: Option<
2167        unsafe extern "C" fn(
2168            *mut GtkCellArea,
2169            *mut GtkCellAreaContext,
2170            *mut GtkWidget,
2171            *const gdk::GdkRectangle,
2172            *const gdk::GdkRectangle,
2173            GtkCellAllocCallback,
2174            gpointer,
2175        ),
2176    >,
2177    pub event: Option<
2178        unsafe extern "C" fn(
2179            *mut GtkCellArea,
2180            *mut GtkCellAreaContext,
2181            *mut GtkWidget,
2182            *mut gdk::GdkEvent,
2183            *const gdk::GdkRectangle,
2184            GtkCellRendererState,
2185        ) -> c_int,
2186    >,
2187    pub snapshot: Option<
2188        unsafe extern "C" fn(
2189            *mut GtkCellArea,
2190            *mut GtkCellAreaContext,
2191            *mut GtkWidget,
2192            *mut GtkSnapshot,
2193            *const gdk::GdkRectangle,
2194            *const gdk::GdkRectangle,
2195            GtkCellRendererState,
2196            gboolean,
2197        ),
2198    >,
2199    pub apply_attributes: Option<
2200        unsafe extern "C" fn(
2201            *mut GtkCellArea,
2202            *mut GtkTreeModel,
2203            *mut GtkTreeIter,
2204            gboolean,
2205            gboolean,
2206        ),
2207    >,
2208    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2209    pub copy_context: Option<
2210        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2211    >,
2212    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2213    pub get_preferred_width: Option<
2214        unsafe extern "C" fn(
2215            *mut GtkCellArea,
2216            *mut GtkCellAreaContext,
2217            *mut GtkWidget,
2218            *mut c_int,
2219            *mut c_int,
2220        ),
2221    >,
2222    pub get_preferred_height_for_width: Option<
2223        unsafe extern "C" fn(
2224            *mut GtkCellArea,
2225            *mut GtkCellAreaContext,
2226            *mut GtkWidget,
2227            c_int,
2228            *mut c_int,
2229            *mut c_int,
2230        ),
2231    >,
2232    pub get_preferred_height: Option<
2233        unsafe extern "C" fn(
2234            *mut GtkCellArea,
2235            *mut GtkCellAreaContext,
2236            *mut GtkWidget,
2237            *mut c_int,
2238            *mut c_int,
2239        ),
2240    >,
2241    pub get_preferred_width_for_height: Option<
2242        unsafe extern "C" fn(
2243            *mut GtkCellArea,
2244            *mut GtkCellAreaContext,
2245            *mut GtkWidget,
2246            c_int,
2247            *mut c_int,
2248            *mut c_int,
2249        ),
2250    >,
2251    pub set_cell_property: Option<
2252        unsafe extern "C" fn(
2253            *mut GtkCellArea,
2254            *mut GtkCellRenderer,
2255            c_uint,
2256            *mut gobject::GValue,
2257            *mut gobject::GParamSpec,
2258        ),
2259    >,
2260    pub get_cell_property: Option<
2261        unsafe extern "C" fn(
2262            *mut GtkCellArea,
2263            *mut GtkCellRenderer,
2264            c_uint,
2265            *mut gobject::GValue,
2266            *mut gobject::GParamSpec,
2267        ),
2268    >,
2269    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2270    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2271    pub activate: Option<
2272        unsafe extern "C" fn(
2273            *mut GtkCellArea,
2274            *mut GtkCellAreaContext,
2275            *mut GtkWidget,
2276            *const gdk::GdkRectangle,
2277            GtkCellRendererState,
2278            gboolean,
2279        ) -> gboolean,
2280    >,
2281    pub padding: [gpointer; 8],
2282}
2283
2284impl ::std::fmt::Debug for GtkCellAreaClass {
2285    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2286        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2287            .field("add", &self.add)
2288            .field("remove", &self.remove)
2289            .field("foreach", &self.foreach)
2290            .field("foreach_alloc", &self.foreach_alloc)
2291            .field("event", &self.event)
2292            .field("snapshot", &self.snapshot)
2293            .field("apply_attributes", &self.apply_attributes)
2294            .field("create_context", &self.create_context)
2295            .field("copy_context", &self.copy_context)
2296            .field("get_request_mode", &self.get_request_mode)
2297            .field("get_preferred_width", &self.get_preferred_width)
2298            .field(
2299                "get_preferred_height_for_width",
2300                &self.get_preferred_height_for_width,
2301            )
2302            .field("get_preferred_height", &self.get_preferred_height)
2303            .field(
2304                "get_preferred_width_for_height",
2305                &self.get_preferred_width_for_height,
2306            )
2307            .field("set_cell_property", &self.set_cell_property)
2308            .field("get_cell_property", &self.get_cell_property)
2309            .field("focus", &self.focus)
2310            .field("is_activatable", &self.is_activatable)
2311            .field("activate", &self.activate)
2312            .finish()
2313    }
2314}
2315
2316#[derive(Copy, Clone)]
2317#[repr(C)]
2318pub struct GtkCellAreaContextClass {
2319    pub parent_class: gobject::GObjectClass,
2320    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2321    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2322    pub get_preferred_height_for_width:
2323        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2324    pub get_preferred_width_for_height:
2325        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2326    pub padding: [gpointer; 8],
2327}
2328
2329impl ::std::fmt::Debug for GtkCellAreaContextClass {
2330    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2331        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2332            .field("allocate", &self.allocate)
2333            .field("reset", &self.reset)
2334            .field(
2335                "get_preferred_height_for_width",
2336                &self.get_preferred_height_for_width,
2337            )
2338            .field(
2339                "get_preferred_width_for_height",
2340                &self.get_preferred_width_for_height,
2341            )
2342            .finish()
2343    }
2344}
2345
2346#[repr(C)]
2347#[allow(dead_code)]
2348pub struct _GtkCellAreaContextPrivate {
2349    _data: [u8; 0],
2350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2351}
2352
2353pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2354
2355#[derive(Copy, Clone)]
2356#[repr(C)]
2357pub struct GtkCellEditableIface {
2358    pub g_iface: gobject::GTypeInterface,
2359    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2360    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2361    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2362}
2363
2364impl ::std::fmt::Debug for GtkCellEditableIface {
2365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2366        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2367            .field("editing_done", &self.editing_done)
2368            .field("remove_widget", &self.remove_widget)
2369            .field("start_editing", &self.start_editing)
2370            .finish()
2371    }
2372}
2373
2374#[derive(Copy, Clone)]
2375#[repr(C)]
2376pub struct GtkCellLayoutIface {
2377    pub g_iface: gobject::GTypeInterface,
2378    pub pack_start:
2379        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2380    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2381    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2382    pub add_attribute: Option<
2383        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2384    >,
2385    pub set_cell_data_func: Option<
2386        unsafe extern "C" fn(
2387            *mut GtkCellLayout,
2388            *mut GtkCellRenderer,
2389            GtkCellLayoutDataFunc,
2390            gpointer,
2391            glib::GDestroyNotify,
2392        ),
2393    >,
2394    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2395    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2396    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2397    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2398}
2399
2400impl ::std::fmt::Debug for GtkCellLayoutIface {
2401    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2402        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2403            .field("pack_start", &self.pack_start)
2404            .field("pack_end", &self.pack_end)
2405            .field("clear", &self.clear)
2406            .field("add_attribute", &self.add_attribute)
2407            .field("set_cell_data_func", &self.set_cell_data_func)
2408            .field("clear_attributes", &self.clear_attributes)
2409            .field("reorder", &self.reorder)
2410            .field("get_cells", &self.get_cells)
2411            .field("get_area", &self.get_area)
2412            .finish()
2413    }
2414}
2415
2416#[derive(Copy, Clone)]
2417#[repr(C)]
2418pub struct GtkCellRendererClass {
2419    pub parent_class: gobject::GInitiallyUnownedClass,
2420    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2421    pub get_preferred_width:
2422        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2423    pub get_preferred_height_for_width: Option<
2424        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2425    >,
2426    pub get_preferred_height:
2427        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2428    pub get_preferred_width_for_height: Option<
2429        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2430    >,
2431    pub get_aligned_area: Option<
2432        unsafe extern "C" fn(
2433            *mut GtkCellRenderer,
2434            *mut GtkWidget,
2435            GtkCellRendererState,
2436            *const gdk::GdkRectangle,
2437            *mut gdk::GdkRectangle,
2438        ),
2439    >,
2440    pub snapshot: Option<
2441        unsafe extern "C" fn(
2442            *mut GtkCellRenderer,
2443            *mut GtkSnapshot,
2444            *mut GtkWidget,
2445            *const gdk::GdkRectangle,
2446            *const gdk::GdkRectangle,
2447            GtkCellRendererState,
2448        ),
2449    >,
2450    pub activate: Option<
2451        unsafe extern "C" fn(
2452            *mut GtkCellRenderer,
2453            *mut gdk::GdkEvent,
2454            *mut GtkWidget,
2455            *const c_char,
2456            *const gdk::GdkRectangle,
2457            *const gdk::GdkRectangle,
2458            GtkCellRendererState,
2459        ) -> gboolean,
2460    >,
2461    pub start_editing: Option<
2462        unsafe extern "C" fn(
2463            *mut GtkCellRenderer,
2464            *mut gdk::GdkEvent,
2465            *mut GtkWidget,
2466            *const c_char,
2467            *const gdk::GdkRectangle,
2468            *const gdk::GdkRectangle,
2469            GtkCellRendererState,
2470        ) -> *mut GtkCellEditable,
2471    >,
2472    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2473    pub editing_started:
2474        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2475    pub padding: [gpointer; 8],
2476}
2477
2478impl ::std::fmt::Debug for GtkCellRendererClass {
2479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2480        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2481            .field("get_request_mode", &self.get_request_mode)
2482            .field("get_preferred_width", &self.get_preferred_width)
2483            .field(
2484                "get_preferred_height_for_width",
2485                &self.get_preferred_height_for_width,
2486            )
2487            .field("get_preferred_height", &self.get_preferred_height)
2488            .field(
2489                "get_preferred_width_for_height",
2490                &self.get_preferred_width_for_height,
2491            )
2492            .field("get_aligned_area", &self.get_aligned_area)
2493            .field("snapshot", &self.snapshot)
2494            .field("activate", &self.activate)
2495            .field("start_editing", &self.start_editing)
2496            .field("editing_canceled", &self.editing_canceled)
2497            .field("editing_started", &self.editing_started)
2498            .finish()
2499    }
2500}
2501
2502#[repr(C)]
2503#[allow(dead_code)]
2504pub struct _GtkCellRendererClassPrivate {
2505    _data: [u8; 0],
2506    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2507}
2508
2509pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2510
2511#[repr(C)]
2512#[allow(dead_code)]
2513pub struct _GtkCellRendererPrivate {
2514    _data: [u8; 0],
2515    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2516}
2517
2518pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2519
2520#[derive(Copy, Clone)]
2521#[repr(C)]
2522pub struct GtkCellRendererTextClass {
2523    pub parent_class: GtkCellRendererClass,
2524    pub edited:
2525        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2526    pub padding: [gpointer; 8],
2527}
2528
2529impl ::std::fmt::Debug for GtkCellRendererTextClass {
2530    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2531        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2532            .field("parent_class", &self.parent_class)
2533            .field("edited", &self.edited)
2534            .finish()
2535    }
2536}
2537
2538#[repr(C)]
2539#[allow(dead_code)]
2540pub struct _GtkCenterBoxClass {
2541    _data: [u8; 0],
2542    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2543}
2544
2545pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2546
2547#[derive(Copy, Clone)]
2548#[repr(C)]
2549pub struct GtkCenterLayoutClass {
2550    pub parent_class: GtkLayoutManagerClass,
2551}
2552
2553impl ::std::fmt::Debug for GtkCenterLayoutClass {
2554    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2555        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2556            .field("parent_class", &self.parent_class)
2557            .finish()
2558    }
2559}
2560
2561#[derive(Copy, Clone)]
2562#[repr(C)]
2563pub struct GtkCheckButtonClass {
2564    pub parent_class: GtkWidgetClass,
2565    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2566    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2567    pub padding: [gpointer; 7],
2568}
2569
2570impl ::std::fmt::Debug for GtkCheckButtonClass {
2571    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2572        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2573            .field("parent_class", &self.parent_class)
2574            .field("toggled", &self.toggled)
2575            .field("activate", &self.activate)
2576            .finish()
2577    }
2578}
2579
2580#[derive(Copy, Clone)]
2581#[repr(C)]
2582pub struct GtkColorChooserInterface {
2583    pub base_interface: gobject::GTypeInterface,
2584    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2585    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2586    pub add_palette: Option<
2587        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2588    >,
2589    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2590    pub padding: [gpointer; 12],
2591}
2592
2593impl ::std::fmt::Debug for GtkColorChooserInterface {
2594    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2595        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2596            .field("base_interface", &self.base_interface)
2597            .field("get_rgba", &self.get_rgba)
2598            .field("set_rgba", &self.set_rgba)
2599            .field("add_palette", &self.add_palette)
2600            .field("color_activated", &self.color_activated)
2601            .finish()
2602    }
2603}
2604
2605#[derive(Copy, Clone)]
2606#[repr(C)]
2607pub struct GtkColorDialogButtonClass {
2608    pub parent_class: GtkWidgetClass,
2609}
2610
2611impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2612    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2613        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2614            .field("parent_class", &self.parent_class)
2615            .finish()
2616    }
2617}
2618
2619#[derive(Copy, Clone)]
2620#[repr(C)]
2621pub struct GtkColorDialogClass {
2622    pub parent_class: gobject::GObjectClass,
2623}
2624
2625impl ::std::fmt::Debug for GtkColorDialogClass {
2626    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2627        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2628            .field("parent_class", &self.parent_class)
2629            .finish()
2630    }
2631}
2632
2633#[repr(C)]
2634#[allow(dead_code)]
2635pub struct _GtkColumnViewCellClass {
2636    _data: [u8; 0],
2637    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2638}
2639
2640pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2641
2642#[repr(C)]
2643#[allow(dead_code)]
2644pub struct _GtkColumnViewClass {
2645    _data: [u8; 0],
2646    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2647}
2648
2649pub type GtkColumnViewClass = _GtkColumnViewClass;
2650
2651#[repr(C)]
2652#[allow(dead_code)]
2653pub struct _GtkColumnViewColumnClass {
2654    _data: [u8; 0],
2655    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2656}
2657
2658pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2659
2660#[repr(C)]
2661#[allow(dead_code)]
2662pub struct _GtkColumnViewRowClass {
2663    _data: [u8; 0],
2664    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2665}
2666
2667pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2668
2669#[derive(Copy, Clone)]
2670#[repr(C)]
2671pub struct GtkColumnViewSorterClass {
2672    pub parent_class: GtkSorterClass,
2673}
2674
2675impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2676    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2677        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2678            .field("parent_class", &self.parent_class)
2679            .finish()
2680    }
2681}
2682
2683#[derive(Copy, Clone)]
2684#[repr(C)]
2685pub struct GtkComboBoxClass {
2686    pub parent_class: GtkWidgetClass,
2687    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2688    pub format_entry_text:
2689        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2690    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2691    pub padding: [gpointer; 7],
2692}
2693
2694impl ::std::fmt::Debug for GtkComboBoxClass {
2695    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2696        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2697            .field("parent_class", &self.parent_class)
2698            .field("changed", &self.changed)
2699            .field("format_entry_text", &self.format_entry_text)
2700            .field("activate", &self.activate)
2701            .finish()
2702    }
2703}
2704
2705#[derive(Copy, Clone)]
2706#[repr(C)]
2707pub struct GtkConstraintClass {
2708    pub parent_class: gobject::GObjectClass,
2709}
2710
2711impl ::std::fmt::Debug for GtkConstraintClass {
2712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2713        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2714            .field("parent_class", &self.parent_class)
2715            .finish()
2716    }
2717}
2718
2719#[derive(Copy, Clone)]
2720#[repr(C)]
2721pub struct GtkConstraintGuideClass {
2722    pub parent_class: gobject::GObjectClass,
2723}
2724
2725impl ::std::fmt::Debug for GtkConstraintGuideClass {
2726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2727        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2728            .field("parent_class", &self.parent_class)
2729            .finish()
2730    }
2731}
2732
2733#[derive(Copy, Clone)]
2734#[repr(C)]
2735pub struct GtkConstraintLayoutChildClass {
2736    pub parent_class: GtkLayoutChildClass,
2737}
2738
2739impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2741        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2742            .field("parent_class", &self.parent_class)
2743            .finish()
2744    }
2745}
2746
2747#[derive(Copy, Clone)]
2748#[repr(C)]
2749pub struct GtkConstraintLayoutClass {
2750    pub parent_class: GtkLayoutManagerClass,
2751}
2752
2753impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2755        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2756            .field("parent_class", &self.parent_class)
2757            .finish()
2758    }
2759}
2760
2761#[repr(C)]
2762#[allow(dead_code)]
2763pub struct _GtkConstraintTargetInterface {
2764    _data: [u8; 0],
2765    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2766}
2767
2768pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2769
2770#[derive(Copy, Clone)]
2771#[repr(C)]
2772pub struct GtkCssLocation {
2773    pub bytes: size_t,
2774    pub chars: size_t,
2775    pub lines: size_t,
2776    pub line_bytes: size_t,
2777    pub line_chars: size_t,
2778}
2779
2780impl ::std::fmt::Debug for GtkCssLocation {
2781    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2782        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2783            .field("bytes", &self.bytes)
2784            .field("chars", &self.chars)
2785            .field("lines", &self.lines)
2786            .field("line_bytes", &self.line_bytes)
2787            .field("line_chars", &self.line_chars)
2788            .finish()
2789    }
2790}
2791
2792#[repr(C)]
2793#[allow(dead_code)]
2794pub struct _GtkCssProviderClass {
2795    _data: [u8; 0],
2796    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2797}
2798
2799pub type GtkCssProviderClass = _GtkCssProviderClass;
2800
2801#[repr(C)]
2802#[allow(dead_code)]
2803pub struct _GtkCssProviderPrivate {
2804    _data: [u8; 0],
2805    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2806}
2807
2808pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2809
2810#[repr(C)]
2811#[allow(dead_code)]
2812pub struct GtkCssSection {
2813    _data: [u8; 0],
2814    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2815}
2816
2817impl ::std::fmt::Debug for GtkCssSection {
2818    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2819        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2820            .finish()
2821    }
2822}
2823
2824#[repr(C)]
2825#[allow(dead_code)]
2826pub struct _GtkCssStyleChange {
2827    _data: [u8; 0],
2828    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2829}
2830
2831pub type GtkCssStyleChange = _GtkCssStyleChange;
2832
2833#[derive(Copy, Clone)]
2834#[repr(C)]
2835pub struct GtkCustomFilterClass {
2836    pub parent_class: GtkFilterClass,
2837}
2838
2839impl ::std::fmt::Debug for GtkCustomFilterClass {
2840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2841        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2842            .field("parent_class", &self.parent_class)
2843            .finish()
2844    }
2845}
2846
2847#[derive(Copy, Clone)]
2848#[repr(C)]
2849pub struct GtkCustomLayoutClass {
2850    pub parent_class: GtkLayoutManagerClass,
2851}
2852
2853impl ::std::fmt::Debug for GtkCustomLayoutClass {
2854    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2855        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2856            .field("parent_class", &self.parent_class)
2857            .finish()
2858    }
2859}
2860
2861#[derive(Copy, Clone)]
2862#[repr(C)]
2863pub struct GtkCustomSorterClass {
2864    pub parent_class: GtkSorterClass,
2865}
2866
2867impl ::std::fmt::Debug for GtkCustomSorterClass {
2868    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2869        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2870            .field("parent_class", &self.parent_class)
2871            .finish()
2872    }
2873}
2874
2875#[derive(Copy, Clone)]
2876#[repr(C)]
2877pub struct GtkDialogClass {
2878    pub parent_class: GtkWindowClass,
2879    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2880    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2881    pub padding: [gpointer; 8],
2882}
2883
2884impl ::std::fmt::Debug for GtkDialogClass {
2885    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2886        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2887            .field("parent_class", &self.parent_class)
2888            .field("response", &self.response)
2889            .field("close", &self.close)
2890            .finish()
2891    }
2892}
2893
2894#[derive(Copy, Clone)]
2895#[repr(C)]
2896pub struct GtkDirectoryListClass {
2897    pub parent_class: gobject::GObjectClass,
2898}
2899
2900impl ::std::fmt::Debug for GtkDirectoryListClass {
2901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2902        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2903            .field("parent_class", &self.parent_class)
2904            .finish()
2905    }
2906}
2907
2908#[derive(Copy, Clone)]
2909#[repr(C)]
2910pub struct GtkDragIconClass {
2911    pub parent_class: GtkWidgetClass,
2912}
2913
2914impl ::std::fmt::Debug for GtkDragIconClass {
2915    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2916        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2917            .field("parent_class", &self.parent_class)
2918            .finish()
2919    }
2920}
2921
2922#[repr(C)]
2923#[allow(dead_code)]
2924pub struct _GtkDragSourceClass {
2925    _data: [u8; 0],
2926    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2927}
2928
2929pub type GtkDragSourceClass = _GtkDragSourceClass;
2930
2931#[derive(Copy, Clone)]
2932#[repr(C)]
2933pub struct GtkDrawingAreaClass {
2934    pub parent_class: GtkWidgetClass,
2935    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2936    pub padding: [gpointer; 8],
2937}
2938
2939impl ::std::fmt::Debug for GtkDrawingAreaClass {
2940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2941        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2942            .field("parent_class", &self.parent_class)
2943            .field("resize", &self.resize)
2944            .finish()
2945    }
2946}
2947
2948#[repr(C)]
2949#[allow(dead_code)]
2950pub struct _GtkDropControllerMotionClass {
2951    _data: [u8; 0],
2952    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2953}
2954
2955pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2956
2957#[derive(Copy, Clone)]
2958#[repr(C)]
2959pub struct GtkDropDownClass {
2960    pub parent_class: GtkWidgetClass,
2961}
2962
2963impl ::std::fmt::Debug for GtkDropDownClass {
2964    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2965        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2966            .field("parent_class", &self.parent_class)
2967            .finish()
2968    }
2969}
2970
2971#[repr(C)]
2972#[allow(dead_code)]
2973pub struct _GtkDropTargetAsyncClass {
2974    _data: [u8; 0],
2975    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2976}
2977
2978pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2979
2980#[repr(C)]
2981#[allow(dead_code)]
2982pub struct _GtkDropTargetClass {
2983    _data: [u8; 0],
2984    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2985}
2986
2987pub type GtkDropTargetClass = _GtkDropTargetClass;
2988
2989#[derive(Copy, Clone)]
2990#[repr(C)]
2991pub struct GtkEditableInterface {
2992    pub base_iface: gobject::GTypeInterface,
2993    pub insert_text:
2994        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2995    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2996    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
2997    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
2998    pub do_insert_text:
2999        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
3000    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3001    pub get_selection_bounds:
3002        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
3003    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
3004    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
3005    pub get_complete_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
3006}
3007
3008impl ::std::fmt::Debug for GtkEditableInterface {
3009    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3010        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
3011            .field("base_iface", &self.base_iface)
3012            .field("insert_text", &self.insert_text)
3013            .field("delete_text", &self.delete_text)
3014            .field("changed", &self.changed)
3015            .field("get_text", &self.get_text)
3016            .field("do_insert_text", &self.do_insert_text)
3017            .field("do_delete_text", &self.do_delete_text)
3018            .field("get_selection_bounds", &self.get_selection_bounds)
3019            .field("set_selection_bounds", &self.set_selection_bounds)
3020            .field("get_delegate", &self.get_delegate)
3021            .field("get_complete_text", &self.get_complete_text)
3022            .finish()
3023    }
3024}
3025
3026#[derive(Copy, Clone)]
3027#[repr(C)]
3028pub struct GtkEditableLabelClass {
3029    pub parent_class: GtkWidgetClass,
3030}
3031
3032impl ::std::fmt::Debug for GtkEditableLabelClass {
3033    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3034        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
3035            .field("parent_class", &self.parent_class)
3036            .finish()
3037    }
3038}
3039
3040#[repr(C)]
3041#[allow(dead_code)]
3042pub struct _GtkEmojiChooserClass {
3043    _data: [u8; 0],
3044    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3045}
3046
3047pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
3048
3049#[derive(Copy, Clone)]
3050#[repr(C)]
3051pub struct GtkEntryBufferClass {
3052    pub parent_class: gobject::GObjectClass,
3053    pub inserted_text:
3054        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
3055    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
3056    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
3057    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
3058    pub insert_text:
3059        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
3060    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
3061    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3062    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3063    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3064    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3065    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3066    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3067    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3068    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3069}
3070
3071impl ::std::fmt::Debug for GtkEntryBufferClass {
3072    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3073        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
3074            .field("parent_class", &self.parent_class)
3075            .field("inserted_text", &self.inserted_text)
3076            .field("deleted_text", &self.deleted_text)
3077            .field("get_text", &self.get_text)
3078            .field("get_length", &self.get_length)
3079            .field("insert_text", &self.insert_text)
3080            .field("delete_text", &self.delete_text)
3081            .field("_gtk_reserved1", &self._gtk_reserved1)
3082            .field("_gtk_reserved2", &self._gtk_reserved2)
3083            .field("_gtk_reserved3", &self._gtk_reserved3)
3084            .field("_gtk_reserved4", &self._gtk_reserved4)
3085            .field("_gtk_reserved5", &self._gtk_reserved5)
3086            .field("_gtk_reserved6", &self._gtk_reserved6)
3087            .field("_gtk_reserved7", &self._gtk_reserved7)
3088            .field("_gtk_reserved8", &self._gtk_reserved8)
3089            .finish()
3090    }
3091}
3092
3093#[derive(Copy, Clone)]
3094#[repr(C)]
3095pub struct GtkEntryClass {
3096    pub parent_class: GtkWidgetClass,
3097    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
3098    pub padding: [gpointer; 8],
3099}
3100
3101impl ::std::fmt::Debug for GtkEntryClass {
3102    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3103        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
3104            .field("parent_class", &self.parent_class)
3105            .field("activate", &self.activate)
3106            .finish()
3107    }
3108}
3109
3110#[derive(Copy, Clone)]
3111#[repr(C)]
3112pub struct GtkEnumListClass {
3113    pub parent_class: gobject::GObjectClass,
3114}
3115
3116impl ::std::fmt::Debug for GtkEnumListClass {
3117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3118        f.debug_struct(&format!("GtkEnumListClass @ {self:p}"))
3119            .field("parent_class", &self.parent_class)
3120            .finish()
3121    }
3122}
3123
3124#[derive(Copy, Clone)]
3125#[repr(C)]
3126pub struct GtkEnumListItemClass {
3127    pub parent_class: gobject::GObjectClass,
3128}
3129
3130impl ::std::fmt::Debug for GtkEnumListItemClass {
3131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3132        f.debug_struct(&format!("GtkEnumListItemClass @ {self:p}"))
3133            .field("parent_class", &self.parent_class)
3134            .finish()
3135    }
3136}
3137
3138#[repr(C)]
3139#[allow(dead_code)]
3140pub struct _GtkEventControllerClass {
3141    _data: [u8; 0],
3142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3143}
3144
3145pub type GtkEventControllerClass = _GtkEventControllerClass;
3146
3147#[repr(C)]
3148#[allow(dead_code)]
3149pub struct _GtkEventControllerFocusClass {
3150    _data: [u8; 0],
3151    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3152}
3153
3154pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
3155
3156#[repr(C)]
3157#[allow(dead_code)]
3158pub struct _GtkEventControllerKeyClass {
3159    _data: [u8; 0],
3160    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3161}
3162
3163pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
3164
3165#[repr(C)]
3166#[allow(dead_code)]
3167pub struct _GtkEventControllerLegacyClass {
3168    _data: [u8; 0],
3169    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3170}
3171
3172pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
3173
3174#[repr(C)]
3175#[allow(dead_code)]
3176pub struct _GtkEventControllerMotionClass {
3177    _data: [u8; 0],
3178    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3179}
3180
3181pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
3182
3183#[repr(C)]
3184#[allow(dead_code)]
3185pub struct _GtkEventControllerScrollClass {
3186    _data: [u8; 0],
3187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3188}
3189
3190pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
3191
3192#[repr(C)]
3193#[allow(dead_code)]
3194pub struct _GtkEveryFilterClass {
3195    _data: [u8; 0],
3196    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3197}
3198
3199pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3200
3201#[repr(C)]
3202#[allow(dead_code)]
3203pub struct GtkExpressionWatch {
3204    _data: [u8; 0],
3205    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3206}
3207
3208impl ::std::fmt::Debug for GtkExpressionWatch {
3209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3210        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3211            .finish()
3212    }
3213}
3214
3215#[derive(Copy, Clone)]
3216#[repr(C)]
3217pub struct GtkFileChooserNativeClass {
3218    pub parent_class: GtkNativeDialogClass,
3219}
3220
3221impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3223        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3224            .field("parent_class", &self.parent_class)
3225            .finish()
3226    }
3227}
3228
3229#[derive(Copy, Clone)]
3230#[repr(C)]
3231pub struct GtkFileDialogClass {
3232    pub parent_class: gobject::GObjectClass,
3233}
3234
3235impl ::std::fmt::Debug for GtkFileDialogClass {
3236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3237        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3238            .field("parent_class", &self.parent_class)
3239            .finish()
3240    }
3241}
3242
3243#[derive(Copy, Clone)]
3244#[repr(C)]
3245pub struct GtkFileLauncherClass {
3246    pub parent_class: gobject::GObjectClass,
3247}
3248
3249impl ::std::fmt::Debug for GtkFileLauncherClass {
3250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3251        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3252            .field("parent_class", &self.parent_class)
3253            .finish()
3254    }
3255}
3256
3257#[derive(Copy, Clone)]
3258#[repr(C)]
3259pub struct GtkFilterClass {
3260    pub parent_class: gobject::GObjectClass,
3261    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3262    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3263    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3264    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3265    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3266    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3267    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3268    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3269    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3270    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3271}
3272
3273impl ::std::fmt::Debug for GtkFilterClass {
3274    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3275        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3276            .field("parent_class", &self.parent_class)
3277            .field("match_", &self.match_)
3278            .field("get_strictness", &self.get_strictness)
3279            .field("_gtk_reserved1", &self._gtk_reserved1)
3280            .field("_gtk_reserved2", &self._gtk_reserved2)
3281            .field("_gtk_reserved3", &self._gtk_reserved3)
3282            .field("_gtk_reserved4", &self._gtk_reserved4)
3283            .field("_gtk_reserved5", &self._gtk_reserved5)
3284            .field("_gtk_reserved6", &self._gtk_reserved6)
3285            .field("_gtk_reserved7", &self._gtk_reserved7)
3286            .field("_gtk_reserved8", &self._gtk_reserved8)
3287            .finish()
3288    }
3289}
3290
3291#[derive(Copy, Clone)]
3292#[repr(C)]
3293pub struct GtkFilterListModelClass {
3294    pub parent_class: gobject::GObjectClass,
3295}
3296
3297impl ::std::fmt::Debug for GtkFilterListModelClass {
3298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3299        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3300            .field("parent_class", &self.parent_class)
3301            .finish()
3302    }
3303}
3304
3305#[derive(Copy, Clone)]
3306#[repr(C)]
3307pub struct GtkFixedClass {
3308    pub parent_class: GtkWidgetClass,
3309    pub padding: [gpointer; 8],
3310}
3311
3312impl ::std::fmt::Debug for GtkFixedClass {
3313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3314        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3315            .field("parent_class", &self.parent_class)
3316            .finish()
3317    }
3318}
3319
3320#[derive(Copy, Clone)]
3321#[repr(C)]
3322pub struct GtkFixedLayoutChildClass {
3323    pub parent_class: GtkLayoutChildClass,
3324}
3325
3326impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3328        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3329            .field("parent_class", &self.parent_class)
3330            .finish()
3331    }
3332}
3333
3334#[derive(Copy, Clone)]
3335#[repr(C)]
3336pub struct GtkFixedLayoutClass {
3337    pub parent_class: GtkLayoutManagerClass,
3338}
3339
3340impl ::std::fmt::Debug for GtkFixedLayoutClass {
3341    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3342        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3343            .field("parent_class", &self.parent_class)
3344            .finish()
3345    }
3346}
3347
3348#[derive(Copy, Clone)]
3349#[repr(C)]
3350pub struct GtkFlattenListModelClass {
3351    pub parent_class: gobject::GObjectClass,
3352}
3353
3354impl ::std::fmt::Debug for GtkFlattenListModelClass {
3355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3356        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3357            .field("parent_class", &self.parent_class)
3358            .finish()
3359    }
3360}
3361
3362#[derive(Copy, Clone)]
3363#[repr(C)]
3364pub struct GtkFlowBoxChildClass {
3365    pub parent_class: GtkWidgetClass,
3366    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3367    pub padding: [gpointer; 8],
3368}
3369
3370impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3372        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3373            .field("activate", &self.activate)
3374            .finish()
3375    }
3376}
3377
3378#[derive(Copy, Clone)]
3379#[repr(C)]
3380pub struct GtkFontChooserIface {
3381    pub base_iface: gobject::GTypeInterface,
3382    pub get_font_family:
3383        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3384    pub get_font_face:
3385        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3386    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3387    pub set_filter_func: Option<
3388        unsafe extern "C" fn(
3389            *mut GtkFontChooser,
3390            GtkFontFilterFunc,
3391            gpointer,
3392            glib::GDestroyNotify,
3393        ),
3394    >,
3395    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3396    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3397    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3398    pub padding: [gpointer; 10],
3399}
3400
3401impl ::std::fmt::Debug for GtkFontChooserIface {
3402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3403        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3404            .field("base_iface", &self.base_iface)
3405            .field("get_font_family", &self.get_font_family)
3406            .field("get_font_face", &self.get_font_face)
3407            .field("get_font_size", &self.get_font_size)
3408            .field("set_filter_func", &self.set_filter_func)
3409            .field("font_activated", &self.font_activated)
3410            .field("set_font_map", &self.set_font_map)
3411            .field("get_font_map", &self.get_font_map)
3412            .finish()
3413    }
3414}
3415
3416#[derive(Copy, Clone)]
3417#[repr(C)]
3418pub struct GtkFontDialogButtonClass {
3419    pub parent_class: GtkWidgetClass,
3420}
3421
3422impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3424        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3425            .field("parent_class", &self.parent_class)
3426            .finish()
3427    }
3428}
3429
3430#[derive(Copy, Clone)]
3431#[repr(C)]
3432pub struct GtkFontDialogClass {
3433    pub parent_class: gobject::GObjectClass,
3434}
3435
3436impl ::std::fmt::Debug for GtkFontDialogClass {
3437    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3438        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3439            .field("parent_class", &self.parent_class)
3440            .finish()
3441    }
3442}
3443
3444#[derive(Copy, Clone)]
3445#[repr(C)]
3446pub struct GtkFrameClass {
3447    pub parent_class: GtkWidgetClass,
3448    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3449    pub padding: [gpointer; 8],
3450}
3451
3452impl ::std::fmt::Debug for GtkFrameClass {
3453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3454        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3455            .field("parent_class", &self.parent_class)
3456            .field("compute_child_allocation", &self.compute_child_allocation)
3457            .finish()
3458    }
3459}
3460
3461#[derive(Copy, Clone)]
3462#[repr(C)]
3463pub struct GtkGLAreaClass {
3464    pub parent_class: GtkWidgetClass,
3465    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3466    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3467    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3468    pub _padding: [gpointer; 8],
3469}
3470
3471impl ::std::fmt::Debug for GtkGLAreaClass {
3472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3473        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3474            .field("render", &self.render)
3475            .field("resize", &self.resize)
3476            .field("create_context", &self.create_context)
3477            .finish()
3478    }
3479}
3480
3481#[repr(C)]
3482#[allow(dead_code)]
3483pub struct _GtkGestureClass {
3484    _data: [u8; 0],
3485    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3486}
3487
3488pub type GtkGestureClass = _GtkGestureClass;
3489
3490#[repr(C)]
3491#[allow(dead_code)]
3492pub struct _GtkGestureClickClass {
3493    _data: [u8; 0],
3494    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3495}
3496
3497pub type GtkGestureClickClass = _GtkGestureClickClass;
3498
3499#[repr(C)]
3500#[allow(dead_code)]
3501pub struct _GtkGestureDragClass {
3502    _data: [u8; 0],
3503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3504}
3505
3506pub type GtkGestureDragClass = _GtkGestureDragClass;
3507
3508#[repr(C)]
3509#[allow(dead_code)]
3510pub struct _GtkGestureLongPressClass {
3511    _data: [u8; 0],
3512    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3513}
3514
3515pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3516
3517#[repr(C)]
3518#[allow(dead_code)]
3519pub struct _GtkGesturePanClass {
3520    _data: [u8; 0],
3521    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3522}
3523
3524pub type GtkGesturePanClass = _GtkGesturePanClass;
3525
3526#[repr(C)]
3527#[allow(dead_code)]
3528pub struct _GtkGestureRotateClass {
3529    _data: [u8; 0],
3530    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3531}
3532
3533pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3534
3535#[repr(C)]
3536#[allow(dead_code)]
3537pub struct _GtkGestureSingleClass {
3538    _data: [u8; 0],
3539    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3540}
3541
3542pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3543
3544#[repr(C)]
3545#[allow(dead_code)]
3546pub struct _GtkGestureStylusClass {
3547    _data: [u8; 0],
3548    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3549}
3550
3551pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3552
3553#[repr(C)]
3554#[allow(dead_code)]
3555pub struct _GtkGestureSwipeClass {
3556    _data: [u8; 0],
3557    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3558}
3559
3560pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3561
3562#[repr(C)]
3563#[allow(dead_code)]
3564pub struct _GtkGestureZoomClass {
3565    _data: [u8; 0],
3566    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3567}
3568
3569pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3570
3571#[derive(Copy, Clone)]
3572#[repr(C)]
3573pub struct GtkGraphicsOffloadClass {
3574    pub parent_class: GtkWidgetClass,
3575}
3576
3577impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3578    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3579        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3580            .field("parent_class", &self.parent_class)
3581            .finish()
3582    }
3583}
3584
3585#[derive(Copy, Clone)]
3586#[repr(C)]
3587pub struct GtkGridClass {
3588    pub parent_class: GtkWidgetClass,
3589    pub padding: [gpointer; 8],
3590}
3591
3592impl ::std::fmt::Debug for GtkGridClass {
3593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3594        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3595            .field("parent_class", &self.parent_class)
3596            .finish()
3597    }
3598}
3599
3600#[derive(Copy, Clone)]
3601#[repr(C)]
3602pub struct GtkGridLayoutChildClass {
3603    pub parent_class: GtkLayoutChildClass,
3604}
3605
3606impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3608        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3609            .field("parent_class", &self.parent_class)
3610            .finish()
3611    }
3612}
3613
3614#[derive(Copy, Clone)]
3615#[repr(C)]
3616pub struct GtkGridLayoutClass {
3617    pub parent_class: GtkLayoutManagerClass,
3618}
3619
3620impl ::std::fmt::Debug for GtkGridLayoutClass {
3621    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3622        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3623            .field("parent_class", &self.parent_class)
3624            .finish()
3625    }
3626}
3627
3628#[repr(C)]
3629#[allow(dead_code)]
3630pub struct _GtkGridViewClass {
3631    _data: [u8; 0],
3632    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3633}
3634
3635pub type GtkGridViewClass = _GtkGridViewClass;
3636
3637#[derive(Copy, Clone)]
3638#[repr(C)]
3639pub struct GtkIMContextClass {
3640    pub parent_class: gobject::GObjectClass,
3641    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3642    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3643    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3644    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3645    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3646    pub delete_surrounding:
3647        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3648    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3649    pub get_preedit_string: Option<
3650        unsafe extern "C" fn(
3651            *mut GtkIMContext,
3652            *mut *mut c_char,
3653            *mut *mut pango::PangoAttrList,
3654            *mut c_int,
3655        ),
3656    >,
3657    pub filter_keypress:
3658        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3659    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3660    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3661    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3662    pub set_cursor_location:
3663        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3664    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3665    pub set_surrounding:
3666        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3667    pub get_surrounding:
3668        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3669    pub set_surrounding_with_selection:
3670        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3671    pub get_surrounding_with_selection: Option<
3672        unsafe extern "C" fn(
3673            *mut GtkIMContext,
3674            *mut *mut c_char,
3675            *mut c_int,
3676            *mut c_int,
3677        ) -> gboolean,
3678    >,
3679    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3680    pub activate_osk_with_event:
3681        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3682    pub invalid_composition:
3683        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char) -> gboolean>,
3684    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3685    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3686}
3687
3688impl ::std::fmt::Debug for GtkIMContextClass {
3689    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3690        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3691            .field("preedit_start", &self.preedit_start)
3692            .field("preedit_end", &self.preedit_end)
3693            .field("preedit_changed", &self.preedit_changed)
3694            .field("commit", &self.commit)
3695            .field("retrieve_surrounding", &self.retrieve_surrounding)
3696            .field("delete_surrounding", &self.delete_surrounding)
3697            .field("set_client_widget", &self.set_client_widget)
3698            .field("get_preedit_string", &self.get_preedit_string)
3699            .field("filter_keypress", &self.filter_keypress)
3700            .field("focus_in", &self.focus_in)
3701            .field("focus_out", &self.focus_out)
3702            .field("reset", &self.reset)
3703            .field("set_cursor_location", &self.set_cursor_location)
3704            .field("set_use_preedit", &self.set_use_preedit)
3705            .field("set_surrounding", &self.set_surrounding)
3706            .field("get_surrounding", &self.get_surrounding)
3707            .field(
3708                "set_surrounding_with_selection",
3709                &self.set_surrounding_with_selection,
3710            )
3711            .field(
3712                "get_surrounding_with_selection",
3713                &self.get_surrounding_with_selection,
3714            )
3715            .field("activate_osk", &self.activate_osk)
3716            .field("activate_osk_with_event", &self.activate_osk_with_event)
3717            .field("invalid_composition", &self.invalid_composition)
3718            .field("_gtk_reserved3", &self._gtk_reserved3)
3719            .field("_gtk_reserved4", &self._gtk_reserved4)
3720            .finish()
3721    }
3722}
3723
3724#[derive(Copy, Clone)]
3725#[repr(C)]
3726pub struct GtkIMContextSimpleClass {
3727    pub parent_class: GtkIMContextClass,
3728}
3729
3730impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3731    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3732        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3733            .field("parent_class", &self.parent_class)
3734            .finish()
3735    }
3736}
3737
3738#[repr(C)]
3739#[allow(dead_code)]
3740pub struct _GtkIMContextSimplePrivate {
3741    _data: [u8; 0],
3742    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3743}
3744
3745pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3746
3747#[derive(Copy, Clone)]
3748#[repr(C)]
3749pub struct GtkIMMulticontextClass {
3750    pub parent_class: GtkIMContextClass,
3751    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3752    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3753    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3754    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3755}
3756
3757impl ::std::fmt::Debug for GtkIMMulticontextClass {
3758    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3759        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3760            .field("parent_class", &self.parent_class)
3761            .field("_gtk_reserved1", &self._gtk_reserved1)
3762            .field("_gtk_reserved2", &self._gtk_reserved2)
3763            .field("_gtk_reserved3", &self._gtk_reserved3)
3764            .field("_gtk_reserved4", &self._gtk_reserved4)
3765            .finish()
3766    }
3767}
3768
3769#[repr(C)]
3770#[allow(dead_code)]
3771pub struct _GtkIMMulticontextPrivate {
3772    _data: [u8; 0],
3773    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3774}
3775
3776pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3777
3778#[derive(Copy, Clone)]
3779#[repr(C)]
3780pub struct GtkIconPaintableClass {
3781    pub parent_class: gobject::GObjectClass,
3782}
3783
3784impl ::std::fmt::Debug for GtkIconPaintableClass {
3785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3786        f.debug_struct(&format!("GtkIconPaintableClass @ {self:p}"))
3787            .field("parent_class", &self.parent_class)
3788            .finish()
3789    }
3790}
3791
3792#[derive(Copy, Clone)]
3793#[repr(C)]
3794pub struct GtkInscriptionClass {
3795    pub parent_class: GtkWidgetClass,
3796}
3797
3798impl ::std::fmt::Debug for GtkInscriptionClass {
3799    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3800        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3801            .field("parent_class", &self.parent_class)
3802            .finish()
3803    }
3804}
3805
3806#[repr(C)]
3807#[allow(dead_code)]
3808pub struct _GtkKeyvalTriggerClass {
3809    _data: [u8; 0],
3810    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3811}
3812
3813pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3814
3815#[derive(Copy, Clone)]
3816#[repr(C)]
3817pub struct GtkLayoutChildClass {
3818    pub parent_class: gobject::GObjectClass,
3819}
3820
3821impl ::std::fmt::Debug for GtkLayoutChildClass {
3822    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3823        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3824            .finish()
3825    }
3826}
3827
3828#[derive(Copy, Clone)]
3829#[repr(C)]
3830pub struct GtkLayoutManagerClass {
3831    pub parent_class: gobject::GObjectClass,
3832    pub get_request_mode:
3833        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3834    pub measure: Option<
3835        unsafe extern "C" fn(
3836            *mut GtkLayoutManager,
3837            *mut GtkWidget,
3838            GtkOrientation,
3839            c_int,
3840            *mut c_int,
3841            *mut c_int,
3842            *mut c_int,
3843            *mut c_int,
3844        ),
3845    >,
3846    pub allocate:
3847        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3848    pub layout_child_type: GType,
3849    pub create_layout_child: Option<
3850        unsafe extern "C" fn(
3851            *mut GtkLayoutManager,
3852            *mut GtkWidget,
3853            *mut GtkWidget,
3854        ) -> *mut GtkLayoutChild,
3855    >,
3856    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3857    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3858    pub _padding: [gpointer; 16],
3859}
3860
3861impl ::std::fmt::Debug for GtkLayoutManagerClass {
3862    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3863        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3864            .field("get_request_mode", &self.get_request_mode)
3865            .field("measure", &self.measure)
3866            .field("allocate", &self.allocate)
3867            .field("layout_child_type", &self.layout_child_type)
3868            .field("create_layout_child", &self.create_layout_child)
3869            .field("root", &self.root)
3870            .field("unroot", &self.unroot)
3871            .finish()
3872    }
3873}
3874
3875#[repr(C)]
3876#[allow(dead_code)]
3877pub struct _GtkListBaseClass {
3878    _data: [u8; 0],
3879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3880}
3881
3882pub type GtkListBaseClass = _GtkListBaseClass;
3883
3884#[derive(Copy, Clone)]
3885#[repr(C)]
3886pub struct GtkListBoxRowClass {
3887    pub parent_class: GtkWidgetClass,
3888    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3889    pub padding: [gpointer; 8],
3890}
3891
3892impl ::std::fmt::Debug for GtkListBoxRowClass {
3893    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3894        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3895            .field("parent_class", &self.parent_class)
3896            .field("activate", &self.activate)
3897            .finish()
3898    }
3899}
3900
3901#[repr(C)]
3902#[allow(dead_code)]
3903pub struct _GtkListHeaderClass {
3904    _data: [u8; 0],
3905    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3906}
3907
3908pub type GtkListHeaderClass = _GtkListHeaderClass;
3909
3910#[repr(C)]
3911#[allow(dead_code)]
3912pub struct _GtkListItemClass {
3913    _data: [u8; 0],
3914    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3915}
3916
3917pub type GtkListItemClass = _GtkListItemClass;
3918
3919#[repr(C)]
3920#[allow(dead_code)]
3921pub struct _GtkListItemFactoryClass {
3922    _data: [u8; 0],
3923    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3924}
3925
3926pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3927
3928#[derive(Copy, Clone)]
3929#[repr(C)]
3930pub struct GtkListStoreClass {
3931    pub parent_class: gobject::GObjectClass,
3932    pub padding: [gpointer; 8],
3933}
3934
3935impl ::std::fmt::Debug for GtkListStoreClass {
3936    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3937        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3938            .field("parent_class", &self.parent_class)
3939            .finish()
3940    }
3941}
3942
3943#[repr(C)]
3944#[allow(dead_code)]
3945pub struct _GtkListStorePrivate {
3946    _data: [u8; 0],
3947    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3948}
3949
3950pub type GtkListStorePrivate = _GtkListStorePrivate;
3951
3952#[repr(C)]
3953#[allow(dead_code)]
3954pub struct _GtkListViewClass {
3955    _data: [u8; 0],
3956    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3957}
3958
3959pub type GtkListViewClass = _GtkListViewClass;
3960
3961#[derive(Copy, Clone)]
3962#[repr(C)]
3963pub struct GtkMapListModelClass {
3964    pub parent_class: gobject::GObjectClass,
3965}
3966
3967impl ::std::fmt::Debug for GtkMapListModelClass {
3968    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3969        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3970            .field("parent_class", &self.parent_class)
3971            .finish()
3972    }
3973}
3974
3975#[derive(Copy, Clone)]
3976#[repr(C)]
3977pub struct GtkMediaControlsClass {
3978    pub parent_class: GtkWidgetClass,
3979}
3980
3981impl ::std::fmt::Debug for GtkMediaControlsClass {
3982    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3983        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3984            .field("parent_class", &self.parent_class)
3985            .finish()
3986    }
3987}
3988
3989#[derive(Copy, Clone)]
3990#[repr(C)]
3991pub struct GtkMediaFileClass {
3992    pub parent_class: GtkMediaStreamClass,
3993    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3994    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3995    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3996    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3997    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3998    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3999}
4000
4001impl ::std::fmt::Debug for GtkMediaFileClass {
4002    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4003        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
4004            .field("parent_class", &self.parent_class)
4005            .field("open", &self.open)
4006            .field("close", &self.close)
4007            .field("_gtk_reserved1", &self._gtk_reserved1)
4008            .field("_gtk_reserved2", &self._gtk_reserved2)
4009            .field("_gtk_reserved3", &self._gtk_reserved3)
4010            .field("_gtk_reserved4", &self._gtk_reserved4)
4011            .finish()
4012    }
4013}
4014
4015#[derive(Copy, Clone)]
4016#[repr(C)]
4017pub struct GtkMediaStreamClass {
4018    pub parent_class: gobject::GObjectClass,
4019    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
4020    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
4021    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
4022    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
4023    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4024    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4025    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4026    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4027    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4028    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4029    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4030    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4031    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4032    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4033}
4034
4035impl ::std::fmt::Debug for GtkMediaStreamClass {
4036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4037        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
4038            .field("parent_class", &self.parent_class)
4039            .field("play", &self.play)
4040            .field("pause", &self.pause)
4041            .field("seek", &self.seek)
4042            .field("update_audio", &self.update_audio)
4043            .field("realize", &self.realize)
4044            .field("unrealize", &self.unrealize)
4045            .field("_gtk_reserved1", &self._gtk_reserved1)
4046            .field("_gtk_reserved2", &self._gtk_reserved2)
4047            .field("_gtk_reserved3", &self._gtk_reserved3)
4048            .field("_gtk_reserved4", &self._gtk_reserved4)
4049            .field("_gtk_reserved5", &self._gtk_reserved5)
4050            .field("_gtk_reserved6", &self._gtk_reserved6)
4051            .field("_gtk_reserved7", &self._gtk_reserved7)
4052            .field("_gtk_reserved8", &self._gtk_reserved8)
4053            .finish()
4054    }
4055}
4056
4057#[repr(C)]
4058#[allow(dead_code)]
4059pub struct _GtkMessageDialogClass {
4060    _data: [u8; 0],
4061    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4062}
4063
4064pub type GtkMessageDialogClass = _GtkMessageDialogClass;
4065
4066#[repr(C)]
4067#[allow(dead_code)]
4068pub struct _GtkMnemonicActionClass {
4069    _data: [u8; 0],
4070    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4071}
4072
4073pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
4074
4075#[repr(C)]
4076#[allow(dead_code)]
4077pub struct _GtkMnemonicTriggerClass {
4078    _data: [u8; 0],
4079    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4080}
4081
4082pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
4083
4084#[derive(Copy, Clone)]
4085#[repr(C)]
4086pub struct GtkMountOperationClass {
4087    pub parent_class: gio::GMountOperationClass,
4088    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4089    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4090    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4091    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4092}
4093
4094impl ::std::fmt::Debug for GtkMountOperationClass {
4095    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4096        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
4097            .field("parent_class", &self.parent_class)
4098            .field("_gtk_reserved1", &self._gtk_reserved1)
4099            .field("_gtk_reserved2", &self._gtk_reserved2)
4100            .field("_gtk_reserved3", &self._gtk_reserved3)
4101            .field("_gtk_reserved4", &self._gtk_reserved4)
4102            .finish()
4103    }
4104}
4105
4106#[repr(C)]
4107#[allow(dead_code)]
4108pub struct _GtkMountOperationPrivate {
4109    _data: [u8; 0],
4110    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4111}
4112
4113pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
4114
4115#[repr(C)]
4116#[allow(dead_code)]
4117pub struct _GtkMultiFilterClass {
4118    _data: [u8; 0],
4119    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4120}
4121
4122pub type GtkMultiFilterClass = _GtkMultiFilterClass;
4123
4124#[derive(Copy, Clone)]
4125#[repr(C)]
4126pub struct GtkMultiSelectionClass {
4127    pub parent_class: gobject::GObjectClass,
4128}
4129
4130impl ::std::fmt::Debug for GtkMultiSelectionClass {
4131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4132        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
4133            .field("parent_class", &self.parent_class)
4134            .finish()
4135    }
4136}
4137
4138#[derive(Copy, Clone)]
4139#[repr(C)]
4140pub struct GtkMultiSorterClass {
4141    pub parent_class: GtkSorterClass,
4142}
4143
4144impl ::std::fmt::Debug for GtkMultiSorterClass {
4145    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4146        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
4147            .field("parent_class", &self.parent_class)
4148            .finish()
4149    }
4150}
4151
4152#[repr(C)]
4153#[allow(dead_code)]
4154pub struct _GtkNamedActionClass {
4155    _data: [u8; 0],
4156    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4157}
4158
4159pub type GtkNamedActionClass = _GtkNamedActionClass;
4160
4161#[derive(Copy, Clone)]
4162#[repr(C)]
4163pub struct GtkNativeDialogClass {
4164    pub parent_class: gobject::GObjectClass,
4165    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
4166    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4167    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4168    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4169    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4170    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4171    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4172}
4173
4174impl ::std::fmt::Debug for GtkNativeDialogClass {
4175    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4176        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
4177            .field("response", &self.response)
4178            .field("show", &self.show)
4179            .field("hide", &self.hide)
4180            .field("_gtk_reserved1", &self._gtk_reserved1)
4181            .field("_gtk_reserved2", &self._gtk_reserved2)
4182            .field("_gtk_reserved3", &self._gtk_reserved3)
4183            .field("_gtk_reserved4", &self._gtk_reserved4)
4184            .finish()
4185    }
4186}
4187
4188#[repr(C)]
4189#[allow(dead_code)]
4190pub struct _GtkNativeInterface {
4191    _data: [u8; 0],
4192    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4193}
4194
4195pub type GtkNativeInterface = _GtkNativeInterface;
4196
4197#[repr(C)]
4198#[allow(dead_code)]
4199pub struct _GtkNeverTriggerClass {
4200    _data: [u8; 0],
4201    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4202}
4203
4204pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
4205
4206#[derive(Copy, Clone)]
4207#[repr(C)]
4208pub struct GtkNoSelectionClass {
4209    pub parent_class: gobject::GObjectClass,
4210}
4211
4212impl ::std::fmt::Debug for GtkNoSelectionClass {
4213    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4214        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4215            .field("parent_class", &self.parent_class)
4216            .finish()
4217    }
4218}
4219
4220#[repr(C)]
4221#[allow(dead_code)]
4222pub struct _GtkNothingActionClass {
4223    _data: [u8; 0],
4224    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4225}
4226
4227pub type GtkNothingActionClass = _GtkNothingActionClass;
4228
4229#[derive(Copy, Clone)]
4230#[repr(C)]
4231pub struct GtkNumericSorterClass {
4232    pub parent_class: GtkSorterClass,
4233}
4234
4235impl ::std::fmt::Debug for GtkNumericSorterClass {
4236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4237        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4238            .field("parent_class", &self.parent_class)
4239            .finish()
4240    }
4241}
4242
4243#[derive(Copy, Clone)]
4244#[repr(C)]
4245pub struct GtkOrientableIface {
4246    pub base_iface: gobject::GTypeInterface,
4247}
4248
4249impl ::std::fmt::Debug for GtkOrientableIface {
4250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4251        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4252            .field("base_iface", &self.base_iface)
4253            .finish()
4254    }
4255}
4256
4257#[derive(Copy, Clone)]
4258#[repr(C)]
4259pub struct GtkOverlayLayoutChildClass {
4260    pub parent_class: GtkLayoutChildClass,
4261}
4262
4263impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4264    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4265        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4266            .field("parent_class", &self.parent_class)
4267            .finish()
4268    }
4269}
4270
4271#[derive(Copy, Clone)]
4272#[repr(C)]
4273pub struct GtkOverlayLayoutClass {
4274    pub parent_class: GtkLayoutManagerClass,
4275}
4276
4277impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4279        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4280            .field("parent_class", &self.parent_class)
4281            .finish()
4282    }
4283}
4284
4285#[derive(Copy, Clone)]
4286#[repr(C)]
4287pub struct GtkPadActionEntry {
4288    pub type_: GtkPadActionType,
4289    pub index: c_int,
4290    pub mode: c_int,
4291    pub label: *const c_char,
4292    pub action_name: *const c_char,
4293}
4294
4295impl ::std::fmt::Debug for GtkPadActionEntry {
4296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4297        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4298            .field("type_", &self.type_)
4299            .field("index", &self.index)
4300            .field("mode", &self.mode)
4301            .field("label", &self.label)
4302            .field("action_name", &self.action_name)
4303            .finish()
4304    }
4305}
4306
4307#[repr(C)]
4308#[allow(dead_code)]
4309pub struct _GtkPadControllerClass {
4310    _data: [u8; 0],
4311    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4312}
4313
4314pub type GtkPadControllerClass = _GtkPadControllerClass;
4315
4316#[derive(Copy, Clone)]
4317#[repr(C)]
4318pub struct GtkPageRange {
4319    pub start: c_int,
4320    pub end: c_int,
4321}
4322
4323impl ::std::fmt::Debug for GtkPageRange {
4324    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4325        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4326            .field("start", &self.start)
4327            .field("end", &self.end)
4328            .finish()
4329    }
4330}
4331
4332#[repr(C)]
4333#[allow(dead_code)]
4334pub struct GtkPaperSize {
4335    _data: [u8; 0],
4336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4337}
4338
4339impl ::std::fmt::Debug for GtkPaperSize {
4340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4341        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4342    }
4343}
4344
4345#[derive(Copy, Clone)]
4346#[repr(C)]
4347pub struct GtkPasswordEntryBufferClass {
4348    pub parent_class: GtkEntryBufferClass,
4349}
4350
4351impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4352    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4353        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4354            .field("parent_class", &self.parent_class)
4355            .finish()
4356    }
4357}
4358
4359#[repr(C)]
4360#[allow(dead_code)]
4361pub struct _GtkPasswordEntryClass {
4362    _data: [u8; 0],
4363    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4364}
4365
4366pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4367
4368#[derive(Copy, Clone)]
4369#[repr(C)]
4370pub struct GtkPictureClass {
4371    pub parent_class: GtkWidgetClass,
4372}
4373
4374impl ::std::fmt::Debug for GtkPictureClass {
4375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4376        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4377            .field("parent_class", &self.parent_class)
4378            .finish()
4379    }
4380}
4381
4382#[derive(Copy, Clone)]
4383#[repr(C)]
4384pub struct GtkPopoverBinClass {
4385    pub parent_class: GtkWidgetClass,
4386}
4387
4388impl ::std::fmt::Debug for GtkPopoverBinClass {
4389    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4390        f.debug_struct(&format!("GtkPopoverBinClass @ {self:p}"))
4391            .field("parent_class", &self.parent_class)
4392            .finish()
4393    }
4394}
4395
4396#[derive(Copy, Clone)]
4397#[repr(C)]
4398pub struct GtkPopoverClass {
4399    pub parent_class: GtkWidgetClass,
4400    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4401    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4402    pub reserved: [gpointer; 8],
4403}
4404
4405impl ::std::fmt::Debug for GtkPopoverClass {
4406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4407        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4408            .field("parent_class", &self.parent_class)
4409            .field("closed", &self.closed)
4410            .field("activate_default", &self.activate_default)
4411            .finish()
4412    }
4413}
4414
4415#[repr(C)]
4416#[allow(dead_code)]
4417pub struct _GtkPrintBackend {
4418    _data: [u8; 0],
4419    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4420}
4421
4422pub type GtkPrintBackend = _GtkPrintBackend;
4423
4424#[derive(Copy, Clone)]
4425#[repr(C)]
4426pub struct GtkPrintDialogClass {
4427    pub parent_class: gobject::GObjectClass,
4428}
4429
4430impl ::std::fmt::Debug for GtkPrintDialogClass {
4431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4432        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4433            .field("parent_class", &self.parent_class)
4434            .finish()
4435    }
4436}
4437
4438#[derive(Copy, Clone)]
4439#[repr(C)]
4440pub struct GtkPrintOperationClass {
4441    pub parent_class: gobject::GObjectClass,
4442    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4443    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4444    pub paginate:
4445        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4446    pub request_page_setup: Option<
4447        unsafe extern "C" fn(
4448            *mut GtkPrintOperation,
4449            *mut GtkPrintContext,
4450            c_int,
4451            *mut GtkPageSetup,
4452        ),
4453    >,
4454    pub draw_page:
4455        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4456    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4457    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4458    pub create_custom_widget:
4459        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4460    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4461    pub preview: Option<
4462        unsafe extern "C" fn(
4463            *mut GtkPrintOperation,
4464            *mut GtkPrintOperationPreview,
4465            *mut GtkPrintContext,
4466            *mut GtkWindow,
4467        ) -> gboolean,
4468    >,
4469    pub update_custom_widget: Option<
4470        unsafe extern "C" fn(
4471            *mut GtkPrintOperation,
4472            *mut GtkWidget,
4473            *mut GtkPageSetup,
4474            *mut GtkPrintSettings,
4475        ),
4476    >,
4477    pub padding: [gpointer; 8],
4478}
4479
4480impl ::std::fmt::Debug for GtkPrintOperationClass {
4481    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4482        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4483            .field("parent_class", &self.parent_class)
4484            .field("done", &self.done)
4485            .field("begin_print", &self.begin_print)
4486            .field("paginate", &self.paginate)
4487            .field("request_page_setup", &self.request_page_setup)
4488            .field("draw_page", &self.draw_page)
4489            .field("end_print", &self.end_print)
4490            .field("status_changed", &self.status_changed)
4491            .field("create_custom_widget", &self.create_custom_widget)
4492            .field("custom_widget_apply", &self.custom_widget_apply)
4493            .field("preview", &self.preview)
4494            .field("update_custom_widget", &self.update_custom_widget)
4495            .finish()
4496    }
4497}
4498
4499#[derive(Copy, Clone)]
4500#[repr(C)]
4501pub struct GtkPrintOperationPreviewIface {
4502    pub g_iface: gobject::GTypeInterface,
4503    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4504    pub got_page_size: Option<
4505        unsafe extern "C" fn(
4506            *mut GtkPrintOperationPreview,
4507            *mut GtkPrintContext,
4508            *mut GtkPageSetup,
4509        ),
4510    >,
4511    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4512    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4513    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4514    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4515    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4516    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4517    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4518    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4519    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4520    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4521    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4522}
4523
4524impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4525    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4526        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4527            .field("g_iface", &self.g_iface)
4528            .field("ready", &self.ready)
4529            .field("got_page_size", &self.got_page_size)
4530            .field("render_page", &self.render_page)
4531            .field("is_selected", &self.is_selected)
4532            .field("end_preview", &self.end_preview)
4533            .field("_gtk_reserved1", &self._gtk_reserved1)
4534            .field("_gtk_reserved2", &self._gtk_reserved2)
4535            .field("_gtk_reserved3", &self._gtk_reserved3)
4536            .field("_gtk_reserved4", &self._gtk_reserved4)
4537            .field("_gtk_reserved5", &self._gtk_reserved5)
4538            .field("_gtk_reserved6", &self._gtk_reserved6)
4539            .field("_gtk_reserved7", &self._gtk_reserved7)
4540            .field("_gtk_reserved8", &self._gtk_reserved8)
4541            .finish()
4542    }
4543}
4544
4545#[repr(C)]
4546#[allow(dead_code)]
4547pub struct _GtkPrintOperationPrivate {
4548    _data: [u8; 0],
4549    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4550}
4551
4552pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4553
4554#[repr(C)]
4555#[allow(dead_code)]
4556pub struct GtkPrintSetup {
4557    _data: [u8; 0],
4558    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4559}
4560
4561impl ::std::fmt::Debug for GtkPrintSetup {
4562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4563        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4564            .finish()
4565    }
4566}
4567
4568#[derive(Copy, Clone)]
4569#[repr(C)]
4570pub struct GtkRangeClass {
4571    pub parent_class: GtkWidgetClass,
4572    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4573    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4574    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4575    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4576    pub change_value:
4577        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4578    pub padding: [gpointer; 8],
4579}
4580
4581impl ::std::fmt::Debug for GtkRangeClass {
4582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4583        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4584            .field("parent_class", &self.parent_class)
4585            .field("value_changed", &self.value_changed)
4586            .field("adjust_bounds", &self.adjust_bounds)
4587            .field("move_slider", &self.move_slider)
4588            .field("get_range_border", &self.get_range_border)
4589            .field("change_value", &self.change_value)
4590            .finish()
4591    }
4592}
4593
4594#[derive(Copy, Clone)]
4595#[repr(C)]
4596pub struct GtkRecentData {
4597    pub display_name: *mut c_char,
4598    pub description: *mut c_char,
4599    pub mime_type: *mut c_char,
4600    pub app_name: *mut c_char,
4601    pub app_exec: *mut c_char,
4602    pub groups: *mut *mut c_char,
4603    pub is_private: gboolean,
4604}
4605
4606impl ::std::fmt::Debug for GtkRecentData {
4607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4608        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4609            .field("display_name", &self.display_name)
4610            .field("description", &self.description)
4611            .field("mime_type", &self.mime_type)
4612            .field("app_name", &self.app_name)
4613            .field("app_exec", &self.app_exec)
4614            .field("groups", &self.groups)
4615            .field("is_private", &self.is_private)
4616            .finish()
4617    }
4618}
4619
4620#[repr(C)]
4621#[allow(dead_code)]
4622pub struct GtkRecentInfo {
4623    _data: [u8; 0],
4624    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4625}
4626
4627impl ::std::fmt::Debug for GtkRecentInfo {
4628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4629        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4630            .finish()
4631    }
4632}
4633
4634#[derive(Copy, Clone)]
4635#[repr(C)]
4636pub struct GtkRecentManagerClass {
4637    pub parent_class: gobject::GObjectClass,
4638    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4639    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4640    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4641    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4642    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4643}
4644
4645impl ::std::fmt::Debug for GtkRecentManagerClass {
4646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4647        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4648            .field("changed", &self.changed)
4649            .field("_gtk_recent1", &self._gtk_recent1)
4650            .field("_gtk_recent2", &self._gtk_recent2)
4651            .field("_gtk_recent3", &self._gtk_recent3)
4652            .field("_gtk_recent4", &self._gtk_recent4)
4653            .finish()
4654    }
4655}
4656
4657#[repr(C)]
4658#[allow(dead_code)]
4659pub struct _GtkRecentManagerPrivate {
4660    _data: [u8; 0],
4661    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4662}
4663
4664pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4665
4666#[derive(Copy, Clone)]
4667#[repr(C)]
4668pub struct GtkRequestedSize {
4669    pub data: gpointer,
4670    pub minimum_size: c_int,
4671    pub natural_size: c_int,
4672}
4673
4674impl ::std::fmt::Debug for GtkRequestedSize {
4675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4676        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4677            .field("data", &self.data)
4678            .field("minimum_size", &self.minimum_size)
4679            .field("natural_size", &self.natural_size)
4680            .finish()
4681    }
4682}
4683
4684#[derive(Copy, Clone)]
4685#[repr(C)]
4686pub struct GtkRequisition {
4687    pub width: c_int,
4688    pub height: c_int,
4689}
4690
4691impl ::std::fmt::Debug for GtkRequisition {
4692    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4693        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4694            .field("width", &self.width)
4695            .field("height", &self.height)
4696            .finish()
4697    }
4698}
4699
4700#[repr(C)]
4701#[allow(dead_code)]
4702pub struct _GtkRootInterface {
4703    _data: [u8; 0],
4704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4705}
4706
4707pub type GtkRootInterface = _GtkRootInterface;
4708
4709#[derive(Copy, Clone)]
4710#[repr(C)]
4711pub struct GtkScaleButtonClass {
4712    pub parent_class: GtkWidgetClass,
4713    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4714    pub padding: [gpointer; 8],
4715}
4716
4717impl ::std::fmt::Debug for GtkScaleButtonClass {
4718    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4719        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4720            .field("parent_class", &self.parent_class)
4721            .field("value_changed", &self.value_changed)
4722            .finish()
4723    }
4724}
4725
4726#[derive(Copy, Clone)]
4727#[repr(C)]
4728pub struct GtkScaleClass {
4729    pub parent_class: GtkRangeClass,
4730    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4731    pub padding: [gpointer; 8],
4732}
4733
4734impl ::std::fmt::Debug for GtkScaleClass {
4735    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4736        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4737            .field("parent_class", &self.parent_class)
4738            .field("get_layout_offsets", &self.get_layout_offsets)
4739            .finish()
4740    }
4741}
4742
4743#[repr(C)]
4744#[allow(dead_code)]
4745pub struct GtkScrollInfo {
4746    _data: [u8; 0],
4747    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4748}
4749
4750impl ::std::fmt::Debug for GtkScrollInfo {
4751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4752        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4753            .finish()
4754    }
4755}
4756
4757#[derive(Copy, Clone)]
4758#[repr(C)]
4759pub struct GtkScrollableInterface {
4760    pub base_iface: gobject::GTypeInterface,
4761    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4762}
4763
4764impl ::std::fmt::Debug for GtkScrollableInterface {
4765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4766        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4767            .field("base_iface", &self.base_iface)
4768            .field("get_border", &self.get_border)
4769            .finish()
4770    }
4771}
4772
4773#[derive(Copy, Clone)]
4774#[repr(C)]
4775pub struct GtkSectionModelInterface {
4776    pub g_iface: gobject::GTypeInterface,
4777    pub get_section:
4778        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4779}
4780
4781impl ::std::fmt::Debug for GtkSectionModelInterface {
4782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4783        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4784            .field("get_section", &self.get_section)
4785            .finish()
4786    }
4787}
4788
4789#[derive(Copy, Clone)]
4790#[repr(C)]
4791pub struct GtkSelectionFilterModelClass {
4792    pub parent_class: gobject::GObjectClass,
4793}
4794
4795impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4797        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4798            .field("parent_class", &self.parent_class)
4799            .finish()
4800    }
4801}
4802
4803#[derive(Copy, Clone)]
4804#[repr(C)]
4805pub struct GtkSelectionModelInterface {
4806    pub g_iface: gobject::GTypeInterface,
4807    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4808    pub get_selection_in_range:
4809        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4810    pub select_item:
4811        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4812    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4813    pub select_range:
4814        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4815    pub unselect_range:
4816        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4817    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4818    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4819    pub set_selection: Option<
4820        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4821    >,
4822}
4823
4824impl ::std::fmt::Debug for GtkSelectionModelInterface {
4825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4826        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4827            .field("is_selected", &self.is_selected)
4828            .field("get_selection_in_range", &self.get_selection_in_range)
4829            .field("select_item", &self.select_item)
4830            .field("unselect_item", &self.unselect_item)
4831            .field("select_range", &self.select_range)
4832            .field("unselect_range", &self.unselect_range)
4833            .field("select_all", &self.select_all)
4834            .field("unselect_all", &self.unselect_all)
4835            .field("set_selection", &self.set_selection)
4836            .finish()
4837    }
4838}
4839
4840#[repr(C)]
4841#[allow(dead_code)]
4842pub struct _GtkShortcutActionClass {
4843    _data: [u8; 0],
4844    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4845}
4846
4847pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4848
4849#[derive(Copy, Clone)]
4850#[repr(C)]
4851pub struct GtkShortcutClass {
4852    pub parent_class: gobject::GObjectClass,
4853}
4854
4855impl ::std::fmt::Debug for GtkShortcutClass {
4856    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4857        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4858            .field("parent_class", &self.parent_class)
4859            .finish()
4860    }
4861}
4862
4863#[repr(C)]
4864#[allow(dead_code)]
4865pub struct _GtkShortcutControllerClass {
4866    _data: [u8; 0],
4867    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4868}
4869
4870pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4871
4872#[repr(C)]
4873#[allow(dead_code)]
4874pub struct _GtkShortcutLabelClass {
4875    _data: [u8; 0],
4876    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4877}
4878
4879pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4880
4881#[derive(Copy, Clone)]
4882#[repr(C)]
4883pub struct GtkShortcutManagerInterface {
4884    pub g_iface: gobject::GTypeInterface,
4885    pub add_controller:
4886        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4887    pub remove_controller:
4888        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4889}
4890
4891impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4893        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4894            .field("add_controller", &self.add_controller)
4895            .field("remove_controller", &self.remove_controller)
4896            .finish()
4897    }
4898}
4899
4900#[repr(C)]
4901#[allow(dead_code)]
4902pub struct _GtkShortcutTriggerClass {
4903    _data: [u8; 0],
4904    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4905}
4906
4907pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4908
4909#[repr(C)]
4910#[allow(dead_code)]
4911pub struct _GtkShortcutsGroupClass {
4912    _data: [u8; 0],
4913    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4914}
4915
4916pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4917
4918#[repr(C)]
4919#[allow(dead_code)]
4920pub struct _GtkShortcutsSectionClass {
4921    _data: [u8; 0],
4922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4923}
4924
4925pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4926
4927#[repr(C)]
4928#[allow(dead_code)]
4929pub struct _GtkShortcutsShortcutClass {
4930    _data: [u8; 0],
4931    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4932}
4933
4934pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4935
4936#[repr(C)]
4937#[allow(dead_code)]
4938pub struct _GtkSignalActionClass {
4939    _data: [u8; 0],
4940    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4941}
4942
4943pub type GtkSignalActionClass = _GtkSignalActionClass;
4944
4945#[repr(C)]
4946#[allow(dead_code)]
4947pub struct _GtkSignalListItemFactoryClass {
4948    _data: [u8; 0],
4949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4950}
4951
4952pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4953
4954#[derive(Copy, Clone)]
4955#[repr(C)]
4956pub struct GtkSingleSelectionClass {
4957    pub parent_class: gobject::GObjectClass,
4958}
4959
4960impl ::std::fmt::Debug for GtkSingleSelectionClass {
4961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4962        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4963            .field("parent_class", &self.parent_class)
4964            .finish()
4965    }
4966}
4967
4968#[derive(Copy, Clone)]
4969#[repr(C)]
4970pub struct GtkSliceListModelClass {
4971    pub parent_class: gobject::GObjectClass,
4972}
4973
4974impl ::std::fmt::Debug for GtkSliceListModelClass {
4975    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4976        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4977            .field("parent_class", &self.parent_class)
4978            .finish()
4979    }
4980}
4981
4982#[repr(C)]
4983#[allow(dead_code)]
4984pub struct _GtkSnapshotClass {
4985    _data: [u8; 0],
4986    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4987}
4988
4989pub type GtkSnapshotClass = _GtkSnapshotClass;
4990
4991#[derive(Copy, Clone)]
4992#[repr(C)]
4993pub struct GtkSortListModelClass {
4994    pub parent_class: gobject::GObjectClass,
4995}
4996
4997impl ::std::fmt::Debug for GtkSortListModelClass {
4998    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4999        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
5000            .field("parent_class", &self.parent_class)
5001            .finish()
5002    }
5003}
5004
5005#[derive(Copy, Clone)]
5006#[repr(C)]
5007pub struct GtkSorterClass {
5008    pub parent_class: gobject::GObjectClass,
5009    pub compare: Option<
5010        unsafe extern "C" fn(
5011            *mut GtkSorter,
5012            *mut gobject::GObject,
5013            *mut gobject::GObject,
5014        ) -> GtkOrdering,
5015    >,
5016    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
5017    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5018    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5019    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5020    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5021    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5022    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5023    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5024    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5025}
5026
5027impl ::std::fmt::Debug for GtkSorterClass {
5028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5029        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
5030            .field("parent_class", &self.parent_class)
5031            .field("compare", &self.compare)
5032            .field("get_order", &self.get_order)
5033            .field("_gtk_reserved1", &self._gtk_reserved1)
5034            .field("_gtk_reserved2", &self._gtk_reserved2)
5035            .field("_gtk_reserved3", &self._gtk_reserved3)
5036            .field("_gtk_reserved4", &self._gtk_reserved4)
5037            .field("_gtk_reserved5", &self._gtk_reserved5)
5038            .field("_gtk_reserved6", &self._gtk_reserved6)
5039            .field("_gtk_reserved7", &self._gtk_reserved7)
5040            .field("_gtk_reserved8", &self._gtk_reserved8)
5041            .finish()
5042    }
5043}
5044
5045#[derive(Copy, Clone)]
5046#[repr(C)]
5047pub struct GtkStringFilterClass {
5048    pub parent_class: GtkFilterClass,
5049}
5050
5051impl ::std::fmt::Debug for GtkStringFilterClass {
5052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5053        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
5054            .field("parent_class", &self.parent_class)
5055            .finish()
5056    }
5057}
5058
5059#[derive(Copy, Clone)]
5060#[repr(C)]
5061pub struct GtkStringListClass {
5062    pub parent_class: gobject::GObjectClass,
5063}
5064
5065impl ::std::fmt::Debug for GtkStringListClass {
5066    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5067        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
5068            .field("parent_class", &self.parent_class)
5069            .finish()
5070    }
5071}
5072
5073#[derive(Copy, Clone)]
5074#[repr(C)]
5075pub struct GtkStringObjectClass {
5076    pub parent_class: gobject::GObjectClass,
5077}
5078
5079impl ::std::fmt::Debug for GtkStringObjectClass {
5080    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5081        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
5082            .field("parent_class", &self.parent_class)
5083            .finish()
5084    }
5085}
5086
5087#[derive(Copy, Clone)]
5088#[repr(C)]
5089pub struct GtkStringSorterClass {
5090    pub parent_class: GtkSorterClass,
5091}
5092
5093impl ::std::fmt::Debug for GtkStringSorterClass {
5094    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5095        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
5096            .field("parent_class", &self.parent_class)
5097            .finish()
5098    }
5099}
5100
5101#[derive(Copy, Clone)]
5102#[repr(C)]
5103pub struct GtkStyleContextClass {
5104    pub parent_class: gobject::GObjectClass,
5105    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
5106    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5107    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5108    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5109    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5110}
5111
5112impl ::std::fmt::Debug for GtkStyleContextClass {
5113    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5114        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
5115            .field("parent_class", &self.parent_class)
5116            .field("changed", &self.changed)
5117            .field("_gtk_reserved1", &self._gtk_reserved1)
5118            .field("_gtk_reserved2", &self._gtk_reserved2)
5119            .field("_gtk_reserved3", &self._gtk_reserved3)
5120            .field("_gtk_reserved4", &self._gtk_reserved4)
5121            .finish()
5122    }
5123}
5124
5125#[derive(Copy, Clone)]
5126#[repr(C)]
5127pub struct GtkSvgClass {
5128    pub parent_class: gobject::GObjectClass,
5129}
5130
5131impl ::std::fmt::Debug for GtkSvgClass {
5132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5133        f.debug_struct(&format!("GtkSvgClass @ {self:p}"))
5134            .field("parent_class", &self.parent_class)
5135            .finish()
5136    }
5137}
5138
5139#[derive(Copy, Clone)]
5140#[repr(C)]
5141pub struct GtkSvgLocation {
5142    pub bytes: size_t,
5143    pub lines: size_t,
5144    pub line_chars: size_t,
5145}
5146
5147impl ::std::fmt::Debug for GtkSvgLocation {
5148    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5149        f.debug_struct(&format!("GtkSvgLocation @ {self:p}"))
5150            .field("bytes", &self.bytes)
5151            .field("lines", &self.lines)
5152            .field("line_chars", &self.line_chars)
5153            .finish()
5154    }
5155}
5156
5157#[derive(Copy, Clone)]
5158#[repr(C)]
5159pub struct GtkSvgWidgetClass {
5160    pub parent_class: GtkWidgetClass,
5161}
5162
5163impl ::std::fmt::Debug for GtkSvgWidgetClass {
5164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5165        f.debug_struct(&format!("GtkSvgWidgetClass @ {self:p}"))
5166            .field("parent_class", &self.parent_class)
5167            .finish()
5168    }
5169}
5170
5171#[derive(Copy, Clone)]
5172#[repr(C)]
5173pub struct GtkSymbolicPaintableInterface {
5174    pub g_iface: gobject::GTypeInterface,
5175    pub snapshot_symbolic: Option<
5176        unsafe extern "C" fn(
5177            *mut GtkSymbolicPaintable,
5178            *mut gdk::GdkSnapshot,
5179            c_double,
5180            c_double,
5181            *const gdk::GdkRGBA,
5182            size_t,
5183        ),
5184    >,
5185    pub snapshot_with_weight: Option<
5186        unsafe extern "C" fn(
5187            *mut GtkSymbolicPaintable,
5188            *mut gdk::GdkSnapshot,
5189            c_double,
5190            c_double,
5191            *const gdk::GdkRGBA,
5192            size_t,
5193            c_double,
5194        ),
5195    >,
5196}
5197
5198impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
5199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5200        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
5201            .field("snapshot_symbolic", &self.snapshot_symbolic)
5202            .field("snapshot_with_weight", &self.snapshot_with_weight)
5203            .finish()
5204    }
5205}
5206
5207#[derive(Copy, Clone)]
5208#[repr(C)]
5209pub struct GtkTextBufferClass {
5210    pub parent_class: gobject::GObjectClass,
5211    pub insert_text:
5212        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
5213    pub insert_paintable:
5214        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
5215    pub insert_child_anchor:
5216        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
5217    pub delete_range:
5218        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
5219    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5220    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5221    pub mark_set:
5222        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
5223    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
5224    pub apply_tag: Option<
5225        unsafe extern "C" fn(
5226            *mut GtkTextBuffer,
5227            *mut GtkTextTag,
5228            *const GtkTextIter,
5229            *const GtkTextIter,
5230        ),
5231    >,
5232    pub remove_tag: Option<
5233        unsafe extern "C" fn(
5234            *mut GtkTextBuffer,
5235            *mut GtkTextTag,
5236            *const GtkTextIter,
5237            *const GtkTextIter,
5238        ),
5239    >,
5240    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5241    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5242    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
5243    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5244    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5245    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5246    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5247    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5248    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5249}
5250
5251impl ::std::fmt::Debug for GtkTextBufferClass {
5252    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5253        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
5254            .field("parent_class", &self.parent_class)
5255            .field("insert_text", &self.insert_text)
5256            .field("insert_paintable", &self.insert_paintable)
5257            .field("insert_child_anchor", &self.insert_child_anchor)
5258            .field("delete_range", &self.delete_range)
5259            .field("changed", &self.changed)
5260            .field("modified_changed", &self.modified_changed)
5261            .field("mark_set", &self.mark_set)
5262            .field("mark_deleted", &self.mark_deleted)
5263            .field("apply_tag", &self.apply_tag)
5264            .field("remove_tag", &self.remove_tag)
5265            .field("begin_user_action", &self.begin_user_action)
5266            .field("end_user_action", &self.end_user_action)
5267            .field("paste_done", &self.paste_done)
5268            .field("undo", &self.undo)
5269            .field("redo", &self.redo)
5270            .field("_gtk_reserved1", &self._gtk_reserved1)
5271            .field("_gtk_reserved2", &self._gtk_reserved2)
5272            .field("_gtk_reserved3", &self._gtk_reserved3)
5273            .field("_gtk_reserved4", &self._gtk_reserved4)
5274            .finish()
5275    }
5276}
5277
5278#[repr(C)]
5279#[allow(dead_code)]
5280pub struct _GtkTextBufferPrivate {
5281    _data: [u8; 0],
5282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5283}
5284
5285pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5286
5287#[derive(Copy, Clone)]
5288#[repr(C)]
5289pub struct GtkTextChildAnchorClass {
5290    pub parent_class: gobject::GObjectClass,
5291    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5292    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5293    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5294    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5295}
5296
5297impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5299        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5300            .field("parent_class", &self.parent_class)
5301            .field("_gtk_reserved1", &self._gtk_reserved1)
5302            .field("_gtk_reserved2", &self._gtk_reserved2)
5303            .field("_gtk_reserved3", &self._gtk_reserved3)
5304            .field("_gtk_reserved4", &self._gtk_reserved4)
5305            .finish()
5306    }
5307}
5308
5309#[derive(Copy, Clone)]
5310#[repr(C)]
5311pub struct GtkTextIter {
5312    pub dummy1: gpointer,
5313    pub dummy2: gpointer,
5314    pub dummy3: c_int,
5315    pub dummy4: c_int,
5316    pub dummy5: c_int,
5317    pub dummy6: c_int,
5318    pub dummy7: c_int,
5319    pub dummy8: c_int,
5320    pub dummy9: gpointer,
5321    pub dummy10: gpointer,
5322    pub dummy11: c_int,
5323    pub dummy12: c_int,
5324    pub dummy13: c_int,
5325    pub dummy14: gpointer,
5326}
5327
5328impl ::std::fmt::Debug for GtkTextIter {
5329    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5330        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5331    }
5332}
5333
5334#[derive(Copy, Clone)]
5335#[repr(C)]
5336pub struct GtkTextMarkClass {
5337    pub parent_class: gobject::GObjectClass,
5338    pub padding: [gpointer; 8],
5339}
5340
5341impl ::std::fmt::Debug for GtkTextMarkClass {
5342    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5343        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5344            .field("parent_class", &self.parent_class)
5345            .finish()
5346    }
5347}
5348
5349#[derive(Copy, Clone)]
5350#[repr(C)]
5351pub struct GtkTextTagClass {
5352    pub parent_class: gobject::GObjectClass,
5353    pub padding: [gpointer; 8],
5354}
5355
5356impl ::std::fmt::Debug for GtkTextTagClass {
5357    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5358        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5359            .field("parent_class", &self.parent_class)
5360            .finish()
5361    }
5362}
5363
5364#[repr(C)]
5365#[allow(dead_code)]
5366pub struct _GtkTextTagPrivate {
5367    _data: [u8; 0],
5368    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5369}
5370
5371pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5372
5373#[derive(Copy, Clone)]
5374#[repr(C)]
5375pub struct GtkTextViewClass {
5376    pub parent_class: GtkWidgetClass,
5377    pub move_cursor:
5378        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5379    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5380    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5381    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5382    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5383    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5384    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5385    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5386    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5387    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5388    pub snapshot_layer:
5389        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5390    pub extend_selection: Option<
5391        unsafe extern "C" fn(
5392            *mut GtkTextView,
5393            GtkTextExtendSelection,
5394            *const GtkTextIter,
5395            *mut GtkTextIter,
5396            *mut GtkTextIter,
5397        ) -> gboolean,
5398    >,
5399    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5400    pub padding: [gpointer; 8],
5401}
5402
5403impl ::std::fmt::Debug for GtkTextViewClass {
5404    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5405        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5406            .field("parent_class", &self.parent_class)
5407            .field("move_cursor", &self.move_cursor)
5408            .field("set_anchor", &self.set_anchor)
5409            .field("insert_at_cursor", &self.insert_at_cursor)
5410            .field("delete_from_cursor", &self.delete_from_cursor)
5411            .field("backspace", &self.backspace)
5412            .field("cut_clipboard", &self.cut_clipboard)
5413            .field("copy_clipboard", &self.copy_clipboard)
5414            .field("paste_clipboard", &self.paste_clipboard)
5415            .field("toggle_overwrite", &self.toggle_overwrite)
5416            .field("create_buffer", &self.create_buffer)
5417            .field("snapshot_layer", &self.snapshot_layer)
5418            .field("extend_selection", &self.extend_selection)
5419            .field("insert_emoji", &self.insert_emoji)
5420            .finish()
5421    }
5422}
5423
5424#[repr(C)]
5425#[allow(dead_code)]
5426pub struct _GtkTextViewPrivate {
5427    _data: [u8; 0],
5428    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5429}
5430
5431pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5432
5433#[derive(Copy, Clone)]
5434#[repr(C)]
5435pub struct GtkToggleButtonClass {
5436    pub parent_class: GtkButtonClass,
5437    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5438    pub padding: [gpointer; 8],
5439}
5440
5441impl ::std::fmt::Debug for GtkToggleButtonClass {
5442    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5443        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5444            .field("parent_class", &self.parent_class)
5445            .field("toggled", &self.toggled)
5446            .finish()
5447    }
5448}
5449
5450#[derive(Copy, Clone)]
5451#[repr(C)]
5452pub struct GtkTreeDragDestIface {
5453    pub g_iface: gobject::GTypeInterface,
5454    pub drag_data_received: Option<
5455        unsafe extern "C" fn(
5456            *mut GtkTreeDragDest,
5457            *mut GtkTreePath,
5458            *const gobject::GValue,
5459        ) -> gboolean,
5460    >,
5461    pub row_drop_possible: Option<
5462        unsafe extern "C" fn(
5463            *mut GtkTreeDragDest,
5464            *mut GtkTreePath,
5465            *const gobject::GValue,
5466        ) -> gboolean,
5467    >,
5468}
5469
5470impl ::std::fmt::Debug for GtkTreeDragDestIface {
5471    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5472        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5473            .field("drag_data_received", &self.drag_data_received)
5474            .field("row_drop_possible", &self.row_drop_possible)
5475            .finish()
5476    }
5477}
5478
5479#[derive(Copy, Clone)]
5480#[repr(C)]
5481pub struct GtkTreeDragSourceIface {
5482    pub g_iface: gobject::GTypeInterface,
5483    pub row_draggable:
5484        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5485    pub drag_data_get: Option<
5486        unsafe extern "C" fn(
5487            *mut GtkTreeDragSource,
5488            *mut GtkTreePath,
5489        ) -> *mut gdk::GdkContentProvider,
5490    >,
5491    pub drag_data_delete:
5492        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5493}
5494
5495impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5496    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5497        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5498            .field("row_draggable", &self.row_draggable)
5499            .field("drag_data_get", &self.drag_data_get)
5500            .field("drag_data_delete", &self.drag_data_delete)
5501            .finish()
5502    }
5503}
5504
5505#[derive(Copy, Clone)]
5506#[repr(C)]
5507pub struct GtkTreeExpanderClass {
5508    pub parent_class: GtkWidgetClass,
5509}
5510
5511impl ::std::fmt::Debug for GtkTreeExpanderClass {
5512    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5513        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5514            .field("parent_class", &self.parent_class)
5515            .finish()
5516    }
5517}
5518
5519#[derive(Copy, Clone)]
5520#[repr(C)]
5521pub struct GtkTreeIter {
5522    pub stamp: c_int,
5523    pub user_data: gpointer,
5524    pub user_data2: gpointer,
5525    pub user_data3: gpointer,
5526}
5527
5528impl ::std::fmt::Debug for GtkTreeIter {
5529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5530        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5531            .field("stamp", &self.stamp)
5532            .field("user_data", &self.user_data)
5533            .field("user_data2", &self.user_data2)
5534            .field("user_data3", &self.user_data3)
5535            .finish()
5536    }
5537}
5538
5539#[derive(Copy, Clone)]
5540#[repr(C)]
5541pub struct GtkTreeListModelClass {
5542    pub parent_class: gobject::GObjectClass,
5543}
5544
5545impl ::std::fmt::Debug for GtkTreeListModelClass {
5546    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5547        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5548            .field("parent_class", &self.parent_class)
5549            .finish()
5550    }
5551}
5552
5553#[derive(Copy, Clone)]
5554#[repr(C)]
5555pub struct GtkTreeListRowClass {
5556    pub parent_class: gobject::GObjectClass,
5557}
5558
5559impl ::std::fmt::Debug for GtkTreeListRowClass {
5560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5561        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5562            .field("parent_class", &self.parent_class)
5563            .finish()
5564    }
5565}
5566
5567#[derive(Copy, Clone)]
5568#[repr(C)]
5569pub struct GtkTreeListRowSorterClass {
5570    pub parent_class: GtkSorterClass,
5571}
5572
5573impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5574    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5575        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5576            .field("parent_class", &self.parent_class)
5577            .finish()
5578    }
5579}
5580
5581#[derive(Copy, Clone)]
5582#[repr(C)]
5583pub struct GtkTreeModelFilterClass {
5584    pub parent_class: gobject::GObjectClass,
5585    pub visible: Option<
5586        unsafe extern "C" fn(
5587            *mut GtkTreeModelFilter,
5588            *mut GtkTreeModel,
5589            *mut GtkTreeIter,
5590        ) -> gboolean,
5591    >,
5592    pub modify: Option<
5593        unsafe extern "C" fn(
5594            *mut GtkTreeModelFilter,
5595            *mut GtkTreeModel,
5596            *mut GtkTreeIter,
5597            *mut gobject::GValue,
5598            c_int,
5599        ),
5600    >,
5601    pub padding: [gpointer; 8],
5602}
5603
5604impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5605    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5606        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5607            .field("parent_class", &self.parent_class)
5608            .field("visible", &self.visible)
5609            .field("modify", &self.modify)
5610            .finish()
5611    }
5612}
5613
5614#[repr(C)]
5615#[allow(dead_code)]
5616pub struct _GtkTreeModelFilterPrivate {
5617    _data: [u8; 0],
5618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5619}
5620
5621pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5622
5623#[derive(Copy, Clone)]
5624#[repr(C)]
5625pub struct GtkTreeModelIface {
5626    pub g_iface: gobject::GTypeInterface,
5627    pub row_changed:
5628        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5629    pub row_inserted:
5630        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5631    pub row_has_child_toggled:
5632        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5633    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5634    pub rows_reordered: Option<
5635        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5636    >,
5637    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5638    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5639    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5640    pub get_iter: Option<
5641        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5642    >,
5643    pub get_path:
5644        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5645    pub get_value: Option<
5646        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5647    >,
5648    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5649    pub iter_previous:
5650        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5651    pub iter_children: Option<
5652        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5653    >,
5654    pub iter_has_child:
5655        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5656    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5657    pub iter_nth_child: Option<
5658        unsafe extern "C" fn(
5659            *mut GtkTreeModel,
5660            *mut GtkTreeIter,
5661            *mut GtkTreeIter,
5662            c_int,
5663        ) -> gboolean,
5664    >,
5665    pub iter_parent: Option<
5666        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5667    >,
5668    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5669    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5670}
5671
5672impl ::std::fmt::Debug for GtkTreeModelIface {
5673    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5674        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5675            .field("row_changed", &self.row_changed)
5676            .field("row_inserted", &self.row_inserted)
5677            .field("row_has_child_toggled", &self.row_has_child_toggled)
5678            .field("row_deleted", &self.row_deleted)
5679            .field("rows_reordered", &self.rows_reordered)
5680            .field("get_flags", &self.get_flags)
5681            .field("get_n_columns", &self.get_n_columns)
5682            .field("get_column_type", &self.get_column_type)
5683            .field("get_iter", &self.get_iter)
5684            .field("get_path", &self.get_path)
5685            .field("get_value", &self.get_value)
5686            .field("iter_next", &self.iter_next)
5687            .field("iter_previous", &self.iter_previous)
5688            .field("iter_children", &self.iter_children)
5689            .field("iter_has_child", &self.iter_has_child)
5690            .field("iter_n_children", &self.iter_n_children)
5691            .field("iter_nth_child", &self.iter_nth_child)
5692            .field("iter_parent", &self.iter_parent)
5693            .field("ref_node", &self.ref_node)
5694            .field("unref_node", &self.unref_node)
5695            .finish()
5696    }
5697}
5698
5699#[derive(Copy, Clone)]
5700#[repr(C)]
5701pub struct GtkTreeModelSortClass {
5702    pub parent_class: gobject::GObjectClass,
5703    pub padding: [gpointer; 8],
5704}
5705
5706impl ::std::fmt::Debug for GtkTreeModelSortClass {
5707    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5708        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5709            .field("parent_class", &self.parent_class)
5710            .finish()
5711    }
5712}
5713
5714#[repr(C)]
5715#[allow(dead_code)]
5716pub struct _GtkTreeModelSortPrivate {
5717    _data: [u8; 0],
5718    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5719}
5720
5721pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5722
5723#[repr(C)]
5724#[allow(dead_code)]
5725pub struct GtkTreePath {
5726    _data: [u8; 0],
5727    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5728}
5729
5730impl ::std::fmt::Debug for GtkTreePath {
5731    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5732        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5733    }
5734}
5735
5736#[repr(C)]
5737#[allow(dead_code)]
5738pub struct GtkTreeRowReference {
5739    _data: [u8; 0],
5740    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5741}
5742
5743impl ::std::fmt::Debug for GtkTreeRowReference {
5744    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5745        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5746            .finish()
5747    }
5748}
5749
5750#[derive(Copy, Clone)]
5751#[repr(C)]
5752pub struct GtkTreeSortableIface {
5753    pub g_iface: gobject::GTypeInterface,
5754    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5755    pub get_sort_column_id: Option<
5756        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5757    >,
5758    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5759    pub set_sort_func: Option<
5760        unsafe extern "C" fn(
5761            *mut GtkTreeSortable,
5762            c_int,
5763            GtkTreeIterCompareFunc,
5764            gpointer,
5765            glib::GDestroyNotify,
5766        ),
5767    >,
5768    pub set_default_sort_func: Option<
5769        unsafe extern "C" fn(
5770            *mut GtkTreeSortable,
5771            GtkTreeIterCompareFunc,
5772            gpointer,
5773            glib::GDestroyNotify,
5774        ),
5775    >,
5776    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5777}
5778
5779impl ::std::fmt::Debug for GtkTreeSortableIface {
5780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5781        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5782            .field("sort_column_changed", &self.sort_column_changed)
5783            .field("get_sort_column_id", &self.get_sort_column_id)
5784            .field("set_sort_column_id", &self.set_sort_column_id)
5785            .field("set_sort_func", &self.set_sort_func)
5786            .field("set_default_sort_func", &self.set_default_sort_func)
5787            .field("has_default_sort_func", &self.has_default_sort_func)
5788            .finish()
5789    }
5790}
5791
5792#[derive(Copy, Clone)]
5793#[repr(C)]
5794pub struct GtkTreeStoreClass {
5795    pub parent_class: gobject::GObjectClass,
5796    pub padding: [gpointer; 8],
5797}
5798
5799impl ::std::fmt::Debug for GtkTreeStoreClass {
5800    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5801        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5802            .field("parent_class", &self.parent_class)
5803            .finish()
5804    }
5805}
5806
5807#[repr(C)]
5808#[allow(dead_code)]
5809pub struct _GtkTreeStorePrivate {
5810    _data: [u8; 0],
5811    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5812}
5813
5814pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5815
5816#[derive(Copy, Clone)]
5817#[repr(C)]
5818pub struct GtkTreeViewClass {
5819    pub parent_class: GtkWidgetClass,
5820    pub row_activated:
5821        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5822    pub test_expand_row: Option<
5823        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5824    >,
5825    pub test_collapse_row: Option<
5826        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5827    >,
5828    pub row_expanded:
5829        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5830    pub row_collapsed:
5831        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5832    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5833    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5834    pub move_cursor: Option<
5835        unsafe extern "C" fn(
5836            *mut GtkTreeView,
5837            GtkMovementStep,
5838            c_int,
5839            gboolean,
5840            gboolean,
5841        ) -> gboolean,
5842    >,
5843    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5844    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5845    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5846    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5847    pub expand_collapse_cursor_row:
5848        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5849    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5850    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5851    pub _reserved: [gpointer; 16],
5852}
5853
5854impl ::std::fmt::Debug for GtkTreeViewClass {
5855    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5856        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5857            .field("parent_class", &self.parent_class)
5858            .field("row_activated", &self.row_activated)
5859            .field("test_expand_row", &self.test_expand_row)
5860            .field("test_collapse_row", &self.test_collapse_row)
5861            .field("row_expanded", &self.row_expanded)
5862            .field("row_collapsed", &self.row_collapsed)
5863            .field("columns_changed", &self.columns_changed)
5864            .field("cursor_changed", &self.cursor_changed)
5865            .field("move_cursor", &self.move_cursor)
5866            .field("select_all", &self.select_all)
5867            .field("unselect_all", &self.unselect_all)
5868            .field("select_cursor_row", &self.select_cursor_row)
5869            .field("toggle_cursor_row", &self.toggle_cursor_row)
5870            .field(
5871                "expand_collapse_cursor_row",
5872                &self.expand_collapse_cursor_row,
5873            )
5874            .field("select_cursor_parent", &self.select_cursor_parent)
5875            .field("start_interactive_search", &self.start_interactive_search)
5876            .finish()
5877    }
5878}
5879
5880#[derive(Copy, Clone)]
5881#[repr(C)]
5882pub struct GtkUriLauncherClass {
5883    pub parent_class: gobject::GObjectClass,
5884}
5885
5886impl ::std::fmt::Debug for GtkUriLauncherClass {
5887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5888        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5889            .field("parent_class", &self.parent_class)
5890            .finish()
5891    }
5892}
5893
5894#[derive(Copy, Clone)]
5895#[repr(C)]
5896pub struct GtkVideoClass {
5897    pub parent_class: GtkWidgetClass,
5898}
5899
5900impl ::std::fmt::Debug for GtkVideoClass {
5901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5902        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5903            .field("parent_class", &self.parent_class)
5904            .finish()
5905    }
5906}
5907
5908#[derive(Copy, Clone)]
5909#[repr(C)]
5910pub struct GtkWidgetClass {
5911    pub parent_class: gobject::GInitiallyUnownedClass,
5912    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5913    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5914    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5915    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5916    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5917    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5918    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5919    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5920    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5921    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5922    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5923    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5924    pub measure: Option<
5925        unsafe extern "C" fn(
5926            *mut GtkWidget,
5927            GtkOrientation,
5928            c_int,
5929            *mut c_int,
5930            *mut c_int,
5931            *mut c_int,
5932            *mut c_int,
5933        ),
5934    >,
5935    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5936    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5937    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5938    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5939    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5940    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5941    pub query_tooltip: Option<
5942        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5943    >,
5944    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5945    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5946    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5947    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5948    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5949    pub priv_: *mut GtkWidgetClassPrivate,
5950    pub padding: [gpointer; 8],
5951}
5952
5953impl ::std::fmt::Debug for GtkWidgetClass {
5954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5955        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5956            .field("parent_class", &self.parent_class)
5957            .field("show", &self.show)
5958            .field("hide", &self.hide)
5959            .field("map", &self.map)
5960            .field("unmap", &self.unmap)
5961            .field("realize", &self.realize)
5962            .field("unrealize", &self.unrealize)
5963            .field("root", &self.root)
5964            .field("unroot", &self.unroot)
5965            .field("size_allocate", &self.size_allocate)
5966            .field("state_flags_changed", &self.state_flags_changed)
5967            .field("direction_changed", &self.direction_changed)
5968            .field("get_request_mode", &self.get_request_mode)
5969            .field("measure", &self.measure)
5970            .field("mnemonic_activate", &self.mnemonic_activate)
5971            .field("grab_focus", &self.grab_focus)
5972            .field("focus", &self.focus)
5973            .field("set_focus_child", &self.set_focus_child)
5974            .field("move_focus", &self.move_focus)
5975            .field("keynav_failed", &self.keynav_failed)
5976            .field("query_tooltip", &self.query_tooltip)
5977            .field("compute_expand", &self.compute_expand)
5978            .field("css_changed", &self.css_changed)
5979            .field("system_setting_changed", &self.system_setting_changed)
5980            .field("snapshot", &self.snapshot)
5981            .field("contains", &self.contains)
5982            .finish()
5983    }
5984}
5985
5986#[repr(C)]
5987#[allow(dead_code)]
5988pub struct _GtkWidgetClassPrivate {
5989    _data: [u8; 0],
5990    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5991}
5992
5993pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5994
5995#[derive(Copy, Clone)]
5996#[repr(C)]
5997pub struct GtkWidgetPaintableClass {
5998    pub parent_class: gobject::GObjectClass,
5999}
6000
6001impl ::std::fmt::Debug for GtkWidgetPaintableClass {
6002    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6003        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
6004            .field("parent_class", &self.parent_class)
6005            .finish()
6006    }
6007}
6008
6009#[repr(C)]
6010#[allow(dead_code)]
6011pub struct _GtkWidgetPrivate {
6012    _data: [u8; 0],
6013    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6014}
6015
6016pub type GtkWidgetPrivate = _GtkWidgetPrivate;
6017
6018#[derive(Copy, Clone)]
6019#[repr(C)]
6020pub struct GtkWindowClass {
6021    pub parent_class: GtkWidgetClass,
6022    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6023    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6024    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6025    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
6026    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
6027    pub force_close: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6028    pub padding: [gpointer; 7],
6029}
6030
6031impl ::std::fmt::Debug for GtkWindowClass {
6032    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6033        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
6034            .field("parent_class", &self.parent_class)
6035            .field("activate_focus", &self.activate_focus)
6036            .field("activate_default", &self.activate_default)
6037            .field("keys_changed", &self.keys_changed)
6038            .field("enable_debugging", &self.enable_debugging)
6039            .field("close_request", &self.close_request)
6040            .field("force_close", &self.force_close)
6041            .finish()
6042    }
6043}
6044
6045#[derive(Copy, Clone)]
6046#[repr(C)]
6047pub struct GtkWindowControlsClass {
6048    pub parent_class: GtkWidgetClass,
6049}
6050
6051impl ::std::fmt::Debug for GtkWindowControlsClass {
6052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6053        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
6054            .field("parent_class", &self.parent_class)
6055            .finish()
6056    }
6057}
6058
6059#[derive(Copy, Clone)]
6060#[repr(C)]
6061pub struct GtkWindowGroupClass {
6062    pub parent_class: gobject::GObjectClass,
6063    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6064    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6065    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6066    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6067}
6068
6069impl ::std::fmt::Debug for GtkWindowGroupClass {
6070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6071        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
6072            .field("parent_class", &self.parent_class)
6073            .field("_gtk_reserved1", &self._gtk_reserved1)
6074            .field("_gtk_reserved2", &self._gtk_reserved2)
6075            .field("_gtk_reserved3", &self._gtk_reserved3)
6076            .field("_gtk_reserved4", &self._gtk_reserved4)
6077            .finish()
6078    }
6079}
6080
6081#[repr(C)]
6082#[allow(dead_code)]
6083pub struct _GtkWindowGroupPrivate {
6084    _data: [u8; 0],
6085    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6086}
6087
6088pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
6089
6090#[derive(Copy, Clone)]
6091#[repr(C)]
6092pub struct GtkWindowHandleClass {
6093    pub parent_class: GtkWidgetClass,
6094}
6095
6096impl ::std::fmt::Debug for GtkWindowHandleClass {
6097    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6098        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
6099            .field("parent_class", &self.parent_class)
6100            .finish()
6101    }
6102}
6103
6104// Classes
6105#[repr(C)]
6106#[allow(dead_code)]
6107pub struct GtkATContext {
6108    _data: [u8; 0],
6109    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6110}
6111
6112impl ::std::fmt::Debug for GtkATContext {
6113    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6114        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
6115    }
6116}
6117
6118#[repr(C)]
6119#[allow(dead_code)]
6120pub struct GtkAboutDialog {
6121    _data: [u8; 0],
6122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6123}
6124
6125impl ::std::fmt::Debug for GtkAboutDialog {
6126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6127        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
6128            .finish()
6129    }
6130}
6131
6132#[repr(C)]
6133#[allow(dead_code)]
6134pub struct GtkAccessibleHyperlink {
6135    _data: [u8; 0],
6136    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6137}
6138
6139impl ::std::fmt::Debug for GtkAccessibleHyperlink {
6140    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6141        f.debug_struct(&format!("GtkAccessibleHyperlink @ {self:p}"))
6142            .finish()
6143    }
6144}
6145
6146#[repr(C)]
6147#[allow(dead_code)]
6148pub struct GtkActionBar {
6149    _data: [u8; 0],
6150    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6151}
6152
6153impl ::std::fmt::Debug for GtkActionBar {
6154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6155        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
6156    }
6157}
6158
6159#[repr(C)]
6160#[allow(dead_code)]
6161pub struct GtkActivateAction {
6162    _data: [u8; 0],
6163    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6164}
6165
6166impl ::std::fmt::Debug for GtkActivateAction {
6167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6168        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
6169            .finish()
6170    }
6171}
6172
6173#[derive(Copy, Clone)]
6174#[repr(C)]
6175pub struct GtkAdjustment {
6176    pub parent_instance: gobject::GInitiallyUnowned,
6177}
6178
6179impl ::std::fmt::Debug for GtkAdjustment {
6180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6181        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
6182            .field("parent_instance", &self.parent_instance)
6183            .finish()
6184    }
6185}
6186
6187#[repr(C)]
6188#[allow(dead_code)]
6189pub struct GtkAlertDialog {
6190    _data: [u8; 0],
6191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6192}
6193
6194impl ::std::fmt::Debug for GtkAlertDialog {
6195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6196        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
6197            .finish()
6198    }
6199}
6200
6201#[repr(C)]
6202#[allow(dead_code)]
6203pub struct GtkAlternativeTrigger {
6204    _data: [u8; 0],
6205    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6206}
6207
6208impl ::std::fmt::Debug for GtkAlternativeTrigger {
6209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6210        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
6211            .finish()
6212    }
6213}
6214
6215#[repr(C)]
6216#[allow(dead_code)]
6217pub struct GtkAnyFilter {
6218    _data: [u8; 0],
6219    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6220}
6221
6222impl ::std::fmt::Debug for GtkAnyFilter {
6223    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6224        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
6225    }
6226}
6227
6228#[repr(C)]
6229#[allow(dead_code)]
6230pub struct GtkAppChooserButton {
6231    _data: [u8; 0],
6232    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6233}
6234
6235impl ::std::fmt::Debug for GtkAppChooserButton {
6236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6237        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
6238            .finish()
6239    }
6240}
6241
6242#[repr(C)]
6243#[allow(dead_code)]
6244pub struct GtkAppChooserDialog {
6245    _data: [u8; 0],
6246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6247}
6248
6249impl ::std::fmt::Debug for GtkAppChooserDialog {
6250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6251        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
6252            .finish()
6253    }
6254}
6255
6256#[repr(C)]
6257#[allow(dead_code)]
6258pub struct GtkAppChooserWidget {
6259    _data: [u8; 0],
6260    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6261}
6262
6263impl ::std::fmt::Debug for GtkAppChooserWidget {
6264    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6265        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
6266            .finish()
6267    }
6268}
6269
6270#[derive(Copy, Clone)]
6271#[repr(C)]
6272pub struct GtkApplication {
6273    pub parent_instance: gio::GApplication,
6274}
6275
6276impl ::std::fmt::Debug for GtkApplication {
6277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6278        f.debug_struct(&format!("GtkApplication @ {self:p}"))
6279            .field("parent_instance", &self.parent_instance)
6280            .finish()
6281    }
6282}
6283
6284#[derive(Copy, Clone)]
6285#[repr(C)]
6286pub struct GtkApplicationWindow {
6287    pub parent_instance: GtkWindow,
6288}
6289
6290impl ::std::fmt::Debug for GtkApplicationWindow {
6291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6292        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
6293            .field("parent_instance", &self.parent_instance)
6294            .finish()
6295    }
6296}
6297
6298#[repr(C)]
6299#[allow(dead_code)]
6300pub struct GtkAspectFrame {
6301    _data: [u8; 0],
6302    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6303}
6304
6305impl ::std::fmt::Debug for GtkAspectFrame {
6306    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6307        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6308            .finish()
6309    }
6310}
6311
6312#[repr(C)]
6313#[allow(dead_code)]
6314pub struct GtkAssistant {
6315    _data: [u8; 0],
6316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6317}
6318
6319impl ::std::fmt::Debug for GtkAssistant {
6320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6321        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6322    }
6323}
6324
6325#[repr(C)]
6326#[allow(dead_code)]
6327pub struct GtkAssistantPage {
6328    _data: [u8; 0],
6329    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6330}
6331
6332impl ::std::fmt::Debug for GtkAssistantPage {
6333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6334        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6335            .finish()
6336    }
6337}
6338
6339#[repr(C)]
6340#[allow(dead_code)]
6341pub struct GtkBinLayout {
6342    _data: [u8; 0],
6343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6344}
6345
6346impl ::std::fmt::Debug for GtkBinLayout {
6347    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6348        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6349    }
6350}
6351
6352#[repr(C)]
6353#[allow(dead_code)]
6354pub struct GtkBookmarkList {
6355    _data: [u8; 0],
6356    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6357}
6358
6359impl ::std::fmt::Debug for GtkBookmarkList {
6360    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6361        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6362            .finish()
6363    }
6364}
6365
6366#[repr(C)]
6367#[allow(dead_code)]
6368pub struct GtkBoolFilter {
6369    _data: [u8; 0],
6370    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6371}
6372
6373impl ::std::fmt::Debug for GtkBoolFilter {
6374    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6375        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6376            .finish()
6377    }
6378}
6379
6380#[derive(Copy, Clone)]
6381#[repr(C)]
6382pub struct GtkBox {
6383    pub parent_instance: GtkWidget,
6384}
6385
6386impl ::std::fmt::Debug for GtkBox {
6387    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6388        f.debug_struct(&format!("GtkBox @ {self:p}"))
6389            .field("parent_instance", &self.parent_instance)
6390            .finish()
6391    }
6392}
6393
6394#[repr(C)]
6395#[allow(dead_code)]
6396pub struct GtkBoxLayout {
6397    _data: [u8; 0],
6398    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6399}
6400
6401impl ::std::fmt::Debug for GtkBoxLayout {
6402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6403        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6404    }
6405}
6406
6407#[repr(C)]
6408#[allow(dead_code)]
6409pub struct GtkBuilder {
6410    _data: [u8; 0],
6411    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6412}
6413
6414impl ::std::fmt::Debug for GtkBuilder {
6415    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6416        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6417    }
6418}
6419
6420#[derive(Copy, Clone)]
6421#[repr(C)]
6422pub struct GtkBuilderCScope {
6423    pub parent_instance: gobject::GObject,
6424}
6425
6426impl ::std::fmt::Debug for GtkBuilderCScope {
6427    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6428        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6429            .field("parent_instance", &self.parent_instance)
6430            .finish()
6431    }
6432}
6433
6434#[repr(C)]
6435#[allow(dead_code)]
6436pub struct GtkBuilderListItemFactory {
6437    _data: [u8; 0],
6438    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6439}
6440
6441impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6442    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6443        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6444            .finish()
6445    }
6446}
6447
6448#[derive(Copy, Clone)]
6449#[repr(C)]
6450pub struct GtkButton {
6451    pub parent_instance: GtkWidget,
6452}
6453
6454impl ::std::fmt::Debug for GtkButton {
6455    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6456        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6457    }
6458}
6459
6460#[repr(C)]
6461#[allow(dead_code)]
6462pub struct GtkCClosureExpression {
6463    _data: [u8; 0],
6464    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6465}
6466
6467impl ::std::fmt::Debug for GtkCClosureExpression {
6468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6469        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6470            .finish()
6471    }
6472}
6473
6474#[repr(C)]
6475#[allow(dead_code)]
6476pub struct GtkCalendar {
6477    _data: [u8; 0],
6478    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6479}
6480
6481impl ::std::fmt::Debug for GtkCalendar {
6482    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6483        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6484    }
6485}
6486
6487#[repr(C)]
6488#[allow(dead_code)]
6489pub struct GtkCallbackAction {
6490    _data: [u8; 0],
6491    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6492}
6493
6494impl ::std::fmt::Debug for GtkCallbackAction {
6495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6496        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6497            .finish()
6498    }
6499}
6500
6501#[derive(Copy, Clone)]
6502#[repr(C)]
6503pub struct GtkCellArea {
6504    pub parent_instance: gobject::GInitiallyUnowned,
6505}
6506
6507impl ::std::fmt::Debug for GtkCellArea {
6508    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6509        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6510    }
6511}
6512
6513#[repr(C)]
6514#[allow(dead_code)]
6515pub struct GtkCellAreaBox {
6516    _data: [u8; 0],
6517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6518}
6519
6520impl ::std::fmt::Debug for GtkCellAreaBox {
6521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6522        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6523            .finish()
6524    }
6525}
6526
6527#[derive(Copy, Clone)]
6528#[repr(C)]
6529pub struct GtkCellAreaContext {
6530    pub parent_instance: gobject::GObject,
6531}
6532
6533impl ::std::fmt::Debug for GtkCellAreaContext {
6534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6535        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6536            .finish()
6537    }
6538}
6539
6540#[derive(Copy, Clone)]
6541#[repr(C)]
6542pub struct GtkCellRenderer {
6543    pub parent_instance: gobject::GInitiallyUnowned,
6544    pub priv_: *mut GtkCellRendererPrivate,
6545}
6546
6547impl ::std::fmt::Debug for GtkCellRenderer {
6548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6549        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6550            .field("parent_instance", &self.parent_instance)
6551            .finish()
6552    }
6553}
6554
6555#[repr(C)]
6556#[allow(dead_code)]
6557pub struct GtkCellRendererAccel {
6558    _data: [u8; 0],
6559    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6560}
6561
6562impl ::std::fmt::Debug for GtkCellRendererAccel {
6563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6564        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6565            .finish()
6566    }
6567}
6568
6569#[repr(C)]
6570#[allow(dead_code)]
6571pub struct GtkCellRendererCombo {
6572    _data: [u8; 0],
6573    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6574}
6575
6576impl ::std::fmt::Debug for GtkCellRendererCombo {
6577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6578        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6579            .finish()
6580    }
6581}
6582
6583#[repr(C)]
6584#[allow(dead_code)]
6585pub struct GtkCellRendererPixbuf {
6586    _data: [u8; 0],
6587    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6588}
6589
6590impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6592        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6593            .finish()
6594    }
6595}
6596
6597#[repr(C)]
6598#[allow(dead_code)]
6599pub struct GtkCellRendererProgress {
6600    _data: [u8; 0],
6601    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6602}
6603
6604impl ::std::fmt::Debug for GtkCellRendererProgress {
6605    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6606        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6607            .finish()
6608    }
6609}
6610
6611#[repr(C)]
6612#[allow(dead_code)]
6613pub struct GtkCellRendererSpin {
6614    _data: [u8; 0],
6615    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6616}
6617
6618impl ::std::fmt::Debug for GtkCellRendererSpin {
6619    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6620        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6621            .finish()
6622    }
6623}
6624
6625#[repr(C)]
6626#[allow(dead_code)]
6627pub struct GtkCellRendererSpinner {
6628    _data: [u8; 0],
6629    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6630}
6631
6632impl ::std::fmt::Debug for GtkCellRendererSpinner {
6633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6634        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6635            .finish()
6636    }
6637}
6638
6639#[derive(Copy, Clone)]
6640#[repr(C)]
6641pub struct GtkCellRendererText {
6642    pub parent: GtkCellRenderer,
6643}
6644
6645impl ::std::fmt::Debug for GtkCellRendererText {
6646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6647        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6648            .field("parent", &self.parent)
6649            .finish()
6650    }
6651}
6652
6653#[repr(C)]
6654#[allow(dead_code)]
6655pub struct GtkCellRendererToggle {
6656    _data: [u8; 0],
6657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6658}
6659
6660impl ::std::fmt::Debug for GtkCellRendererToggle {
6661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6662        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6663            .finish()
6664    }
6665}
6666
6667#[repr(C)]
6668#[allow(dead_code)]
6669pub struct GtkCellView {
6670    _data: [u8; 0],
6671    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6672}
6673
6674impl ::std::fmt::Debug for GtkCellView {
6675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6676        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6677    }
6678}
6679
6680#[repr(C)]
6681#[allow(dead_code)]
6682pub struct GtkCenterBox {
6683    _data: [u8; 0],
6684    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6685}
6686
6687impl ::std::fmt::Debug for GtkCenterBox {
6688    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6689        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6690    }
6691}
6692
6693#[repr(C)]
6694#[allow(dead_code)]
6695pub struct GtkCenterLayout {
6696    _data: [u8; 0],
6697    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6698}
6699
6700impl ::std::fmt::Debug for GtkCenterLayout {
6701    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6702        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6703            .finish()
6704    }
6705}
6706
6707#[derive(Copy, Clone)]
6708#[repr(C)]
6709pub struct GtkCheckButton {
6710    pub parent_instance: GtkWidget,
6711}
6712
6713impl ::std::fmt::Debug for GtkCheckButton {
6714    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6715        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6716            .field("parent_instance", &self.parent_instance)
6717            .finish()
6718    }
6719}
6720
6721#[repr(C)]
6722#[allow(dead_code)]
6723pub struct GtkClosureExpression {
6724    _data: [u8; 0],
6725    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6726}
6727
6728impl ::std::fmt::Debug for GtkClosureExpression {
6729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6730        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6731            .finish()
6732    }
6733}
6734
6735#[repr(C)]
6736#[allow(dead_code)]
6737pub struct GtkColorButton {
6738    _data: [u8; 0],
6739    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6740}
6741
6742impl ::std::fmt::Debug for GtkColorButton {
6743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6744        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6745            .finish()
6746    }
6747}
6748
6749#[repr(C)]
6750#[allow(dead_code)]
6751pub struct GtkColorChooserDialog {
6752    _data: [u8; 0],
6753    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6754}
6755
6756impl ::std::fmt::Debug for GtkColorChooserDialog {
6757    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6758        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6759            .finish()
6760    }
6761}
6762
6763#[repr(C)]
6764#[allow(dead_code)]
6765pub struct GtkColorChooserWidget {
6766    _data: [u8; 0],
6767    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6768}
6769
6770impl ::std::fmt::Debug for GtkColorChooserWidget {
6771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6772        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6773            .finish()
6774    }
6775}
6776
6777#[repr(C)]
6778#[allow(dead_code)]
6779pub struct GtkColorDialog {
6780    _data: [u8; 0],
6781    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6782}
6783
6784impl ::std::fmt::Debug for GtkColorDialog {
6785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6786        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6787            .finish()
6788    }
6789}
6790
6791#[repr(C)]
6792#[allow(dead_code)]
6793pub struct GtkColorDialogButton {
6794    _data: [u8; 0],
6795    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6796}
6797
6798impl ::std::fmt::Debug for GtkColorDialogButton {
6799    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6800        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6801            .finish()
6802    }
6803}
6804
6805#[repr(C)]
6806#[allow(dead_code)]
6807pub struct GtkColumnView {
6808    _data: [u8; 0],
6809    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6810}
6811
6812impl ::std::fmt::Debug for GtkColumnView {
6813    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6814        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6815            .finish()
6816    }
6817}
6818
6819#[repr(C)]
6820#[allow(dead_code)]
6821pub struct GtkColumnViewCell {
6822    _data: [u8; 0],
6823    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6824}
6825
6826impl ::std::fmt::Debug for GtkColumnViewCell {
6827    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6828        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6829            .finish()
6830    }
6831}
6832
6833#[repr(C)]
6834#[allow(dead_code)]
6835pub struct GtkColumnViewColumn {
6836    _data: [u8; 0],
6837    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6838}
6839
6840impl ::std::fmt::Debug for GtkColumnViewColumn {
6841    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6842        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6843            .finish()
6844    }
6845}
6846
6847#[repr(C)]
6848#[allow(dead_code)]
6849pub struct GtkColumnViewRow {
6850    _data: [u8; 0],
6851    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6852}
6853
6854impl ::std::fmt::Debug for GtkColumnViewRow {
6855    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6856        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6857            .finish()
6858    }
6859}
6860
6861#[repr(C)]
6862#[allow(dead_code)]
6863pub struct GtkColumnViewSorter {
6864    _data: [u8; 0],
6865    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6866}
6867
6868impl ::std::fmt::Debug for GtkColumnViewSorter {
6869    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6870        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6871            .finish()
6872    }
6873}
6874
6875#[derive(Copy, Clone)]
6876#[repr(C)]
6877pub struct GtkComboBox {
6878    pub parent_instance: GtkWidget,
6879}
6880
6881impl ::std::fmt::Debug for GtkComboBox {
6882    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6883        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6884            .field("parent_instance", &self.parent_instance)
6885            .finish()
6886    }
6887}
6888
6889#[repr(C)]
6890#[allow(dead_code)]
6891pub struct GtkComboBoxText {
6892    _data: [u8; 0],
6893    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6894}
6895
6896impl ::std::fmt::Debug for GtkComboBoxText {
6897    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6898        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6899            .finish()
6900    }
6901}
6902
6903#[repr(C)]
6904#[allow(dead_code)]
6905pub struct GtkConstantExpression {
6906    _data: [u8; 0],
6907    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6908}
6909
6910impl ::std::fmt::Debug for GtkConstantExpression {
6911    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6912        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6913            .finish()
6914    }
6915}
6916
6917#[repr(C)]
6918#[allow(dead_code)]
6919pub struct GtkConstraint {
6920    _data: [u8; 0],
6921    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6922}
6923
6924impl ::std::fmt::Debug for GtkConstraint {
6925    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6926        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6927            .finish()
6928    }
6929}
6930
6931#[repr(C)]
6932#[allow(dead_code)]
6933pub struct GtkConstraintGuide {
6934    _data: [u8; 0],
6935    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6936}
6937
6938impl ::std::fmt::Debug for GtkConstraintGuide {
6939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6940        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6941            .finish()
6942    }
6943}
6944
6945#[repr(C)]
6946#[allow(dead_code)]
6947pub struct GtkConstraintLayout {
6948    _data: [u8; 0],
6949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6950}
6951
6952impl ::std::fmt::Debug for GtkConstraintLayout {
6953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6954        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6955            .finish()
6956    }
6957}
6958
6959#[repr(C)]
6960#[allow(dead_code)]
6961pub struct GtkConstraintLayoutChild {
6962    _data: [u8; 0],
6963    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6964}
6965
6966impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6968        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6969            .finish()
6970    }
6971}
6972
6973#[derive(Copy, Clone)]
6974#[repr(C)]
6975pub struct GtkCssProvider {
6976    pub parent_instance: gobject::GObject,
6977}
6978
6979impl ::std::fmt::Debug for GtkCssProvider {
6980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6981        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6982            .field("parent_instance", &self.parent_instance)
6983            .finish()
6984    }
6985}
6986
6987#[repr(C)]
6988#[allow(dead_code)]
6989pub struct GtkCustomFilter {
6990    _data: [u8; 0],
6991    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6992}
6993
6994impl ::std::fmt::Debug for GtkCustomFilter {
6995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6996        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
6997            .finish()
6998    }
6999}
7000
7001#[repr(C)]
7002#[allow(dead_code)]
7003pub struct GtkCustomLayout {
7004    _data: [u8; 0],
7005    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7006}
7007
7008impl ::std::fmt::Debug for GtkCustomLayout {
7009    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7010        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
7011            .finish()
7012    }
7013}
7014
7015#[repr(C)]
7016#[allow(dead_code)]
7017pub struct GtkCustomSorter {
7018    _data: [u8; 0],
7019    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7020}
7021
7022impl ::std::fmt::Debug for GtkCustomSorter {
7023    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7024        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
7025            .finish()
7026    }
7027}
7028
7029#[derive(Copy, Clone)]
7030#[repr(C)]
7031pub struct GtkDialog {
7032    pub parent_instance: GtkWindow,
7033}
7034
7035impl ::std::fmt::Debug for GtkDialog {
7036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7037        f.debug_struct(&format!("GtkDialog @ {self:p}"))
7038            .field("parent_instance", &self.parent_instance)
7039            .finish()
7040    }
7041}
7042
7043#[repr(C)]
7044#[allow(dead_code)]
7045pub struct GtkDirectoryList {
7046    _data: [u8; 0],
7047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7048}
7049
7050impl ::std::fmt::Debug for GtkDirectoryList {
7051    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7052        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
7053            .finish()
7054    }
7055}
7056
7057#[repr(C)]
7058#[allow(dead_code)]
7059pub struct GtkDragIcon {
7060    _data: [u8; 0],
7061    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7062}
7063
7064impl ::std::fmt::Debug for GtkDragIcon {
7065    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7066        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
7067    }
7068}
7069
7070#[repr(C)]
7071#[allow(dead_code)]
7072pub struct GtkDragSource {
7073    _data: [u8; 0],
7074    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7075}
7076
7077impl ::std::fmt::Debug for GtkDragSource {
7078    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7079        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
7080            .finish()
7081    }
7082}
7083
7084#[derive(Copy, Clone)]
7085#[repr(C)]
7086pub struct GtkDrawingArea {
7087    pub widget: GtkWidget,
7088}
7089
7090impl ::std::fmt::Debug for GtkDrawingArea {
7091    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7092        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
7093            .field("widget", &self.widget)
7094            .finish()
7095    }
7096}
7097
7098#[repr(C)]
7099#[allow(dead_code)]
7100pub struct GtkDropControllerMotion {
7101    _data: [u8; 0],
7102    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7103}
7104
7105impl ::std::fmt::Debug for GtkDropControllerMotion {
7106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7107        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
7108            .finish()
7109    }
7110}
7111
7112#[repr(C)]
7113#[allow(dead_code)]
7114pub struct GtkDropDown {
7115    _data: [u8; 0],
7116    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7117}
7118
7119impl ::std::fmt::Debug for GtkDropDown {
7120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7121        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
7122    }
7123}
7124
7125#[repr(C)]
7126#[allow(dead_code)]
7127pub struct GtkDropTarget {
7128    _data: [u8; 0],
7129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7130}
7131
7132impl ::std::fmt::Debug for GtkDropTarget {
7133    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7134        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
7135            .finish()
7136    }
7137}
7138
7139#[repr(C)]
7140#[allow(dead_code)]
7141pub struct GtkDropTargetAsync {
7142    _data: [u8; 0],
7143    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7144}
7145
7146impl ::std::fmt::Debug for GtkDropTargetAsync {
7147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7148        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
7149            .finish()
7150    }
7151}
7152
7153#[repr(C)]
7154#[allow(dead_code)]
7155pub struct GtkEditableLabel {
7156    _data: [u8; 0],
7157    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7158}
7159
7160impl ::std::fmt::Debug for GtkEditableLabel {
7161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7162        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
7163            .finish()
7164    }
7165}
7166
7167#[repr(C)]
7168#[allow(dead_code)]
7169pub struct GtkEmojiChooser {
7170    _data: [u8; 0],
7171    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7172}
7173
7174impl ::std::fmt::Debug for GtkEmojiChooser {
7175    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7176        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
7177            .finish()
7178    }
7179}
7180
7181#[derive(Copy, Clone)]
7182#[repr(C)]
7183pub struct GtkEntry {
7184    pub parent_instance: GtkWidget,
7185}
7186
7187impl ::std::fmt::Debug for GtkEntry {
7188    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7189        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
7190    }
7191}
7192
7193#[derive(Copy, Clone)]
7194#[repr(C)]
7195pub struct GtkEntryBuffer {
7196    pub parent_instance: gobject::GObject,
7197}
7198
7199impl ::std::fmt::Debug for GtkEntryBuffer {
7200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7201        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
7202            .field("parent_instance", &self.parent_instance)
7203            .finish()
7204    }
7205}
7206
7207#[repr(C)]
7208#[allow(dead_code)]
7209pub struct GtkEntryCompletion {
7210    _data: [u8; 0],
7211    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7212}
7213
7214impl ::std::fmt::Debug for GtkEntryCompletion {
7215    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7216        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
7217            .finish()
7218    }
7219}
7220
7221#[repr(C)]
7222#[allow(dead_code)]
7223pub struct GtkEnumList {
7224    _data: [u8; 0],
7225    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7226}
7227
7228impl ::std::fmt::Debug for GtkEnumList {
7229    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7230        f.debug_struct(&format!("GtkEnumList @ {self:p}")).finish()
7231    }
7232}
7233
7234#[repr(C)]
7235#[allow(dead_code)]
7236pub struct GtkEnumListItem {
7237    _data: [u8; 0],
7238    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7239}
7240
7241impl ::std::fmt::Debug for GtkEnumListItem {
7242    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7243        f.debug_struct(&format!("GtkEnumListItem @ {self:p}"))
7244            .finish()
7245    }
7246}
7247
7248#[repr(C)]
7249#[allow(dead_code)]
7250pub struct GtkEventController {
7251    _data: [u8; 0],
7252    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7253}
7254
7255impl ::std::fmt::Debug for GtkEventController {
7256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7257        f.debug_struct(&format!("GtkEventController @ {self:p}"))
7258            .finish()
7259    }
7260}
7261
7262#[repr(C)]
7263#[allow(dead_code)]
7264pub struct GtkEventControllerFocus {
7265    _data: [u8; 0],
7266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7267}
7268
7269impl ::std::fmt::Debug for GtkEventControllerFocus {
7270    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7271        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
7272            .finish()
7273    }
7274}
7275
7276#[repr(C)]
7277#[allow(dead_code)]
7278pub struct GtkEventControllerKey {
7279    _data: [u8; 0],
7280    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7281}
7282
7283impl ::std::fmt::Debug for GtkEventControllerKey {
7284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7285        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
7286            .finish()
7287    }
7288}
7289
7290#[repr(C)]
7291#[allow(dead_code)]
7292pub struct GtkEventControllerLegacy {
7293    _data: [u8; 0],
7294    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7295}
7296
7297impl ::std::fmt::Debug for GtkEventControllerLegacy {
7298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7299        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
7300            .finish()
7301    }
7302}
7303
7304#[repr(C)]
7305#[allow(dead_code)]
7306pub struct GtkEventControllerMotion {
7307    _data: [u8; 0],
7308    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7309}
7310
7311impl ::std::fmt::Debug for GtkEventControllerMotion {
7312    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7313        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
7314            .finish()
7315    }
7316}
7317
7318#[repr(C)]
7319#[allow(dead_code)]
7320pub struct GtkEventControllerScroll {
7321    _data: [u8; 0],
7322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7323}
7324
7325impl ::std::fmt::Debug for GtkEventControllerScroll {
7326    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7327        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7328            .finish()
7329    }
7330}
7331
7332#[repr(C)]
7333#[allow(dead_code)]
7334pub struct GtkEveryFilter {
7335    _data: [u8; 0],
7336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7337}
7338
7339impl ::std::fmt::Debug for GtkEveryFilter {
7340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7341        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7342            .finish()
7343    }
7344}
7345
7346#[repr(C)]
7347#[allow(dead_code)]
7348pub struct GtkExpander {
7349    _data: [u8; 0],
7350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7351}
7352
7353impl ::std::fmt::Debug for GtkExpander {
7354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7355        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7356    }
7357}
7358
7359#[repr(C)]
7360#[allow(dead_code)]
7361pub struct GtkExpression {
7362    _data: [u8; 0],
7363    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7364}
7365
7366impl ::std::fmt::Debug for GtkExpression {
7367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7368        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7369            .finish()
7370    }
7371}
7372
7373#[repr(C)]
7374#[allow(dead_code)]
7375pub struct GtkFileChooserDialog {
7376    _data: [u8; 0],
7377    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7378}
7379
7380impl ::std::fmt::Debug for GtkFileChooserDialog {
7381    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7382        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7383            .finish()
7384    }
7385}
7386
7387#[repr(C)]
7388#[allow(dead_code)]
7389pub struct GtkFileChooserNative {
7390    _data: [u8; 0],
7391    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7392}
7393
7394impl ::std::fmt::Debug for GtkFileChooserNative {
7395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7396        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7397            .finish()
7398    }
7399}
7400
7401#[repr(C)]
7402#[allow(dead_code)]
7403pub struct GtkFileChooserWidget {
7404    _data: [u8; 0],
7405    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7406}
7407
7408impl ::std::fmt::Debug for GtkFileChooserWidget {
7409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7410        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7411            .finish()
7412    }
7413}
7414
7415#[repr(C)]
7416#[allow(dead_code)]
7417pub struct GtkFileDialog {
7418    _data: [u8; 0],
7419    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7420}
7421
7422impl ::std::fmt::Debug for GtkFileDialog {
7423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7424        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7425            .finish()
7426    }
7427}
7428
7429#[repr(C)]
7430#[allow(dead_code)]
7431pub struct GtkFileFilter {
7432    _data: [u8; 0],
7433    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7434}
7435
7436impl ::std::fmt::Debug for GtkFileFilter {
7437    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7438        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7439            .finish()
7440    }
7441}
7442
7443#[repr(C)]
7444#[allow(dead_code)]
7445pub struct GtkFileLauncher {
7446    _data: [u8; 0],
7447    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7448}
7449
7450impl ::std::fmt::Debug for GtkFileLauncher {
7451    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7452        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7453            .finish()
7454    }
7455}
7456
7457#[derive(Copy, Clone)]
7458#[repr(C)]
7459pub struct GtkFilter {
7460    pub parent_instance: gobject::GObject,
7461}
7462
7463impl ::std::fmt::Debug for GtkFilter {
7464    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7465        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7466            .field("parent_instance", &self.parent_instance)
7467            .finish()
7468    }
7469}
7470
7471#[repr(C)]
7472#[allow(dead_code)]
7473pub struct GtkFilterListModel {
7474    _data: [u8; 0],
7475    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7476}
7477
7478impl ::std::fmt::Debug for GtkFilterListModel {
7479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7480        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7481            .finish()
7482    }
7483}
7484
7485#[derive(Copy, Clone)]
7486#[repr(C)]
7487pub struct GtkFixed {
7488    pub parent_instance: GtkWidget,
7489}
7490
7491impl ::std::fmt::Debug for GtkFixed {
7492    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7493        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7494            .field("parent_instance", &self.parent_instance)
7495            .finish()
7496    }
7497}
7498
7499#[repr(C)]
7500#[allow(dead_code)]
7501pub struct GtkFixedLayout {
7502    _data: [u8; 0],
7503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7504}
7505
7506impl ::std::fmt::Debug for GtkFixedLayout {
7507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7508        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7509            .finish()
7510    }
7511}
7512
7513#[repr(C)]
7514#[allow(dead_code)]
7515pub struct GtkFixedLayoutChild {
7516    _data: [u8; 0],
7517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7518}
7519
7520impl ::std::fmt::Debug for GtkFixedLayoutChild {
7521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7522        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7523            .finish()
7524    }
7525}
7526
7527#[repr(C)]
7528#[allow(dead_code)]
7529pub struct GtkFlattenListModel {
7530    _data: [u8; 0],
7531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7532}
7533
7534impl ::std::fmt::Debug for GtkFlattenListModel {
7535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7536        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7537            .finish()
7538    }
7539}
7540
7541#[repr(C)]
7542#[allow(dead_code)]
7543pub struct GtkFlowBox {
7544    _data: [u8; 0],
7545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7546}
7547
7548impl ::std::fmt::Debug for GtkFlowBox {
7549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7550        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7551    }
7552}
7553
7554#[derive(Copy, Clone)]
7555#[repr(C)]
7556pub struct GtkFlowBoxChild {
7557    pub parent_instance: GtkWidget,
7558}
7559
7560impl ::std::fmt::Debug for GtkFlowBoxChild {
7561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7562        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7563            .finish()
7564    }
7565}
7566
7567#[repr(C)]
7568#[allow(dead_code)]
7569pub struct GtkFontButton {
7570    _data: [u8; 0],
7571    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7572}
7573
7574impl ::std::fmt::Debug for GtkFontButton {
7575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7576        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7577            .finish()
7578    }
7579}
7580
7581#[repr(C)]
7582#[allow(dead_code)]
7583pub struct GtkFontChooserDialog {
7584    _data: [u8; 0],
7585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7586}
7587
7588impl ::std::fmt::Debug for GtkFontChooserDialog {
7589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7590        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7591            .finish()
7592    }
7593}
7594
7595#[repr(C)]
7596#[allow(dead_code)]
7597pub struct GtkFontChooserWidget {
7598    _data: [u8; 0],
7599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7600}
7601
7602impl ::std::fmt::Debug for GtkFontChooserWidget {
7603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7604        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7605            .finish()
7606    }
7607}
7608
7609#[repr(C)]
7610#[allow(dead_code)]
7611pub struct GtkFontDialog {
7612    _data: [u8; 0],
7613    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7614}
7615
7616impl ::std::fmt::Debug for GtkFontDialog {
7617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7618        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7619            .finish()
7620    }
7621}
7622
7623#[repr(C)]
7624#[allow(dead_code)]
7625pub struct GtkFontDialogButton {
7626    _data: [u8; 0],
7627    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7628}
7629
7630impl ::std::fmt::Debug for GtkFontDialogButton {
7631    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7632        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7633            .finish()
7634    }
7635}
7636
7637#[derive(Copy, Clone)]
7638#[repr(C)]
7639pub struct GtkFrame {
7640    pub parent_instance: GtkWidget,
7641}
7642
7643impl ::std::fmt::Debug for GtkFrame {
7644    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7645        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7646            .field("parent_instance", &self.parent_instance)
7647            .finish()
7648    }
7649}
7650
7651#[derive(Copy, Clone)]
7652#[repr(C)]
7653pub struct GtkGLArea {
7654    pub parent_instance: GtkWidget,
7655}
7656
7657impl ::std::fmt::Debug for GtkGLArea {
7658    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7659        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7660    }
7661}
7662
7663#[repr(C)]
7664#[allow(dead_code)]
7665pub struct GtkGesture {
7666    _data: [u8; 0],
7667    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7668}
7669
7670impl ::std::fmt::Debug for GtkGesture {
7671    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7672        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7673    }
7674}
7675
7676#[repr(C)]
7677#[allow(dead_code)]
7678pub struct GtkGestureClick {
7679    _data: [u8; 0],
7680    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7681}
7682
7683impl ::std::fmt::Debug for GtkGestureClick {
7684    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7685        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7686            .finish()
7687    }
7688}
7689
7690#[repr(C)]
7691#[allow(dead_code)]
7692pub struct GtkGestureDrag {
7693    _data: [u8; 0],
7694    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7695}
7696
7697impl ::std::fmt::Debug for GtkGestureDrag {
7698    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7699        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7700            .finish()
7701    }
7702}
7703
7704#[repr(C)]
7705#[allow(dead_code)]
7706pub struct GtkGestureLongPress {
7707    _data: [u8; 0],
7708    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7709}
7710
7711impl ::std::fmt::Debug for GtkGestureLongPress {
7712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7713        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7714            .finish()
7715    }
7716}
7717
7718#[repr(C)]
7719#[allow(dead_code)]
7720pub struct GtkGesturePan {
7721    _data: [u8; 0],
7722    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7723}
7724
7725impl ::std::fmt::Debug for GtkGesturePan {
7726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7727        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7728            .finish()
7729    }
7730}
7731
7732#[repr(C)]
7733#[allow(dead_code)]
7734pub struct GtkGestureRotate {
7735    _data: [u8; 0],
7736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7737}
7738
7739impl ::std::fmt::Debug for GtkGestureRotate {
7740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7741        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7742            .finish()
7743    }
7744}
7745
7746#[repr(C)]
7747#[allow(dead_code)]
7748pub struct GtkGestureSingle {
7749    _data: [u8; 0],
7750    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7751}
7752
7753impl ::std::fmt::Debug for GtkGestureSingle {
7754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7755        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7756            .finish()
7757    }
7758}
7759
7760#[repr(C)]
7761#[allow(dead_code)]
7762pub struct GtkGestureStylus {
7763    _data: [u8; 0],
7764    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7765}
7766
7767impl ::std::fmt::Debug for GtkGestureStylus {
7768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7769        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7770            .finish()
7771    }
7772}
7773
7774#[repr(C)]
7775#[allow(dead_code)]
7776pub struct GtkGestureSwipe {
7777    _data: [u8; 0],
7778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7779}
7780
7781impl ::std::fmt::Debug for GtkGestureSwipe {
7782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7783        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7784            .finish()
7785    }
7786}
7787
7788#[repr(C)]
7789#[allow(dead_code)]
7790pub struct GtkGestureZoom {
7791    _data: [u8; 0],
7792    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7793}
7794
7795impl ::std::fmt::Debug for GtkGestureZoom {
7796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7797        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7798            .finish()
7799    }
7800}
7801
7802#[repr(C)]
7803#[allow(dead_code)]
7804pub struct GtkGraphicsOffload {
7805    _data: [u8; 0],
7806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7807}
7808
7809impl ::std::fmt::Debug for GtkGraphicsOffload {
7810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7811        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7812            .finish()
7813    }
7814}
7815
7816#[derive(Copy, Clone)]
7817#[repr(C)]
7818pub struct GtkGrid {
7819    pub parent_instance: GtkWidget,
7820}
7821
7822impl ::std::fmt::Debug for GtkGrid {
7823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7824        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7825    }
7826}
7827
7828#[repr(C)]
7829#[allow(dead_code)]
7830pub struct GtkGridLayout {
7831    _data: [u8; 0],
7832    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7833}
7834
7835impl ::std::fmt::Debug for GtkGridLayout {
7836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7837        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7838            .finish()
7839    }
7840}
7841
7842#[repr(C)]
7843#[allow(dead_code)]
7844pub struct GtkGridLayoutChild {
7845    _data: [u8; 0],
7846    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7847}
7848
7849impl ::std::fmt::Debug for GtkGridLayoutChild {
7850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7851        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7852            .finish()
7853    }
7854}
7855
7856#[repr(C)]
7857#[allow(dead_code)]
7858pub struct GtkGridView {
7859    _data: [u8; 0],
7860    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7861}
7862
7863impl ::std::fmt::Debug for GtkGridView {
7864    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7865        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7866    }
7867}
7868
7869#[repr(C)]
7870#[allow(dead_code)]
7871pub struct GtkHeaderBar {
7872    _data: [u8; 0],
7873    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7874}
7875
7876impl ::std::fmt::Debug for GtkHeaderBar {
7877    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7878        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7879    }
7880}
7881
7882#[derive(Copy, Clone)]
7883#[repr(C)]
7884pub struct GtkIMContext {
7885    pub parent_instance: gobject::GObject,
7886}
7887
7888impl ::std::fmt::Debug for GtkIMContext {
7889    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7890        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7891            .field("parent_instance", &self.parent_instance)
7892            .finish()
7893    }
7894}
7895
7896#[derive(Copy, Clone)]
7897#[repr(C)]
7898pub struct GtkIMContextSimple {
7899    pub object: GtkIMContext,
7900    pub priv_: *mut GtkIMContextSimplePrivate,
7901}
7902
7903impl ::std::fmt::Debug for GtkIMContextSimple {
7904    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7905        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7906            .field("object", &self.object)
7907            .finish()
7908    }
7909}
7910
7911#[derive(Copy, Clone)]
7912#[repr(C)]
7913pub struct GtkIMMulticontext {
7914    pub object: GtkIMContext,
7915    pub priv_: *mut GtkIMMulticontextPrivate,
7916}
7917
7918impl ::std::fmt::Debug for GtkIMMulticontext {
7919    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7920        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7921            .field("object", &self.object)
7922            .finish()
7923    }
7924}
7925
7926#[repr(C)]
7927#[allow(dead_code)]
7928pub struct GtkIconPaintable {
7929    _data: [u8; 0],
7930    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7931}
7932
7933impl ::std::fmt::Debug for GtkIconPaintable {
7934    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7935        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7936            .finish()
7937    }
7938}
7939
7940#[repr(C)]
7941#[allow(dead_code)]
7942pub struct GtkIconTheme {
7943    _data: [u8; 0],
7944    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7945}
7946
7947impl ::std::fmt::Debug for GtkIconTheme {
7948    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7949        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7950    }
7951}
7952
7953#[repr(C)]
7954#[allow(dead_code)]
7955pub struct GtkIconView {
7956    _data: [u8; 0],
7957    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7958}
7959
7960impl ::std::fmt::Debug for GtkIconView {
7961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7962        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7963    }
7964}
7965
7966#[repr(C)]
7967#[allow(dead_code)]
7968pub struct GtkImage {
7969    _data: [u8; 0],
7970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7971}
7972
7973impl ::std::fmt::Debug for GtkImage {
7974    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7975        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7976    }
7977}
7978
7979#[repr(C)]
7980#[allow(dead_code)]
7981pub struct GtkInfoBar {
7982    _data: [u8; 0],
7983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7984}
7985
7986impl ::std::fmt::Debug for GtkInfoBar {
7987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7988        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7989    }
7990}
7991
7992#[repr(C)]
7993#[allow(dead_code)]
7994pub struct GtkInscription {
7995    _data: [u8; 0],
7996    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7997}
7998
7999impl ::std::fmt::Debug for GtkInscription {
8000    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8001        f.debug_struct(&format!("GtkInscription @ {self:p}"))
8002            .finish()
8003    }
8004}
8005
8006#[repr(C)]
8007#[allow(dead_code)]
8008pub struct GtkKeyvalTrigger {
8009    _data: [u8; 0],
8010    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8011}
8012
8013impl ::std::fmt::Debug for GtkKeyvalTrigger {
8014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8015        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
8016            .finish()
8017    }
8018}
8019
8020#[repr(C)]
8021#[allow(dead_code)]
8022pub struct GtkLabel {
8023    _data: [u8; 0],
8024    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8025}
8026
8027impl ::std::fmt::Debug for GtkLabel {
8028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8029        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
8030    }
8031}
8032
8033#[derive(Copy, Clone)]
8034#[repr(C)]
8035pub struct GtkLayoutChild {
8036    pub parent_instance: gobject::GObject,
8037}
8038
8039impl ::std::fmt::Debug for GtkLayoutChild {
8040    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8041        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
8042            .field("parent_instance", &self.parent_instance)
8043            .finish()
8044    }
8045}
8046
8047#[derive(Copy, Clone)]
8048#[repr(C)]
8049pub struct GtkLayoutManager {
8050    pub parent_instance: gobject::GObject,
8051}
8052
8053impl ::std::fmt::Debug for GtkLayoutManager {
8054    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8055        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
8056            .field("parent_instance", &self.parent_instance)
8057            .finish()
8058    }
8059}
8060
8061#[repr(C)]
8062#[allow(dead_code)]
8063pub struct GtkLevelBar {
8064    _data: [u8; 0],
8065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8066}
8067
8068impl ::std::fmt::Debug for GtkLevelBar {
8069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8070        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
8071    }
8072}
8073
8074#[repr(C)]
8075#[allow(dead_code)]
8076pub struct GtkLinkButton {
8077    _data: [u8; 0],
8078    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8079}
8080
8081impl ::std::fmt::Debug for GtkLinkButton {
8082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8083        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
8084            .finish()
8085    }
8086}
8087
8088#[repr(C)]
8089#[allow(dead_code)]
8090pub struct GtkListBase {
8091    _data: [u8; 0],
8092    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8093}
8094
8095impl ::std::fmt::Debug for GtkListBase {
8096    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8097        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
8098    }
8099}
8100
8101#[repr(C)]
8102#[allow(dead_code)]
8103pub struct GtkListBox {
8104    _data: [u8; 0],
8105    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8106}
8107
8108impl ::std::fmt::Debug for GtkListBox {
8109    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8110        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
8111    }
8112}
8113
8114#[derive(Copy, Clone)]
8115#[repr(C)]
8116pub struct GtkListBoxRow {
8117    pub parent_instance: GtkWidget,
8118}
8119
8120impl ::std::fmt::Debug for GtkListBoxRow {
8121    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8122        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
8123            .field("parent_instance", &self.parent_instance)
8124            .finish()
8125    }
8126}
8127
8128#[repr(C)]
8129#[allow(dead_code)]
8130pub struct GtkListHeader {
8131    _data: [u8; 0],
8132    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8133}
8134
8135impl ::std::fmt::Debug for GtkListHeader {
8136    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8137        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
8138            .finish()
8139    }
8140}
8141
8142#[repr(C)]
8143#[allow(dead_code)]
8144pub struct GtkListItem {
8145    _data: [u8; 0],
8146    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8147}
8148
8149impl ::std::fmt::Debug for GtkListItem {
8150    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8151        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
8152    }
8153}
8154
8155#[repr(C)]
8156#[allow(dead_code)]
8157pub struct GtkListItemFactory {
8158    _data: [u8; 0],
8159    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8160}
8161
8162impl ::std::fmt::Debug for GtkListItemFactory {
8163    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8164        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
8165            .finish()
8166    }
8167}
8168
8169#[derive(Copy, Clone)]
8170#[repr(C)]
8171pub struct GtkListStore {
8172    pub parent: gobject::GObject,
8173    pub priv_: *mut GtkListStorePrivate,
8174}
8175
8176impl ::std::fmt::Debug for GtkListStore {
8177    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8178        f.debug_struct(&format!("GtkListStore @ {self:p}"))
8179            .field("parent", &self.parent)
8180            .finish()
8181    }
8182}
8183
8184#[repr(C)]
8185#[allow(dead_code)]
8186pub struct GtkListView {
8187    _data: [u8; 0],
8188    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8189}
8190
8191impl ::std::fmt::Debug for GtkListView {
8192    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8193        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
8194    }
8195}
8196
8197#[repr(C)]
8198#[allow(dead_code)]
8199pub struct GtkLockButton {
8200    _data: [u8; 0],
8201    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8202}
8203
8204impl ::std::fmt::Debug for GtkLockButton {
8205    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8206        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
8207            .finish()
8208    }
8209}
8210
8211#[repr(C)]
8212#[allow(dead_code)]
8213pub struct GtkMapListModel {
8214    _data: [u8; 0],
8215    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8216}
8217
8218impl ::std::fmt::Debug for GtkMapListModel {
8219    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8220        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
8221            .finish()
8222    }
8223}
8224
8225#[repr(C)]
8226#[allow(dead_code)]
8227pub struct GtkMediaControls {
8228    _data: [u8; 0],
8229    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8230}
8231
8232impl ::std::fmt::Debug for GtkMediaControls {
8233    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8234        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
8235            .finish()
8236    }
8237}
8238
8239#[derive(Copy, Clone)]
8240#[repr(C)]
8241pub struct GtkMediaFile {
8242    pub parent_instance: GtkMediaStream,
8243}
8244
8245impl ::std::fmt::Debug for GtkMediaFile {
8246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8247        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
8248            .field("parent_instance", &self.parent_instance)
8249            .finish()
8250    }
8251}
8252
8253#[derive(Copy, Clone)]
8254#[repr(C)]
8255pub struct GtkMediaStream {
8256    pub parent_instance: gobject::GObject,
8257}
8258
8259impl ::std::fmt::Debug for GtkMediaStream {
8260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8261        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
8262            .field("parent_instance", &self.parent_instance)
8263            .finish()
8264    }
8265}
8266
8267#[repr(C)]
8268#[allow(dead_code)]
8269pub struct GtkMenuButton {
8270    _data: [u8; 0],
8271    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8272}
8273
8274impl ::std::fmt::Debug for GtkMenuButton {
8275    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8276        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
8277            .finish()
8278    }
8279}
8280
8281#[derive(Copy, Clone)]
8282#[repr(C)]
8283pub struct GtkMessageDialog {
8284    pub parent_instance: GtkDialog,
8285}
8286
8287impl ::std::fmt::Debug for GtkMessageDialog {
8288    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8289        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
8290            .field("parent_instance", &self.parent_instance)
8291            .finish()
8292    }
8293}
8294
8295#[repr(C)]
8296#[allow(dead_code)]
8297pub struct GtkMnemonicAction {
8298    _data: [u8; 0],
8299    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8300}
8301
8302impl ::std::fmt::Debug for GtkMnemonicAction {
8303    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8304        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
8305            .finish()
8306    }
8307}
8308
8309#[repr(C)]
8310#[allow(dead_code)]
8311pub struct GtkMnemonicTrigger {
8312    _data: [u8; 0],
8313    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8314}
8315
8316impl ::std::fmt::Debug for GtkMnemonicTrigger {
8317    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8318        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
8319            .finish()
8320    }
8321}
8322
8323#[derive(Copy, Clone)]
8324#[repr(C)]
8325pub struct GtkMountOperation {
8326    pub parent_instance: gio::GMountOperation,
8327    pub priv_: *mut GtkMountOperationPrivate,
8328}
8329
8330impl ::std::fmt::Debug for GtkMountOperation {
8331    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8332        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8333            .field("parent_instance", &self.parent_instance)
8334            .field("priv_", &self.priv_)
8335            .finish()
8336    }
8337}
8338
8339#[repr(C)]
8340#[allow(dead_code)]
8341pub struct GtkMultiFilter {
8342    _data: [u8; 0],
8343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8344}
8345
8346impl ::std::fmt::Debug for GtkMultiFilter {
8347    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8348        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8349            .finish()
8350    }
8351}
8352
8353#[repr(C)]
8354#[allow(dead_code)]
8355pub struct GtkMultiSelection {
8356    _data: [u8; 0],
8357    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8358}
8359
8360impl ::std::fmt::Debug for GtkMultiSelection {
8361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8362        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8363            .finish()
8364    }
8365}
8366
8367#[repr(C)]
8368#[allow(dead_code)]
8369pub struct GtkMultiSorter {
8370    _data: [u8; 0],
8371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8372}
8373
8374impl ::std::fmt::Debug for GtkMultiSorter {
8375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8376        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8377            .finish()
8378    }
8379}
8380
8381#[repr(C)]
8382#[allow(dead_code)]
8383pub struct GtkNamedAction {
8384    _data: [u8; 0],
8385    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8386}
8387
8388impl ::std::fmt::Debug for GtkNamedAction {
8389    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8390        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8391            .finish()
8392    }
8393}
8394
8395#[derive(Copy, Clone)]
8396#[repr(C)]
8397pub struct GtkNativeDialog {
8398    pub parent_instance: gobject::GObject,
8399}
8400
8401impl ::std::fmt::Debug for GtkNativeDialog {
8402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8403        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8404            .field("parent_instance", &self.parent_instance)
8405            .finish()
8406    }
8407}
8408
8409#[repr(C)]
8410#[allow(dead_code)]
8411pub struct GtkNeverTrigger {
8412    _data: [u8; 0],
8413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8414}
8415
8416impl ::std::fmt::Debug for GtkNeverTrigger {
8417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8418        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8419            .finish()
8420    }
8421}
8422
8423#[repr(C)]
8424#[allow(dead_code)]
8425pub struct GtkNoSelection {
8426    _data: [u8; 0],
8427    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8428}
8429
8430impl ::std::fmt::Debug for GtkNoSelection {
8431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8432        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8433            .finish()
8434    }
8435}
8436
8437#[repr(C)]
8438#[allow(dead_code)]
8439pub struct GtkNotebook {
8440    _data: [u8; 0],
8441    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8442}
8443
8444impl ::std::fmt::Debug for GtkNotebook {
8445    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8446        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8447    }
8448}
8449
8450#[repr(C)]
8451#[allow(dead_code)]
8452pub struct GtkNotebookPage {
8453    _data: [u8; 0],
8454    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8455}
8456
8457impl ::std::fmt::Debug for GtkNotebookPage {
8458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8459        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8460            .finish()
8461    }
8462}
8463
8464#[repr(C)]
8465#[allow(dead_code)]
8466pub struct GtkNothingAction {
8467    _data: [u8; 0],
8468    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8469}
8470
8471impl ::std::fmt::Debug for GtkNothingAction {
8472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8473        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8474            .finish()
8475    }
8476}
8477
8478#[repr(C)]
8479#[allow(dead_code)]
8480pub struct GtkNumericSorter {
8481    _data: [u8; 0],
8482    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8483}
8484
8485impl ::std::fmt::Debug for GtkNumericSorter {
8486    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8487        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8488            .finish()
8489    }
8490}
8491
8492#[repr(C)]
8493#[allow(dead_code)]
8494pub struct GtkObjectExpression {
8495    _data: [u8; 0],
8496    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8497}
8498
8499impl ::std::fmt::Debug for GtkObjectExpression {
8500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8501        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8502            .finish()
8503    }
8504}
8505
8506#[repr(C)]
8507#[allow(dead_code)]
8508pub struct GtkOverlay {
8509    _data: [u8; 0],
8510    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8511}
8512
8513impl ::std::fmt::Debug for GtkOverlay {
8514    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8515        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8516    }
8517}
8518
8519#[repr(C)]
8520#[allow(dead_code)]
8521pub struct GtkOverlayLayout {
8522    _data: [u8; 0],
8523    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8524}
8525
8526impl ::std::fmt::Debug for GtkOverlayLayout {
8527    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8528        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8529            .finish()
8530    }
8531}
8532
8533#[repr(C)]
8534#[allow(dead_code)]
8535pub struct GtkOverlayLayoutChild {
8536    _data: [u8; 0],
8537    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8538}
8539
8540impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8542        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8543            .finish()
8544    }
8545}
8546
8547#[repr(C)]
8548#[allow(dead_code)]
8549pub struct GtkPadController {
8550    _data: [u8; 0],
8551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8552}
8553
8554impl ::std::fmt::Debug for GtkPadController {
8555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8556        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8557            .finish()
8558    }
8559}
8560
8561#[repr(C)]
8562#[allow(dead_code)]
8563pub struct GtkPageSetup {
8564    _data: [u8; 0],
8565    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8566}
8567
8568impl ::std::fmt::Debug for GtkPageSetup {
8569    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8570        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8571    }
8572}
8573
8574#[repr(C)]
8575#[allow(dead_code)]
8576pub struct GtkPageSetupUnixDialog {
8577    _data: [u8; 0],
8578    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8579}
8580
8581impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8583        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8584            .finish()
8585    }
8586}
8587
8588#[repr(C)]
8589#[allow(dead_code)]
8590pub struct GtkPaned {
8591    _data: [u8; 0],
8592    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8593}
8594
8595impl ::std::fmt::Debug for GtkPaned {
8596    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8597        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8598    }
8599}
8600
8601#[derive(Copy, Clone)]
8602#[repr(C)]
8603pub struct GtkParamSpecExpression {
8604    pub parent_instance: gobject::GParamSpec,
8605}
8606
8607impl ::std::fmt::Debug for GtkParamSpecExpression {
8608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8609        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8610            .finish()
8611    }
8612}
8613
8614#[repr(C)]
8615#[allow(dead_code)]
8616pub struct GtkPasswordEntry {
8617    _data: [u8; 0],
8618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8619}
8620
8621impl ::std::fmt::Debug for GtkPasswordEntry {
8622    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8623        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8624            .finish()
8625    }
8626}
8627
8628#[repr(C)]
8629#[allow(dead_code)]
8630pub struct GtkPasswordEntryBuffer {
8631    _data: [u8; 0],
8632    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8633}
8634
8635impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8636    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8637        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8638            .finish()
8639    }
8640}
8641
8642#[repr(C)]
8643#[allow(dead_code)]
8644pub struct GtkPicture {
8645    _data: [u8; 0],
8646    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8647}
8648
8649impl ::std::fmt::Debug for GtkPicture {
8650    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8651        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8652    }
8653}
8654
8655#[derive(Copy, Clone)]
8656#[repr(C)]
8657pub struct GtkPopover {
8658    pub parent: GtkWidget,
8659}
8660
8661impl ::std::fmt::Debug for GtkPopover {
8662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8663        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8664            .field("parent", &self.parent)
8665            .finish()
8666    }
8667}
8668
8669#[repr(C)]
8670#[allow(dead_code)]
8671pub struct GtkPopoverBin {
8672    _data: [u8; 0],
8673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8674}
8675
8676impl ::std::fmt::Debug for GtkPopoverBin {
8677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8678        f.debug_struct(&format!("GtkPopoverBin @ {self:p}"))
8679            .finish()
8680    }
8681}
8682
8683#[repr(C)]
8684#[allow(dead_code)]
8685pub struct GtkPopoverMenu {
8686    _data: [u8; 0],
8687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8688}
8689
8690impl ::std::fmt::Debug for GtkPopoverMenu {
8691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8692        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8693            .finish()
8694    }
8695}
8696
8697#[repr(C)]
8698#[allow(dead_code)]
8699pub struct GtkPopoverMenuBar {
8700    _data: [u8; 0],
8701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8702}
8703
8704impl ::std::fmt::Debug for GtkPopoverMenuBar {
8705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8706        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8707            .finish()
8708    }
8709}
8710
8711#[repr(C)]
8712#[allow(dead_code)]
8713pub struct GtkPrintContext {
8714    _data: [u8; 0],
8715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8716}
8717
8718impl ::std::fmt::Debug for GtkPrintContext {
8719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8720        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8721            .finish()
8722    }
8723}
8724
8725#[repr(C)]
8726#[allow(dead_code)]
8727pub struct GtkPrintDialog {
8728    _data: [u8; 0],
8729    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8730}
8731
8732impl ::std::fmt::Debug for GtkPrintDialog {
8733    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8734        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8735            .finish()
8736    }
8737}
8738
8739#[repr(C)]
8740#[allow(dead_code)]
8741pub struct GtkPrintJob {
8742    _data: [u8; 0],
8743    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8744}
8745
8746impl ::std::fmt::Debug for GtkPrintJob {
8747    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8748        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8749    }
8750}
8751
8752#[derive(Copy, Clone)]
8753#[repr(C)]
8754pub struct GtkPrintOperation {
8755    pub parent_instance: gobject::GObject,
8756    pub priv_: *mut GtkPrintOperationPrivate,
8757}
8758
8759impl ::std::fmt::Debug for GtkPrintOperation {
8760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8761        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8762            .field("parent_instance", &self.parent_instance)
8763            .finish()
8764    }
8765}
8766
8767#[repr(C)]
8768#[allow(dead_code)]
8769pub struct GtkPrintSettings {
8770    _data: [u8; 0],
8771    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8772}
8773
8774impl ::std::fmt::Debug for GtkPrintSettings {
8775    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8776        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8777            .finish()
8778    }
8779}
8780
8781#[repr(C)]
8782#[allow(dead_code)]
8783pub struct GtkPrintUnixDialog {
8784    _data: [u8; 0],
8785    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8786}
8787
8788impl ::std::fmt::Debug for GtkPrintUnixDialog {
8789    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8790        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8791            .finish()
8792    }
8793}
8794
8795#[repr(C)]
8796#[allow(dead_code)]
8797pub struct GtkPrinter {
8798    _data: [u8; 0],
8799    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8800}
8801
8802impl ::std::fmt::Debug for GtkPrinter {
8803    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8804        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8805    }
8806}
8807
8808#[repr(C)]
8809#[allow(dead_code)]
8810pub struct GtkProgressBar {
8811    _data: [u8; 0],
8812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8813}
8814
8815impl ::std::fmt::Debug for GtkProgressBar {
8816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8817        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8818            .finish()
8819    }
8820}
8821
8822#[repr(C)]
8823#[allow(dead_code)]
8824pub struct GtkPropertyExpression {
8825    _data: [u8; 0],
8826    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8827}
8828
8829impl ::std::fmt::Debug for GtkPropertyExpression {
8830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8831        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8832            .finish()
8833    }
8834}
8835
8836#[derive(Copy, Clone)]
8837#[repr(C)]
8838pub struct GtkRange {
8839    pub parent_instance: GtkWidget,
8840}
8841
8842impl ::std::fmt::Debug for GtkRange {
8843    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8844        f.debug_struct(&format!("GtkRange @ {self:p}"))
8845            .field("parent_instance", &self.parent_instance)
8846            .finish()
8847    }
8848}
8849
8850#[derive(Copy, Clone)]
8851#[repr(C)]
8852pub struct GtkRecentManager {
8853    pub parent_instance: gobject::GObject,
8854    pub priv_: *mut GtkRecentManagerPrivate,
8855}
8856
8857impl ::std::fmt::Debug for GtkRecentManager {
8858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8859        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8860            .finish()
8861    }
8862}
8863
8864#[repr(C)]
8865#[allow(dead_code)]
8866pub struct GtkRevealer {
8867    _data: [u8; 0],
8868    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8869}
8870
8871impl ::std::fmt::Debug for GtkRevealer {
8872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8873        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8874    }
8875}
8876
8877#[derive(Copy, Clone)]
8878#[repr(C)]
8879pub struct GtkScale {
8880    pub parent_instance: GtkRange,
8881}
8882
8883impl ::std::fmt::Debug for GtkScale {
8884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8885        f.debug_struct(&format!("GtkScale @ {self:p}"))
8886            .field("parent_instance", &self.parent_instance)
8887            .finish()
8888    }
8889}
8890
8891#[derive(Copy, Clone)]
8892#[repr(C)]
8893pub struct GtkScaleButton {
8894    pub parent_instance: GtkWidget,
8895}
8896
8897impl ::std::fmt::Debug for GtkScaleButton {
8898    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8899        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8900            .field("parent_instance", &self.parent_instance)
8901            .finish()
8902    }
8903}
8904
8905#[repr(C)]
8906#[allow(dead_code)]
8907pub struct GtkScrollbar {
8908    _data: [u8; 0],
8909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8910}
8911
8912impl ::std::fmt::Debug for GtkScrollbar {
8913    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8914        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8915    }
8916}
8917
8918#[repr(C)]
8919#[allow(dead_code)]
8920pub struct GtkScrolledWindow {
8921    _data: [u8; 0],
8922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8923}
8924
8925impl ::std::fmt::Debug for GtkScrolledWindow {
8926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8927        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8928            .finish()
8929    }
8930}
8931
8932#[repr(C)]
8933#[allow(dead_code)]
8934pub struct GtkSearchBar {
8935    _data: [u8; 0],
8936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8937}
8938
8939impl ::std::fmt::Debug for GtkSearchBar {
8940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8941        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8942    }
8943}
8944
8945#[repr(C)]
8946#[allow(dead_code)]
8947pub struct GtkSearchEntry {
8948    _data: [u8; 0],
8949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8950}
8951
8952impl ::std::fmt::Debug for GtkSearchEntry {
8953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8954        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8955            .finish()
8956    }
8957}
8958
8959#[repr(C)]
8960#[allow(dead_code)]
8961pub struct GtkSelectionFilterModel {
8962    _data: [u8; 0],
8963    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8964}
8965
8966impl ::std::fmt::Debug for GtkSelectionFilterModel {
8967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8968        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8969            .finish()
8970    }
8971}
8972
8973#[repr(C)]
8974#[allow(dead_code)]
8975pub struct GtkSeparator {
8976    _data: [u8; 0],
8977    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8978}
8979
8980impl ::std::fmt::Debug for GtkSeparator {
8981    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8982        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8983    }
8984}
8985
8986#[repr(C)]
8987#[allow(dead_code)]
8988pub struct GtkSettings {
8989    _data: [u8; 0],
8990    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8991}
8992
8993impl ::std::fmt::Debug for GtkSettings {
8994    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8995        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8996    }
8997}
8998
8999#[repr(C)]
9000#[allow(dead_code)]
9001pub struct GtkShortcut {
9002    _data: [u8; 0],
9003    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9004}
9005
9006impl ::std::fmt::Debug for GtkShortcut {
9007    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9008        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
9009    }
9010}
9011
9012#[repr(C)]
9013#[allow(dead_code)]
9014pub struct GtkShortcutAction {
9015    _data: [u8; 0],
9016    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9017}
9018
9019impl ::std::fmt::Debug for GtkShortcutAction {
9020    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9021        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
9022            .finish()
9023    }
9024}
9025
9026#[repr(C)]
9027#[allow(dead_code)]
9028pub struct GtkShortcutController {
9029    _data: [u8; 0],
9030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9031}
9032
9033impl ::std::fmt::Debug for GtkShortcutController {
9034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9035        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
9036            .finish()
9037    }
9038}
9039
9040#[repr(C)]
9041#[allow(dead_code)]
9042pub struct GtkShortcutLabel {
9043    _data: [u8; 0],
9044    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9045}
9046
9047impl ::std::fmt::Debug for GtkShortcutLabel {
9048    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9049        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
9050            .finish()
9051    }
9052}
9053
9054#[repr(C)]
9055#[allow(dead_code)]
9056pub struct GtkShortcutTrigger {
9057    _data: [u8; 0],
9058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9059}
9060
9061impl ::std::fmt::Debug for GtkShortcutTrigger {
9062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9063        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
9064            .finish()
9065    }
9066}
9067
9068#[repr(C)]
9069#[allow(dead_code)]
9070pub struct GtkShortcutsGroup {
9071    _data: [u8; 0],
9072    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9073}
9074
9075impl ::std::fmt::Debug for GtkShortcutsGroup {
9076    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9077        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
9078            .finish()
9079    }
9080}
9081
9082#[repr(C)]
9083#[allow(dead_code)]
9084pub struct GtkShortcutsSection {
9085    _data: [u8; 0],
9086    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9087}
9088
9089impl ::std::fmt::Debug for GtkShortcutsSection {
9090    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9091        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
9092            .finish()
9093    }
9094}
9095
9096#[repr(C)]
9097#[allow(dead_code)]
9098pub struct GtkShortcutsShortcut {
9099    _data: [u8; 0],
9100    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9101}
9102
9103impl ::std::fmt::Debug for GtkShortcutsShortcut {
9104    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9105        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
9106            .finish()
9107    }
9108}
9109
9110#[repr(C)]
9111#[allow(dead_code)]
9112pub struct GtkShortcutsWindow {
9113    _data: [u8; 0],
9114    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9115}
9116
9117impl ::std::fmt::Debug for GtkShortcutsWindow {
9118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9119        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
9120            .finish()
9121    }
9122}
9123
9124#[repr(C)]
9125#[allow(dead_code)]
9126pub struct GtkSignalAction {
9127    _data: [u8; 0],
9128    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9129}
9130
9131impl ::std::fmt::Debug for GtkSignalAction {
9132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9133        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
9134            .finish()
9135    }
9136}
9137
9138#[repr(C)]
9139#[allow(dead_code)]
9140pub struct GtkSignalListItemFactory {
9141    _data: [u8; 0],
9142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9143}
9144
9145impl ::std::fmt::Debug for GtkSignalListItemFactory {
9146    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9147        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
9148            .finish()
9149    }
9150}
9151
9152#[repr(C)]
9153#[allow(dead_code)]
9154pub struct GtkSingleSelection {
9155    _data: [u8; 0],
9156    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9157}
9158
9159impl ::std::fmt::Debug for GtkSingleSelection {
9160    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9161        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
9162            .finish()
9163    }
9164}
9165
9166#[derive(Copy, Clone)]
9167#[repr(C)]
9168pub struct GtkSizeGroup {
9169    pub parent_instance: gobject::GObject,
9170}
9171
9172impl ::std::fmt::Debug for GtkSizeGroup {
9173    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9174        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
9175            .field("parent_instance", &self.parent_instance)
9176            .finish()
9177    }
9178}
9179
9180#[repr(C)]
9181#[allow(dead_code)]
9182pub struct GtkSliceListModel {
9183    _data: [u8; 0],
9184    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9185}
9186
9187impl ::std::fmt::Debug for GtkSliceListModel {
9188    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9189        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
9190            .finish()
9191    }
9192}
9193
9194#[repr(C)]
9195#[allow(dead_code)]
9196pub struct GtkSnapshot {
9197    _data: [u8; 0],
9198    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9199}
9200
9201impl ::std::fmt::Debug for GtkSnapshot {
9202    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9203        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
9204    }
9205}
9206
9207#[repr(C)]
9208#[allow(dead_code)]
9209pub struct GtkSortListModel {
9210    _data: [u8; 0],
9211    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9212}
9213
9214impl ::std::fmt::Debug for GtkSortListModel {
9215    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9216        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
9217            .finish()
9218    }
9219}
9220
9221#[derive(Copy, Clone)]
9222#[repr(C)]
9223pub struct GtkSorter {
9224    pub parent_instance: gobject::GObject,
9225}
9226
9227impl ::std::fmt::Debug for GtkSorter {
9228    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9229        f.debug_struct(&format!("GtkSorter @ {self:p}"))
9230            .field("parent_instance", &self.parent_instance)
9231            .finish()
9232    }
9233}
9234
9235#[repr(C)]
9236#[allow(dead_code)]
9237pub struct GtkSpinButton {
9238    _data: [u8; 0],
9239    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9240}
9241
9242impl ::std::fmt::Debug for GtkSpinButton {
9243    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9244        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
9245            .finish()
9246    }
9247}
9248
9249#[repr(C)]
9250#[allow(dead_code)]
9251pub struct GtkSpinner {
9252    _data: [u8; 0],
9253    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9254}
9255
9256impl ::std::fmt::Debug for GtkSpinner {
9257    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9258        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
9259    }
9260}
9261
9262#[repr(C)]
9263#[allow(dead_code)]
9264pub struct GtkStack {
9265    _data: [u8; 0],
9266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9267}
9268
9269impl ::std::fmt::Debug for GtkStack {
9270    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9271        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
9272    }
9273}
9274
9275#[repr(C)]
9276#[allow(dead_code)]
9277pub struct GtkStackPage {
9278    _data: [u8; 0],
9279    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9280}
9281
9282impl ::std::fmt::Debug for GtkStackPage {
9283    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9284        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
9285    }
9286}
9287
9288#[repr(C)]
9289#[allow(dead_code)]
9290pub struct GtkStackSidebar {
9291    _data: [u8; 0],
9292    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9293}
9294
9295impl ::std::fmt::Debug for GtkStackSidebar {
9296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9297        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
9298            .finish()
9299    }
9300}
9301
9302#[repr(C)]
9303#[allow(dead_code)]
9304pub struct GtkStackSwitcher {
9305    _data: [u8; 0],
9306    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9307}
9308
9309impl ::std::fmt::Debug for GtkStackSwitcher {
9310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9311        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
9312            .finish()
9313    }
9314}
9315
9316#[repr(C)]
9317#[allow(dead_code)]
9318pub struct GtkStatusbar {
9319    _data: [u8; 0],
9320    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9321}
9322
9323impl ::std::fmt::Debug for GtkStatusbar {
9324    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9325        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
9326    }
9327}
9328
9329#[repr(C)]
9330#[allow(dead_code)]
9331pub struct GtkStringFilter {
9332    _data: [u8; 0],
9333    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9334}
9335
9336impl ::std::fmt::Debug for GtkStringFilter {
9337    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9338        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9339            .finish()
9340    }
9341}
9342
9343#[repr(C)]
9344#[allow(dead_code)]
9345pub struct GtkStringList {
9346    _data: [u8; 0],
9347    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9348}
9349
9350impl ::std::fmt::Debug for GtkStringList {
9351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9352        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9353            .finish()
9354    }
9355}
9356
9357#[repr(C)]
9358#[allow(dead_code)]
9359pub struct GtkStringObject {
9360    _data: [u8; 0],
9361    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9362}
9363
9364impl ::std::fmt::Debug for GtkStringObject {
9365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9366        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9367            .finish()
9368    }
9369}
9370
9371#[repr(C)]
9372#[allow(dead_code)]
9373pub struct GtkStringSorter {
9374    _data: [u8; 0],
9375    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9376}
9377
9378impl ::std::fmt::Debug for GtkStringSorter {
9379    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9380        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9381            .finish()
9382    }
9383}
9384
9385#[derive(Copy, Clone)]
9386#[repr(C)]
9387pub struct GtkStyleContext {
9388    pub parent_object: gobject::GObject,
9389}
9390
9391impl ::std::fmt::Debug for GtkStyleContext {
9392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9393        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9394            .field("parent_object", &self.parent_object)
9395            .finish()
9396    }
9397}
9398
9399#[repr(C)]
9400#[allow(dead_code)]
9401pub struct GtkSvg {
9402    _data: [u8; 0],
9403    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9404}
9405
9406impl ::std::fmt::Debug for GtkSvg {
9407    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9408        f.debug_struct(&format!("GtkSvg @ {self:p}")).finish()
9409    }
9410}
9411
9412#[repr(C)]
9413#[allow(dead_code)]
9414pub struct GtkSvgWidget {
9415    _data: [u8; 0],
9416    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9417}
9418
9419impl ::std::fmt::Debug for GtkSvgWidget {
9420    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9421        f.debug_struct(&format!("GtkSvgWidget @ {self:p}")).finish()
9422    }
9423}
9424
9425#[repr(C)]
9426#[allow(dead_code)]
9427pub struct GtkSwitch {
9428    _data: [u8; 0],
9429    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9430}
9431
9432impl ::std::fmt::Debug for GtkSwitch {
9433    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9434        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9435    }
9436}
9437
9438#[derive(Copy, Clone)]
9439#[repr(C)]
9440pub struct GtkText {
9441    pub parent_instance: GtkWidget,
9442}
9443
9444impl ::std::fmt::Debug for GtkText {
9445    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9446        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9447    }
9448}
9449
9450#[derive(Copy, Clone)]
9451#[repr(C)]
9452pub struct GtkTextBuffer {
9453    pub parent_instance: gobject::GObject,
9454    pub priv_: *mut GtkTextBufferPrivate,
9455}
9456
9457impl ::std::fmt::Debug for GtkTextBuffer {
9458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9459        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9460            .field("parent_instance", &self.parent_instance)
9461            .field("priv_", &self.priv_)
9462            .finish()
9463    }
9464}
9465
9466#[derive(Copy, Clone)]
9467#[repr(C)]
9468pub struct GtkTextChildAnchor {
9469    pub parent_instance: gobject::GObject,
9470    pub segment: gpointer,
9471}
9472
9473impl ::std::fmt::Debug for GtkTextChildAnchor {
9474    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9475        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9476            .field("parent_instance", &self.parent_instance)
9477            .finish()
9478    }
9479}
9480
9481#[derive(Copy, Clone)]
9482#[repr(C)]
9483pub struct GtkTextMark {
9484    pub parent_instance: gobject::GObject,
9485    pub segment: gpointer,
9486}
9487
9488impl ::std::fmt::Debug for GtkTextMark {
9489    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9490        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9491            .field("parent_instance", &self.parent_instance)
9492            .finish()
9493    }
9494}
9495
9496#[derive(Copy, Clone)]
9497#[repr(C)]
9498pub struct GtkTextTag {
9499    pub parent_instance: gobject::GObject,
9500    pub priv_: *mut GtkTextTagPrivate,
9501}
9502
9503impl ::std::fmt::Debug for GtkTextTag {
9504    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9505        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9506            .field("parent_instance", &self.parent_instance)
9507            .field("priv_", &self.priv_)
9508            .finish()
9509    }
9510}
9511
9512#[repr(C)]
9513#[allow(dead_code)]
9514pub struct GtkTextTagTable {
9515    _data: [u8; 0],
9516    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9517}
9518
9519impl ::std::fmt::Debug for GtkTextTagTable {
9520    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9521        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9522            .finish()
9523    }
9524}
9525
9526#[derive(Copy, Clone)]
9527#[repr(C)]
9528pub struct GtkTextView {
9529    pub parent_instance: GtkWidget,
9530    pub priv_: *mut GtkTextViewPrivate,
9531}
9532
9533impl ::std::fmt::Debug for GtkTextView {
9534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9535        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9536            .field("parent_instance", &self.parent_instance)
9537            .finish()
9538    }
9539}
9540
9541#[derive(Copy, Clone)]
9542#[repr(C)]
9543pub struct GtkToggleButton {
9544    pub button: GtkButton,
9545}
9546
9547impl ::std::fmt::Debug for GtkToggleButton {
9548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9549        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9550            .finish()
9551    }
9552}
9553
9554#[repr(C)]
9555#[allow(dead_code)]
9556pub struct GtkTooltip {
9557    _data: [u8; 0],
9558    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9559}
9560
9561impl ::std::fmt::Debug for GtkTooltip {
9562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9563        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9564    }
9565}
9566
9567#[repr(C)]
9568#[allow(dead_code)]
9569pub struct GtkTreeExpander {
9570    _data: [u8; 0],
9571    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9572}
9573
9574impl ::std::fmt::Debug for GtkTreeExpander {
9575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9576        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9577            .finish()
9578    }
9579}
9580
9581#[repr(C)]
9582#[allow(dead_code)]
9583pub struct GtkTreeListModel {
9584    _data: [u8; 0],
9585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9586}
9587
9588impl ::std::fmt::Debug for GtkTreeListModel {
9589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9590        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9591            .finish()
9592    }
9593}
9594
9595#[repr(C)]
9596#[allow(dead_code)]
9597pub struct GtkTreeListRow {
9598    _data: [u8; 0],
9599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9600}
9601
9602impl ::std::fmt::Debug for GtkTreeListRow {
9603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9604        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9605            .finish()
9606    }
9607}
9608
9609#[repr(C)]
9610#[allow(dead_code)]
9611pub struct GtkTreeListRowSorter {
9612    _data: [u8; 0],
9613    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9614}
9615
9616impl ::std::fmt::Debug for GtkTreeListRowSorter {
9617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9618        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9619            .finish()
9620    }
9621}
9622
9623#[derive(Copy, Clone)]
9624#[repr(C)]
9625pub struct GtkTreeModelFilter {
9626    pub parent: gobject::GObject,
9627    pub priv_: *mut GtkTreeModelFilterPrivate,
9628}
9629
9630impl ::std::fmt::Debug for GtkTreeModelFilter {
9631    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9632        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9633            .field("parent", &self.parent)
9634            .finish()
9635    }
9636}
9637
9638#[derive(Copy, Clone)]
9639#[repr(C)]
9640pub struct GtkTreeModelSort {
9641    pub parent: gobject::GObject,
9642    pub priv_: *mut GtkTreeModelSortPrivate,
9643}
9644
9645impl ::std::fmt::Debug for GtkTreeModelSort {
9646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9647        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9648            .field("parent", &self.parent)
9649            .finish()
9650    }
9651}
9652
9653#[repr(C)]
9654#[allow(dead_code)]
9655pub struct GtkTreeSelection {
9656    _data: [u8; 0],
9657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9658}
9659
9660impl ::std::fmt::Debug for GtkTreeSelection {
9661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9662        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9663            .finish()
9664    }
9665}
9666
9667#[derive(Copy, Clone)]
9668#[repr(C)]
9669pub struct GtkTreeStore {
9670    pub parent: gobject::GObject,
9671    pub priv_: *mut GtkTreeStorePrivate,
9672}
9673
9674impl ::std::fmt::Debug for GtkTreeStore {
9675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9676        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9677            .field("parent", &self.parent)
9678            .field("priv_", &self.priv_)
9679            .finish()
9680    }
9681}
9682
9683#[derive(Copy, Clone)]
9684#[repr(C)]
9685pub struct GtkTreeView {
9686    pub parent_instance: GtkWidget,
9687}
9688
9689impl ::std::fmt::Debug for GtkTreeView {
9690    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9691        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9692            .field("parent_instance", &self.parent_instance)
9693            .finish()
9694    }
9695}
9696
9697#[repr(C)]
9698#[allow(dead_code)]
9699pub struct GtkTreeViewColumn {
9700    _data: [u8; 0],
9701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9702}
9703
9704impl ::std::fmt::Debug for GtkTreeViewColumn {
9705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9706        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9707            .finish()
9708    }
9709}
9710
9711#[repr(C)]
9712#[allow(dead_code)]
9713pub struct GtkTryExpression {
9714    _data: [u8; 0],
9715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9716}
9717
9718impl ::std::fmt::Debug for GtkTryExpression {
9719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9720        f.debug_struct(&format!("GtkTryExpression @ {self:p}"))
9721            .finish()
9722    }
9723}
9724
9725#[repr(C)]
9726#[allow(dead_code)]
9727pub struct GtkUriLauncher {
9728    _data: [u8; 0],
9729    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9730}
9731
9732impl ::std::fmt::Debug for GtkUriLauncher {
9733    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9734        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9735            .finish()
9736    }
9737}
9738
9739#[repr(C)]
9740#[allow(dead_code)]
9741pub struct GtkVideo {
9742    _data: [u8; 0],
9743    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9744}
9745
9746impl ::std::fmt::Debug for GtkVideo {
9747    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9748        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9749    }
9750}
9751
9752#[repr(C)]
9753#[allow(dead_code)]
9754pub struct GtkViewport {
9755    _data: [u8; 0],
9756    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9757}
9758
9759impl ::std::fmt::Debug for GtkViewport {
9760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9761        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9762    }
9763}
9764
9765#[derive(Copy, Clone)]
9766#[repr(C)]
9767pub struct GtkVolumeButton {
9768    pub parent: GtkScaleButton,
9769}
9770
9771impl ::std::fmt::Debug for GtkVolumeButton {
9772    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9773        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9774            .field("parent", &self.parent)
9775            .finish()
9776    }
9777}
9778
9779#[derive(Copy, Clone)]
9780#[repr(C)]
9781pub struct GtkWidget {
9782    pub parent_instance: gobject::GInitiallyUnowned,
9783    pub priv_: *mut GtkWidgetPrivate,
9784}
9785
9786impl ::std::fmt::Debug for GtkWidget {
9787    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9788        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9789            .field("parent_instance", &self.parent_instance)
9790            .finish()
9791    }
9792}
9793
9794#[repr(C)]
9795#[allow(dead_code)]
9796pub struct GtkWidgetPaintable {
9797    _data: [u8; 0],
9798    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9799}
9800
9801impl ::std::fmt::Debug for GtkWidgetPaintable {
9802    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9803        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9804            .finish()
9805    }
9806}
9807
9808#[derive(Copy, Clone)]
9809#[repr(C)]
9810pub struct GtkWindow {
9811    pub parent_instance: GtkWidget,
9812}
9813
9814impl ::std::fmt::Debug for GtkWindow {
9815    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9816        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9817            .field("parent_instance", &self.parent_instance)
9818            .finish()
9819    }
9820}
9821
9822#[repr(C)]
9823#[allow(dead_code)]
9824pub struct GtkWindowControls {
9825    _data: [u8; 0],
9826    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9827}
9828
9829impl ::std::fmt::Debug for GtkWindowControls {
9830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9831        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9832            .finish()
9833    }
9834}
9835
9836#[derive(Copy, Clone)]
9837#[repr(C)]
9838pub struct GtkWindowGroup {
9839    pub parent_instance: gobject::GObject,
9840    pub priv_: *mut GtkWindowGroupPrivate,
9841}
9842
9843impl ::std::fmt::Debug for GtkWindowGroup {
9844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9845        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9846            .field("parent_instance", &self.parent_instance)
9847            .field("priv_", &self.priv_)
9848            .finish()
9849    }
9850}
9851
9852#[repr(C)]
9853#[allow(dead_code)]
9854pub struct GtkWindowHandle {
9855    _data: [u8; 0],
9856    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9857}
9858
9859impl ::std::fmt::Debug for GtkWindowHandle {
9860    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9861        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9862            .finish()
9863    }
9864}
9865
9866// Interfaces
9867#[repr(C)]
9868#[allow(dead_code)]
9869pub struct GtkAccessible {
9870    _data: [u8; 0],
9871    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9872}
9873
9874impl ::std::fmt::Debug for GtkAccessible {
9875    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9876        write!(f, "GtkAccessible @ {self:p}")
9877    }
9878}
9879
9880#[repr(C)]
9881#[allow(dead_code)]
9882pub struct GtkAccessibleHypertext {
9883    _data: [u8; 0],
9884    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9885}
9886
9887impl ::std::fmt::Debug for GtkAccessibleHypertext {
9888    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9889        write!(f, "GtkAccessibleHypertext @ {self:p}")
9890    }
9891}
9892
9893#[repr(C)]
9894#[allow(dead_code)]
9895pub struct GtkAccessibleRange {
9896    _data: [u8; 0],
9897    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9898}
9899
9900impl ::std::fmt::Debug for GtkAccessibleRange {
9901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9902        write!(f, "GtkAccessibleRange @ {self:p}")
9903    }
9904}
9905
9906#[repr(C)]
9907#[allow(dead_code)]
9908pub struct GtkAccessibleText {
9909    _data: [u8; 0],
9910    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9911}
9912
9913impl ::std::fmt::Debug for GtkAccessibleText {
9914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9915        write!(f, "GtkAccessibleText @ {self:p}")
9916    }
9917}
9918
9919#[repr(C)]
9920#[allow(dead_code)]
9921pub struct GtkActionable {
9922    _data: [u8; 0],
9923    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9924}
9925
9926impl ::std::fmt::Debug for GtkActionable {
9927    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9928        write!(f, "GtkActionable @ {self:p}")
9929    }
9930}
9931
9932#[repr(C)]
9933#[allow(dead_code)]
9934pub struct GtkAppChooser {
9935    _data: [u8; 0],
9936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9937}
9938
9939impl ::std::fmt::Debug for GtkAppChooser {
9940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9941        write!(f, "GtkAppChooser @ {self:p}")
9942    }
9943}
9944
9945#[repr(C)]
9946#[allow(dead_code)]
9947pub struct GtkBuildable {
9948    _data: [u8; 0],
9949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9950}
9951
9952impl ::std::fmt::Debug for GtkBuildable {
9953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9954        write!(f, "GtkBuildable @ {self:p}")
9955    }
9956}
9957
9958#[repr(C)]
9959#[allow(dead_code)]
9960pub struct GtkBuilderScope {
9961    _data: [u8; 0],
9962    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9963}
9964
9965impl ::std::fmt::Debug for GtkBuilderScope {
9966    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9967        write!(f, "GtkBuilderScope @ {self:p}")
9968    }
9969}
9970
9971#[repr(C)]
9972#[allow(dead_code)]
9973pub struct GtkCellEditable {
9974    _data: [u8; 0],
9975    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9976}
9977
9978impl ::std::fmt::Debug for GtkCellEditable {
9979    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9980        write!(f, "GtkCellEditable @ {self:p}")
9981    }
9982}
9983
9984#[repr(C)]
9985#[allow(dead_code)]
9986pub struct GtkCellLayout {
9987    _data: [u8; 0],
9988    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9989}
9990
9991impl ::std::fmt::Debug for GtkCellLayout {
9992    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9993        write!(f, "GtkCellLayout @ {self:p}")
9994    }
9995}
9996
9997#[repr(C)]
9998#[allow(dead_code)]
9999pub struct GtkColorChooser {
10000    _data: [u8; 0],
10001    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10002}
10003
10004impl ::std::fmt::Debug for GtkColorChooser {
10005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10006        write!(f, "GtkColorChooser @ {self:p}")
10007    }
10008}
10009
10010#[repr(C)]
10011#[allow(dead_code)]
10012pub struct GtkConstraintTarget {
10013    _data: [u8; 0],
10014    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10015}
10016
10017impl ::std::fmt::Debug for GtkConstraintTarget {
10018    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10019        write!(f, "GtkConstraintTarget @ {self:p}")
10020    }
10021}
10022
10023#[repr(C)]
10024#[allow(dead_code)]
10025pub struct GtkEditable {
10026    _data: [u8; 0],
10027    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10028}
10029
10030impl ::std::fmt::Debug for GtkEditable {
10031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10032        write!(f, "GtkEditable @ {self:p}")
10033    }
10034}
10035
10036#[repr(C)]
10037#[allow(dead_code)]
10038pub struct GtkFileChooser {
10039    _data: [u8; 0],
10040    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10041}
10042
10043impl ::std::fmt::Debug for GtkFileChooser {
10044    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10045        write!(f, "GtkFileChooser @ {self:p}")
10046    }
10047}
10048
10049#[repr(C)]
10050#[allow(dead_code)]
10051pub struct GtkFontChooser {
10052    _data: [u8; 0],
10053    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10054}
10055
10056impl ::std::fmt::Debug for GtkFontChooser {
10057    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10058        write!(f, "GtkFontChooser @ {self:p}")
10059    }
10060}
10061
10062#[repr(C)]
10063#[allow(dead_code)]
10064pub struct GtkNative {
10065    _data: [u8; 0],
10066    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10067}
10068
10069impl ::std::fmt::Debug for GtkNative {
10070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10071        write!(f, "GtkNative @ {self:p}")
10072    }
10073}
10074
10075#[repr(C)]
10076#[allow(dead_code)]
10077pub struct GtkOrientable {
10078    _data: [u8; 0],
10079    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10080}
10081
10082impl ::std::fmt::Debug for GtkOrientable {
10083    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10084        write!(f, "GtkOrientable @ {self:p}")
10085    }
10086}
10087
10088#[repr(C)]
10089#[allow(dead_code)]
10090pub struct GtkPrintOperationPreview {
10091    _data: [u8; 0],
10092    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10093}
10094
10095impl ::std::fmt::Debug for GtkPrintOperationPreview {
10096    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10097        write!(f, "GtkPrintOperationPreview @ {self:p}")
10098    }
10099}
10100
10101#[repr(C)]
10102#[allow(dead_code)]
10103pub struct GtkRoot {
10104    _data: [u8; 0],
10105    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10106}
10107
10108impl ::std::fmt::Debug for GtkRoot {
10109    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10110        write!(f, "GtkRoot @ {self:p}")
10111    }
10112}
10113
10114#[repr(C)]
10115#[allow(dead_code)]
10116pub struct GtkScrollable {
10117    _data: [u8; 0],
10118    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10119}
10120
10121impl ::std::fmt::Debug for GtkScrollable {
10122    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10123        write!(f, "GtkScrollable @ {self:p}")
10124    }
10125}
10126
10127#[repr(C)]
10128#[allow(dead_code)]
10129pub struct GtkSectionModel {
10130    _data: [u8; 0],
10131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10132}
10133
10134impl ::std::fmt::Debug for GtkSectionModel {
10135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10136        write!(f, "GtkSectionModel @ {self:p}")
10137    }
10138}
10139
10140#[repr(C)]
10141#[allow(dead_code)]
10142pub struct GtkSelectionModel {
10143    _data: [u8; 0],
10144    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10145}
10146
10147impl ::std::fmt::Debug for GtkSelectionModel {
10148    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10149        write!(f, "GtkSelectionModel @ {self:p}")
10150    }
10151}
10152
10153#[repr(C)]
10154#[allow(dead_code)]
10155pub struct GtkShortcutManager {
10156    _data: [u8; 0],
10157    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10158}
10159
10160impl ::std::fmt::Debug for GtkShortcutManager {
10161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10162        write!(f, "GtkShortcutManager @ {self:p}")
10163    }
10164}
10165
10166#[repr(C)]
10167#[allow(dead_code)]
10168pub struct GtkStyleProvider {
10169    _data: [u8; 0],
10170    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10171}
10172
10173impl ::std::fmt::Debug for GtkStyleProvider {
10174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10175        write!(f, "GtkStyleProvider @ {self:p}")
10176    }
10177}
10178
10179#[repr(C)]
10180#[allow(dead_code)]
10181pub struct GtkSymbolicPaintable {
10182    _data: [u8; 0],
10183    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10184}
10185
10186impl ::std::fmt::Debug for GtkSymbolicPaintable {
10187    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10188        write!(f, "GtkSymbolicPaintable @ {self:p}")
10189    }
10190}
10191
10192#[repr(C)]
10193#[allow(dead_code)]
10194pub struct GtkTreeDragDest {
10195    _data: [u8; 0],
10196    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10197}
10198
10199impl ::std::fmt::Debug for GtkTreeDragDest {
10200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10201        write!(f, "GtkTreeDragDest @ {self:p}")
10202    }
10203}
10204
10205#[repr(C)]
10206#[allow(dead_code)]
10207pub struct GtkTreeDragSource {
10208    _data: [u8; 0],
10209    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10210}
10211
10212impl ::std::fmt::Debug for GtkTreeDragSource {
10213    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10214        write!(f, "GtkTreeDragSource @ {self:p}")
10215    }
10216}
10217
10218#[repr(C)]
10219#[allow(dead_code)]
10220pub struct GtkTreeModel {
10221    _data: [u8; 0],
10222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10223}
10224
10225impl ::std::fmt::Debug for GtkTreeModel {
10226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10227        write!(f, "GtkTreeModel @ {self:p}")
10228    }
10229}
10230
10231#[repr(C)]
10232#[allow(dead_code)]
10233pub struct GtkTreeSortable {
10234    _data: [u8; 0],
10235    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10236}
10237
10238impl ::std::fmt::Debug for GtkTreeSortable {
10239    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10240        write!(f, "GtkTreeSortable @ {self:p}")
10241    }
10242}
10243
10244unsafe extern "C" {
10245
10246    //=========================================================================
10247    // GtkAccessibleAnnouncementPriority
10248    //=========================================================================
10249    #[cfg(feature = "v4_14")]
10250    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10251    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
10252
10253    //=========================================================================
10254    // GtkAccessibleAutocomplete
10255    //=========================================================================
10256    pub fn gtk_accessible_autocomplete_get_type() -> GType;
10257
10258    //=========================================================================
10259    // GtkAccessibleInvalidState
10260    //=========================================================================
10261    pub fn gtk_accessible_invalid_state_get_type() -> GType;
10262
10263    //=========================================================================
10264    // GtkAccessiblePlatformState
10265    //=========================================================================
10266    #[cfg(feature = "v4_10")]
10267    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10268    pub fn gtk_accessible_platform_state_get_type() -> GType;
10269
10270    //=========================================================================
10271    // GtkAccessibleProperty
10272    //=========================================================================
10273    pub fn gtk_accessible_property_get_type() -> GType;
10274    pub fn gtk_accessible_property_init_value(
10275        property: GtkAccessibleProperty,
10276        value: *mut gobject::GValue,
10277    );
10278
10279    //=========================================================================
10280    // GtkAccessibleRelation
10281    //=========================================================================
10282    pub fn gtk_accessible_relation_get_type() -> GType;
10283    pub fn gtk_accessible_relation_init_value(
10284        relation: GtkAccessibleRelation,
10285        value: *mut gobject::GValue,
10286    );
10287
10288    //=========================================================================
10289    // GtkAccessibleRole
10290    //=========================================================================
10291    pub fn gtk_accessible_role_get_type() -> GType;
10292
10293    //=========================================================================
10294    // GtkAccessibleSort
10295    //=========================================================================
10296    pub fn gtk_accessible_sort_get_type() -> GType;
10297
10298    //=========================================================================
10299    // GtkAccessibleState
10300    //=========================================================================
10301    pub fn gtk_accessible_state_get_type() -> GType;
10302    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
10303
10304    //=========================================================================
10305    // GtkAccessibleTextContentChange
10306    //=========================================================================
10307    #[cfg(feature = "v4_14")]
10308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10309    pub fn gtk_accessible_text_content_change_get_type() -> GType;
10310
10311    //=========================================================================
10312    // GtkAccessibleTextGranularity
10313    //=========================================================================
10314    #[cfg(feature = "v4_14")]
10315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10316    pub fn gtk_accessible_text_granularity_get_type() -> GType;
10317
10318    //=========================================================================
10319    // GtkAccessibleTristate
10320    //=========================================================================
10321    pub fn gtk_accessible_tristate_get_type() -> GType;
10322
10323    //=========================================================================
10324    // GtkAlign
10325    //=========================================================================
10326    pub fn gtk_align_get_type() -> GType;
10327
10328    //=========================================================================
10329    // GtkArrowType
10330    //=========================================================================
10331    pub fn gtk_arrow_type_get_type() -> GType;
10332
10333    //=========================================================================
10334    // GtkAssistantPageType
10335    //=========================================================================
10336    pub fn gtk_assistant_page_type_get_type() -> GType;
10337
10338    //=========================================================================
10339    // GtkBaselinePosition
10340    //=========================================================================
10341    pub fn gtk_baseline_position_get_type() -> GType;
10342
10343    //=========================================================================
10344    // GtkBorderStyle
10345    //=========================================================================
10346    pub fn gtk_border_style_get_type() -> GType;
10347
10348    //=========================================================================
10349    // GtkBuilderError
10350    //=========================================================================
10351    pub fn gtk_builder_error_get_type() -> GType;
10352    pub fn gtk_builder_error_quark() -> glib::GQuark;
10353
10354    //=========================================================================
10355    // GtkButtonsType
10356    //=========================================================================
10357    pub fn gtk_buttons_type_get_type() -> GType;
10358
10359    //=========================================================================
10360    // GtkCellRendererAccelMode
10361    //=========================================================================
10362    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
10363
10364    //=========================================================================
10365    // GtkCellRendererMode
10366    //=========================================================================
10367    pub fn gtk_cell_renderer_mode_get_type() -> GType;
10368
10369    //=========================================================================
10370    // GtkCollation
10371    //=========================================================================
10372    #[cfg(feature = "v4_10")]
10373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10374    pub fn gtk_collation_get_type() -> GType;
10375
10376    //=========================================================================
10377    // GtkConstraintAttribute
10378    //=========================================================================
10379    pub fn gtk_constraint_attribute_get_type() -> GType;
10380
10381    //=========================================================================
10382    // GtkConstraintRelation
10383    //=========================================================================
10384    pub fn gtk_constraint_relation_get_type() -> GType;
10385
10386    //=========================================================================
10387    // GtkConstraintStrength
10388    //=========================================================================
10389    pub fn gtk_constraint_strength_get_type() -> GType;
10390
10391    //=========================================================================
10392    // GtkConstraintVflParserError
10393    //=========================================================================
10394    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10395    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10396
10397    //=========================================================================
10398    // GtkContentFit
10399    //=========================================================================
10400    #[cfg(feature = "v4_8")]
10401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10402    pub fn gtk_content_fit_get_type() -> GType;
10403
10404    //=========================================================================
10405    // GtkCornerType
10406    //=========================================================================
10407    pub fn gtk_corner_type_get_type() -> GType;
10408
10409    //=========================================================================
10410    // GtkDeleteType
10411    //=========================================================================
10412    pub fn gtk_delete_type_get_type() -> GType;
10413
10414    //=========================================================================
10415    // GtkDialogError
10416    //=========================================================================
10417    #[cfg(feature = "v4_10")]
10418    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10419    pub fn gtk_dialog_error_get_type() -> GType;
10420    #[cfg(feature = "v4_10")]
10421    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10422    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10423
10424    //=========================================================================
10425    // GtkDirectionType
10426    //=========================================================================
10427    pub fn gtk_direction_type_get_type() -> GType;
10428
10429    //=========================================================================
10430    // GtkEditableProperties
10431    //=========================================================================
10432    pub fn gtk_editable_properties_get_type() -> GType;
10433
10434    //=========================================================================
10435    // GtkEntryIconPosition
10436    //=========================================================================
10437    pub fn gtk_entry_icon_position_get_type() -> GType;
10438
10439    //=========================================================================
10440    // GtkEventSequenceState
10441    //=========================================================================
10442    pub fn gtk_event_sequence_state_get_type() -> GType;
10443
10444    //=========================================================================
10445    // GtkFileChooserAction
10446    //=========================================================================
10447    pub fn gtk_file_chooser_action_get_type() -> GType;
10448
10449    //=========================================================================
10450    // GtkFileChooserError
10451    //=========================================================================
10452    pub fn gtk_file_chooser_error_get_type() -> GType;
10453    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10454
10455    //=========================================================================
10456    // GtkFilterChange
10457    //=========================================================================
10458    pub fn gtk_filter_change_get_type() -> GType;
10459
10460    //=========================================================================
10461    // GtkFilterMatch
10462    //=========================================================================
10463    pub fn gtk_filter_match_get_type() -> GType;
10464
10465    //=========================================================================
10466    // GtkFontLevel
10467    //=========================================================================
10468    #[cfg(feature = "v4_10")]
10469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10470    pub fn gtk_font_level_get_type() -> GType;
10471
10472    //=========================================================================
10473    // GtkFontRendering
10474    //=========================================================================
10475    #[cfg(feature = "v4_16")]
10476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10477    pub fn gtk_font_rendering_get_type() -> GType;
10478
10479    //=========================================================================
10480    // GtkGraphicsOffloadEnabled
10481    //=========================================================================
10482    #[cfg(feature = "v4_14")]
10483    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10484    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10485
10486    //=========================================================================
10487    // GtkIconSize
10488    //=========================================================================
10489    pub fn gtk_icon_size_get_type() -> GType;
10490
10491    //=========================================================================
10492    // GtkIconThemeError
10493    //=========================================================================
10494    pub fn gtk_icon_theme_error_get_type() -> GType;
10495    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10496
10497    //=========================================================================
10498    // GtkIconViewDropPosition
10499    //=========================================================================
10500    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10501
10502    //=========================================================================
10503    // GtkImageType
10504    //=========================================================================
10505    pub fn gtk_image_type_get_type() -> GType;
10506
10507    //=========================================================================
10508    // GtkInputPurpose
10509    //=========================================================================
10510    pub fn gtk_input_purpose_get_type() -> GType;
10511
10512    //=========================================================================
10513    // GtkInscriptionOverflow
10514    //=========================================================================
10515    #[cfg(feature = "v4_8")]
10516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10517    pub fn gtk_inscription_overflow_get_type() -> GType;
10518
10519    //=========================================================================
10520    // GtkInterfaceColorScheme
10521    //=========================================================================
10522    #[cfg(feature = "v4_20")]
10523    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10524    pub fn gtk_interface_color_scheme_get_type() -> GType;
10525
10526    //=========================================================================
10527    // GtkInterfaceContrast
10528    //=========================================================================
10529    #[cfg(feature = "v4_20")]
10530    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10531    pub fn gtk_interface_contrast_get_type() -> GType;
10532
10533    //=========================================================================
10534    // GtkJustification
10535    //=========================================================================
10536    pub fn gtk_justification_get_type() -> GType;
10537
10538    //=========================================================================
10539    // GtkLevelBarMode
10540    //=========================================================================
10541    pub fn gtk_level_bar_mode_get_type() -> GType;
10542
10543    //=========================================================================
10544    // GtkLicense
10545    //=========================================================================
10546    pub fn gtk_license_get_type() -> GType;
10547
10548    //=========================================================================
10549    // GtkListTabBehavior
10550    //=========================================================================
10551    #[cfg(feature = "v4_12")]
10552    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10553    pub fn gtk_list_tab_behavior_get_type() -> GType;
10554
10555    //=========================================================================
10556    // GtkMessageType
10557    //=========================================================================
10558    pub fn gtk_message_type_get_type() -> GType;
10559
10560    //=========================================================================
10561    // GtkMovementStep
10562    //=========================================================================
10563    pub fn gtk_movement_step_get_type() -> GType;
10564
10565    //=========================================================================
10566    // GtkNaturalWrapMode
10567    //=========================================================================
10568    #[cfg(feature = "v4_6")]
10569    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10570    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10571
10572    //=========================================================================
10573    // GtkNotebookTab
10574    //=========================================================================
10575    pub fn gtk_notebook_tab_get_type() -> GType;
10576
10577    //=========================================================================
10578    // GtkNumberUpLayout
10579    //=========================================================================
10580    pub fn gtk_number_up_layout_get_type() -> GType;
10581
10582    //=========================================================================
10583    // GtkOrdering
10584    //=========================================================================
10585    pub fn gtk_ordering_get_type() -> GType;
10586    #[cfg(feature = "v4_2")]
10587    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
10588    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10589
10590    //=========================================================================
10591    // GtkOrientation
10592    //=========================================================================
10593    pub fn gtk_orientation_get_type() -> GType;
10594
10595    //=========================================================================
10596    // GtkOverflow
10597    //=========================================================================
10598    pub fn gtk_overflow_get_type() -> GType;
10599
10600    //=========================================================================
10601    // GtkPackType
10602    //=========================================================================
10603    pub fn gtk_pack_type_get_type() -> GType;
10604
10605    //=========================================================================
10606    // GtkPadActionType
10607    //=========================================================================
10608    pub fn gtk_pad_action_type_get_type() -> GType;
10609
10610    //=========================================================================
10611    // GtkPageOrientation
10612    //=========================================================================
10613    pub fn gtk_page_orientation_get_type() -> GType;
10614
10615    //=========================================================================
10616    // GtkPageSet
10617    //=========================================================================
10618    pub fn gtk_page_set_get_type() -> GType;
10619
10620    //=========================================================================
10621    // GtkPanDirection
10622    //=========================================================================
10623    pub fn gtk_pan_direction_get_type() -> GType;
10624
10625    //=========================================================================
10626    // GtkPolicyType
10627    //=========================================================================
10628    pub fn gtk_policy_type_get_type() -> GType;
10629
10630    //=========================================================================
10631    // GtkPositionType
10632    //=========================================================================
10633    pub fn gtk_position_type_get_type() -> GType;
10634
10635    //=========================================================================
10636    // GtkPrintDuplex
10637    //=========================================================================
10638    pub fn gtk_print_duplex_get_type() -> GType;
10639
10640    //=========================================================================
10641    // GtkPrintError
10642    //=========================================================================
10643    pub fn gtk_print_error_get_type() -> GType;
10644    pub fn gtk_print_error_quark() -> glib::GQuark;
10645
10646    //=========================================================================
10647    // GtkPrintOperationAction
10648    //=========================================================================
10649    pub fn gtk_print_operation_action_get_type() -> GType;
10650
10651    //=========================================================================
10652    // GtkPrintOperationResult
10653    //=========================================================================
10654    pub fn gtk_print_operation_result_get_type() -> GType;
10655
10656    //=========================================================================
10657    // GtkPrintPages
10658    //=========================================================================
10659    pub fn gtk_print_pages_get_type() -> GType;
10660
10661    //=========================================================================
10662    // GtkPrintQuality
10663    //=========================================================================
10664    pub fn gtk_print_quality_get_type() -> GType;
10665
10666    //=========================================================================
10667    // GtkPrintStatus
10668    //=========================================================================
10669    pub fn gtk_print_status_get_type() -> GType;
10670
10671    //=========================================================================
10672    // GtkPropagationLimit
10673    //=========================================================================
10674    pub fn gtk_propagation_limit_get_type() -> GType;
10675
10676    //=========================================================================
10677    // GtkPropagationPhase
10678    //=========================================================================
10679    pub fn gtk_propagation_phase_get_type() -> GType;
10680
10681    //=========================================================================
10682    // GtkRecentManagerError
10683    //=========================================================================
10684    pub fn gtk_recent_manager_error_get_type() -> GType;
10685    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10686
10687    //=========================================================================
10688    // GtkReducedMotion
10689    //=========================================================================
10690    #[cfg(feature = "v4_22")]
10691    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10692    pub fn gtk_reduced_motion_get_type() -> GType;
10693
10694    //=========================================================================
10695    // GtkResponseType
10696    //=========================================================================
10697    pub fn gtk_response_type_get_type() -> GType;
10698
10699    //=========================================================================
10700    // GtkRestoreReason
10701    //=========================================================================
10702    #[cfg(feature = "v4_24")]
10703    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10704    pub fn gtk_restore_reason_get_type() -> GType;
10705
10706    //=========================================================================
10707    // GtkRevealerTransitionType
10708    //=========================================================================
10709    pub fn gtk_revealer_transition_type_get_type() -> GType;
10710
10711    //=========================================================================
10712    // GtkScrollStep
10713    //=========================================================================
10714    pub fn gtk_scroll_step_get_type() -> GType;
10715
10716    //=========================================================================
10717    // GtkScrollType
10718    //=========================================================================
10719    pub fn gtk_scroll_type_get_type() -> GType;
10720
10721    //=========================================================================
10722    // GtkScrollablePolicy
10723    //=========================================================================
10724    pub fn gtk_scrollable_policy_get_type() -> GType;
10725
10726    //=========================================================================
10727    // GtkSelectionMode
10728    //=========================================================================
10729    pub fn gtk_selection_mode_get_type() -> GType;
10730
10731    //=========================================================================
10732    // GtkSensitivityType
10733    //=========================================================================
10734    pub fn gtk_sensitivity_type_get_type() -> GType;
10735
10736    //=========================================================================
10737    // GtkShortcutScope
10738    //=========================================================================
10739    pub fn gtk_shortcut_scope_get_type() -> GType;
10740
10741    //=========================================================================
10742    // GtkShortcutType
10743    //=========================================================================
10744    pub fn gtk_shortcut_type_get_type() -> GType;
10745
10746    //=========================================================================
10747    // GtkSizeGroupMode
10748    //=========================================================================
10749    pub fn gtk_size_group_mode_get_type() -> GType;
10750
10751    //=========================================================================
10752    // GtkSizeRequestMode
10753    //=========================================================================
10754    pub fn gtk_size_request_mode_get_type() -> GType;
10755
10756    //=========================================================================
10757    // GtkSortType
10758    //=========================================================================
10759    pub fn gtk_sort_type_get_type() -> GType;
10760
10761    //=========================================================================
10762    // GtkSorterChange
10763    //=========================================================================
10764    pub fn gtk_sorter_change_get_type() -> GType;
10765
10766    //=========================================================================
10767    // GtkSorterOrder
10768    //=========================================================================
10769    pub fn gtk_sorter_order_get_type() -> GType;
10770
10771    //=========================================================================
10772    // GtkSpinButtonUpdatePolicy
10773    //=========================================================================
10774    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10775
10776    //=========================================================================
10777    // GtkSpinType
10778    //=========================================================================
10779    pub fn gtk_spin_type_get_type() -> GType;
10780
10781    //=========================================================================
10782    // GtkStackTransitionType
10783    //=========================================================================
10784    pub fn gtk_stack_transition_type_get_type() -> GType;
10785
10786    //=========================================================================
10787    // GtkStringFilterMatchMode
10788    //=========================================================================
10789    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10790
10791    //=========================================================================
10792    // GtkSvgError
10793    //=========================================================================
10794    #[cfg(feature = "v4_22")]
10795    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10796    pub fn gtk_svg_error_get_type() -> GType;
10797    #[cfg(feature = "v4_22")]
10798    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10799    pub fn gtk_svg_error_get_attribute(error: *const glib::GError) -> *const c_char;
10800    #[cfg(feature = "v4_22")]
10801    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10802    pub fn gtk_svg_error_get_element(error: *const glib::GError) -> *const c_char;
10803    #[cfg(feature = "v4_22")]
10804    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10805    pub fn gtk_svg_error_get_end(error: *const glib::GError) -> *const GtkSvgLocation;
10806    #[cfg(feature = "v4_24")]
10807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10808    pub fn gtk_svg_error_get_input(error: *const glib::GError) -> *const c_char;
10809    #[cfg(feature = "v4_22")]
10810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10811    pub fn gtk_svg_error_get_start(error: *const glib::GError) -> *const GtkSvgLocation;
10812    #[cfg(feature = "v4_22")]
10813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10814    pub fn gtk_svg_error_quark() -> glib::GQuark;
10815
10816    //=========================================================================
10817    // GtkSymbolicColor
10818    //=========================================================================
10819    #[cfg(feature = "v4_6")]
10820    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10821    pub fn gtk_symbolic_color_get_type() -> GType;
10822
10823    //=========================================================================
10824    // GtkSystemSetting
10825    //=========================================================================
10826    pub fn gtk_system_setting_get_type() -> GType;
10827
10828    //=========================================================================
10829    // GtkTextDirection
10830    //=========================================================================
10831    pub fn gtk_text_direction_get_type() -> GType;
10832
10833    //=========================================================================
10834    // GtkTextExtendSelection
10835    //=========================================================================
10836    pub fn gtk_text_extend_selection_get_type() -> GType;
10837
10838    //=========================================================================
10839    // GtkTextViewLayer
10840    //=========================================================================
10841    pub fn gtk_text_view_layer_get_type() -> GType;
10842
10843    //=========================================================================
10844    // GtkTextWindowType
10845    //=========================================================================
10846    pub fn gtk_text_window_type_get_type() -> GType;
10847
10848    //=========================================================================
10849    // GtkTreeViewColumnSizing
10850    //=========================================================================
10851    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10852
10853    //=========================================================================
10854    // GtkTreeViewDropPosition
10855    //=========================================================================
10856    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10857
10858    //=========================================================================
10859    // GtkTreeViewGridLines
10860    //=========================================================================
10861    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10862
10863    //=========================================================================
10864    // GtkUnit
10865    //=========================================================================
10866    pub fn gtk_unit_get_type() -> GType;
10867
10868    //=========================================================================
10869    // GtkWindowGravity
10870    //=========================================================================
10871    #[cfg(feature = "v4_20")]
10872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10873    pub fn gtk_window_gravity_get_type() -> GType;
10874
10875    //=========================================================================
10876    // GtkWrapMode
10877    //=========================================================================
10878    pub fn gtk_wrap_mode_get_type() -> GType;
10879
10880    //=========================================================================
10881    // GtkApplicationInhibitFlags
10882    //=========================================================================
10883    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10884
10885    //=========================================================================
10886    // GtkBuilderClosureFlags
10887    //=========================================================================
10888    pub fn gtk_builder_closure_flags_get_type() -> GType;
10889
10890    //=========================================================================
10891    // GtkCellRendererState
10892    //=========================================================================
10893    pub fn gtk_cell_renderer_state_get_type() -> GType;
10894
10895    //=========================================================================
10896    // GtkDebugFlags
10897    //=========================================================================
10898    pub fn gtk_debug_flags_get_type() -> GType;
10899
10900    //=========================================================================
10901    // GtkDialogFlags
10902    //=========================================================================
10903    pub fn gtk_dialog_flags_get_type() -> GType;
10904
10905    //=========================================================================
10906    // GtkEventControllerScrollFlags
10907    //=========================================================================
10908    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10909
10910    //=========================================================================
10911    // GtkFontChooserLevel
10912    //=========================================================================
10913    pub fn gtk_font_chooser_level_get_type() -> GType;
10914
10915    //=========================================================================
10916    // GtkIconLookupFlags
10917    //=========================================================================
10918    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10919
10920    //=========================================================================
10921    // GtkInputHints
10922    //=========================================================================
10923    pub fn gtk_input_hints_get_type() -> GType;
10924
10925    //=========================================================================
10926    // GtkListScrollFlags
10927    //=========================================================================
10928    #[cfg(feature = "v4_12")]
10929    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10930    pub fn gtk_list_scroll_flags_get_type() -> GType;
10931
10932    //=========================================================================
10933    // GtkPickFlags
10934    //=========================================================================
10935    pub fn gtk_pick_flags_get_type() -> GType;
10936
10937    //=========================================================================
10938    // GtkPopoverMenuFlags
10939    //=========================================================================
10940    pub fn gtk_popover_menu_flags_get_type() -> GType;
10941
10942    //=========================================================================
10943    // GtkPrintCapabilities
10944    //=========================================================================
10945    pub fn gtk_print_capabilities_get_type() -> GType;
10946
10947    //=========================================================================
10948    // GtkShortcutActionFlags
10949    //=========================================================================
10950    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10951
10952    //=========================================================================
10953    // GtkStateFlags
10954    //=========================================================================
10955    pub fn gtk_state_flags_get_type() -> GType;
10956
10957    //=========================================================================
10958    // GtkStyleContextPrintFlags
10959    //=========================================================================
10960    pub fn gtk_style_context_print_flags_get_type() -> GType;
10961
10962    //=========================================================================
10963    // GtkSvgFeatures
10964    //=========================================================================
10965    #[cfg(feature = "v4_22")]
10966    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10967    pub fn gtk_svg_features_get_type() -> GType;
10968
10969    //=========================================================================
10970    // GtkTextBufferNotifyFlags
10971    //=========================================================================
10972    #[cfg(feature = "v4_16")]
10973    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10974    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10975
10976    //=========================================================================
10977    // GtkTextSearchFlags
10978    //=========================================================================
10979    pub fn gtk_text_search_flags_get_type() -> GType;
10980
10981    //=========================================================================
10982    // GtkTreeModelFlags
10983    //=========================================================================
10984    pub fn gtk_tree_model_flags_get_type() -> GType;
10985
10986    //=========================================================================
10987    // GtkAccessibleList
10988    //=========================================================================
10989    #[cfg(feature = "v4_14")]
10990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10991    pub fn gtk_accessible_list_get_type() -> GType;
10992    #[cfg(feature = "v4_14")]
10993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10994    pub fn gtk_accessible_list_new_from_array(
10995        accessibles: *mut *mut GtkAccessible,
10996        n_accessibles: size_t,
10997    ) -> *mut GtkAccessibleList;
10998    #[cfg(feature = "v4_14")]
10999    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11000    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
11001    #[cfg(feature = "v4_14")]
11002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11003    pub fn gtk_accessible_list_get_objects(
11004        accessible_list: *mut GtkAccessibleList,
11005    ) -> *mut glib::GList;
11006
11007    //=========================================================================
11008    // GtkBitset
11009    //=========================================================================
11010    pub fn gtk_bitset_get_type() -> GType;
11011    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
11012    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
11013    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11014    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11015    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11016    pub fn gtk_bitset_add_rectangle(
11017        self_: *mut GtkBitset,
11018        start: c_uint,
11019        width: c_uint,
11020        height: c_uint,
11021        stride: c_uint,
11022    );
11023    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
11024    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
11025    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
11026    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
11027    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
11028    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
11029    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
11030    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
11031    pub fn gtk_bitset_get_size_in_range(
11032        self_: *const GtkBitset,
11033        first: c_uint,
11034        last: c_uint,
11035    ) -> u64;
11036    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
11037    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
11038    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
11039    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11040    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
11041    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11042    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11043    pub fn gtk_bitset_remove_rectangle(
11044        self_: *mut GtkBitset,
11045        start: c_uint,
11046        width: c_uint,
11047        height: c_uint,
11048        stride: c_uint,
11049    );
11050    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
11051    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
11052    pub fn gtk_bitset_splice(
11053        self_: *mut GtkBitset,
11054        position: c_uint,
11055        removed: c_uint,
11056        added: c_uint,
11057    );
11058    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
11059    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
11060    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
11061
11062    //=========================================================================
11063    // GtkBitsetIter
11064    //=========================================================================
11065    pub fn gtk_bitset_iter_get_type() -> GType;
11066    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
11067    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
11068    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11069    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11070    pub fn gtk_bitset_iter_init_at(
11071        iter: *mut GtkBitsetIter,
11072        set: *const GtkBitset,
11073        target: c_uint,
11074        value: *mut c_uint,
11075    ) -> gboolean;
11076    pub fn gtk_bitset_iter_init_first(
11077        iter: *mut GtkBitsetIter,
11078        set: *const GtkBitset,
11079        value: *mut c_uint,
11080    ) -> gboolean;
11081    pub fn gtk_bitset_iter_init_last(
11082        iter: *mut GtkBitsetIter,
11083        set: *const GtkBitset,
11084        value: *mut c_uint,
11085    ) -> gboolean;
11086
11087    //=========================================================================
11088    // GtkBorder
11089    //=========================================================================
11090    pub fn gtk_border_get_type() -> GType;
11091    pub fn gtk_border_new() -> *mut GtkBorder;
11092    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
11093    pub fn gtk_border_free(border_: *mut GtkBorder);
11094
11095    //=========================================================================
11096    // GtkBuildableParseContext
11097    //=========================================================================
11098    pub fn gtk_buildable_parse_context_get_element(
11099        context: *mut GtkBuildableParseContext,
11100    ) -> *const c_char;
11101    pub fn gtk_buildable_parse_context_get_element_stack(
11102        context: *mut GtkBuildableParseContext,
11103    ) -> *mut glib::GPtrArray;
11104    pub fn gtk_buildable_parse_context_get_position(
11105        context: *mut GtkBuildableParseContext,
11106        line_number: *mut c_int,
11107        char_number: *mut c_int,
11108    );
11109    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
11110    pub fn gtk_buildable_parse_context_push(
11111        context: *mut GtkBuildableParseContext,
11112        parser: *const GtkBuildableParser,
11113        user_data: gpointer,
11114    );
11115
11116    //=========================================================================
11117    // GtkCellAreaClass
11118    //=========================================================================
11119    pub fn gtk_cell_area_class_find_cell_property(
11120        aclass: *mut GtkCellAreaClass,
11121        property_name: *const c_char,
11122    ) -> *mut gobject::GParamSpec;
11123    pub fn gtk_cell_area_class_install_cell_property(
11124        aclass: *mut GtkCellAreaClass,
11125        property_id: c_uint,
11126        pspec: *mut gobject::GParamSpec,
11127    );
11128    pub fn gtk_cell_area_class_list_cell_properties(
11129        aclass: *mut GtkCellAreaClass,
11130        n_properties: *mut c_uint,
11131    ) -> *mut *mut gobject::GParamSpec;
11132
11133    //=========================================================================
11134    // GtkCssSection
11135    //=========================================================================
11136    pub fn gtk_css_section_get_type() -> GType;
11137    pub fn gtk_css_section_new(
11138        file: *mut gio::GFile,
11139        start: *const GtkCssLocation,
11140        end: *const GtkCssLocation,
11141    ) -> *mut GtkCssSection;
11142    #[cfg(feature = "v4_16")]
11143    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11144    pub fn gtk_css_section_new_with_bytes(
11145        file: *mut gio::GFile,
11146        bytes: *mut glib::GBytes,
11147        start: *const GtkCssLocation,
11148        end: *const GtkCssLocation,
11149    ) -> *mut GtkCssSection;
11150    #[cfg(feature = "v4_16")]
11151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11152    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
11153    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
11154    -> *const GtkCssLocation;
11155    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
11156    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
11157    pub fn gtk_css_section_get_start_location(
11158        section: *const GtkCssSection,
11159    ) -> *const GtkCssLocation;
11160    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
11161    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
11162    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
11163    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
11164
11165    //=========================================================================
11166    // GtkExpressionWatch
11167    //=========================================================================
11168    #[cfg(feature = "v4_2")]
11169    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
11170    pub fn gtk_expression_watch_get_type() -> GType;
11171    pub fn gtk_expression_watch_evaluate(
11172        watch: *mut GtkExpressionWatch,
11173        value: *mut gobject::GValue,
11174    ) -> gboolean;
11175    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
11176    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
11177    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
11178
11179    //=========================================================================
11180    // GtkPaperSize
11181    //=========================================================================
11182    pub fn gtk_paper_size_get_type() -> GType;
11183    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
11184    pub fn gtk_paper_size_new_custom(
11185        name: *const c_char,
11186        display_name: *const c_char,
11187        width: c_double,
11188        height: c_double,
11189        unit: GtkUnit,
11190    ) -> *mut GtkPaperSize;
11191    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
11192    pub fn gtk_paper_size_new_from_ipp(
11193        ipp_name: *const c_char,
11194        width: c_double,
11195        height: c_double,
11196    ) -> *mut GtkPaperSize;
11197    pub fn gtk_paper_size_new_from_key_file(
11198        key_file: *mut glib::GKeyFile,
11199        group_name: *const c_char,
11200        error: *mut *mut glib::GError,
11201    ) -> *mut GtkPaperSize;
11202    pub fn gtk_paper_size_new_from_ppd(
11203        ppd_name: *const c_char,
11204        ppd_display_name: *const c_char,
11205        width: c_double,
11206        height: c_double,
11207    ) -> *mut GtkPaperSize;
11208    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
11209    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
11210    pub fn gtk_paper_size_get_default_bottom_margin(
11211        size: *mut GtkPaperSize,
11212        unit: GtkUnit,
11213    ) -> c_double;
11214    pub fn gtk_paper_size_get_default_left_margin(
11215        size: *mut GtkPaperSize,
11216        unit: GtkUnit,
11217    ) -> c_double;
11218    pub fn gtk_paper_size_get_default_right_margin(
11219        size: *mut GtkPaperSize,
11220        unit: GtkUnit,
11221    ) -> c_double;
11222    pub fn gtk_paper_size_get_default_top_margin(
11223        size: *mut GtkPaperSize,
11224        unit: GtkUnit,
11225    ) -> c_double;
11226    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
11227    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11228    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
11229    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
11230    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11231    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
11232    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
11233    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
11234    pub fn gtk_paper_size_set_size(
11235        size: *mut GtkPaperSize,
11236        width: c_double,
11237        height: c_double,
11238        unit: GtkUnit,
11239    );
11240    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
11241    pub fn gtk_paper_size_to_key_file(
11242        size: *mut GtkPaperSize,
11243        key_file: *mut glib::GKeyFile,
11244        group_name: *const c_char,
11245    );
11246    pub fn gtk_paper_size_get_default() -> *const c_char;
11247    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
11248
11249    //=========================================================================
11250    // GtkPrintSetup
11251    //=========================================================================
11252    #[cfg(feature = "v4_14")]
11253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11254    pub fn gtk_print_setup_get_type() -> GType;
11255    #[cfg(feature = "v4_14")]
11256    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11257    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
11258    #[cfg(feature = "v4_14")]
11259    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11260    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
11261    #[cfg(feature = "v4_14")]
11262    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11263    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
11264    #[cfg(feature = "v4_14")]
11265    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11266    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
11267
11268    //=========================================================================
11269    // GtkRecentInfo
11270    //=========================================================================
11271    pub fn gtk_recent_info_get_type() -> GType;
11272    pub fn gtk_recent_info_create_app_info(
11273        info: *mut GtkRecentInfo,
11274        app_name: *const c_char,
11275        error: *mut *mut glib::GError,
11276    ) -> *mut gio::GAppInfo;
11277    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
11278    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11279    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
11280    pub fn gtk_recent_info_get_application_info(
11281        info: *mut GtkRecentInfo,
11282        app_name: *const c_char,
11283        app_exec: *mut *const c_char,
11284        count: *mut c_uint,
11285        stamp: *mut *mut glib::GDateTime,
11286    ) -> gboolean;
11287    pub fn gtk_recent_info_get_applications(
11288        info: *mut GtkRecentInfo,
11289        length: *mut size_t,
11290    ) -> *mut *mut c_char;
11291    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
11292    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
11293    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
11294    pub fn gtk_recent_info_get_groups(
11295        info: *mut GtkRecentInfo,
11296        length: *mut size_t,
11297    ) -> *mut *mut c_char;
11298    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
11299    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11300    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
11301    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
11302    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
11303    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
11304    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11305    pub fn gtk_recent_info_has_application(
11306        info: *mut GtkRecentInfo,
11307        app_name: *const c_char,
11308    ) -> gboolean;
11309    pub fn gtk_recent_info_has_group(
11310        info: *mut GtkRecentInfo,
11311        group_name: *const c_char,
11312    ) -> gboolean;
11313    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
11314    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
11315    pub fn gtk_recent_info_match(
11316        info_a: *mut GtkRecentInfo,
11317        info_b: *mut GtkRecentInfo,
11318    ) -> gboolean;
11319    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
11320    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
11321
11322    //=========================================================================
11323    // GtkRequisition
11324    //=========================================================================
11325    pub fn gtk_requisition_get_type() -> GType;
11326    pub fn gtk_requisition_new() -> *mut GtkRequisition;
11327    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
11328    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
11329
11330    //=========================================================================
11331    // GtkScrollInfo
11332    //=========================================================================
11333    #[cfg(feature = "v4_12")]
11334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11335    pub fn gtk_scroll_info_get_type() -> GType;
11336    #[cfg(feature = "v4_12")]
11337    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11338    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
11339    #[cfg(feature = "v4_12")]
11340    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11341    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
11342    #[cfg(feature = "v4_12")]
11343    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11344    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
11345    #[cfg(feature = "v4_12")]
11346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11347    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
11348    #[cfg(feature = "v4_12")]
11349    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11350    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
11351    #[cfg(feature = "v4_12")]
11352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11353    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
11354    #[cfg(feature = "v4_12")]
11355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11356    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
11357
11358    //=========================================================================
11359    // GtkTextIter
11360    //=========================================================================
11361    pub fn gtk_text_iter_get_type() -> GType;
11362    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
11363    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
11364    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11365    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11366    pub fn gtk_text_iter_backward_cursor_positions(
11367        iter: *mut GtkTextIter,
11368        count: c_int,
11369    ) -> gboolean;
11370    pub fn gtk_text_iter_backward_find_char(
11371        iter: *mut GtkTextIter,
11372        pred: GtkTextCharPredicate,
11373        user_data: gpointer,
11374        limit: *const GtkTextIter,
11375    ) -> gboolean;
11376    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
11377    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11378    pub fn gtk_text_iter_backward_search(
11379        iter: *const GtkTextIter,
11380        str: *const c_char,
11381        flags: GtkTextSearchFlags,
11382        match_start: *mut GtkTextIter,
11383        match_end: *mut GtkTextIter,
11384        limit: *const GtkTextIter,
11385    ) -> gboolean;
11386    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
11387    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
11388    -> gboolean;
11389    pub fn gtk_text_iter_backward_to_tag_toggle(
11390        iter: *mut GtkTextIter,
11391        tag: *mut GtkTextTag,
11392    ) -> gboolean;
11393    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11394    pub fn gtk_text_iter_backward_visible_cursor_positions(
11395        iter: *mut GtkTextIter,
11396        count: c_int,
11397    ) -> gboolean;
11398    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11399    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11400    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
11401    pub fn gtk_text_iter_backward_visible_word_starts(
11402        iter: *mut GtkTextIter,
11403        count: c_int,
11404    ) -> gboolean;
11405    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
11406    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11407    pub fn gtk_text_iter_can_insert(
11408        iter: *const GtkTextIter,
11409        default_editability: gboolean,
11410    ) -> gboolean;
11411    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
11412    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
11413    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
11414    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
11415    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
11416    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11417    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
11418    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
11419    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
11420    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11421    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11422    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
11423    -> gboolean;
11424    pub fn gtk_text_iter_forward_find_char(
11425        iter: *mut GtkTextIter,
11426        pred: GtkTextCharPredicate,
11427        user_data: gpointer,
11428        limit: *const GtkTextIter,
11429    ) -> gboolean;
11430    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
11431    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11432    pub fn gtk_text_iter_forward_search(
11433        iter: *const GtkTextIter,
11434        str: *const c_char,
11435        flags: GtkTextSearchFlags,
11436        match_start: *mut GtkTextIter,
11437        match_end: *mut GtkTextIter,
11438        limit: *const GtkTextIter,
11439    ) -> gboolean;
11440    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
11441    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11442    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
11443    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
11444    pub fn gtk_text_iter_forward_to_tag_toggle(
11445        iter: *mut GtkTextIter,
11446        tag: *mut GtkTextTag,
11447    ) -> gboolean;
11448    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11449    pub fn gtk_text_iter_forward_visible_cursor_positions(
11450        iter: *mut GtkTextIter,
11451        count: c_int,
11452    ) -> gboolean;
11453    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11454    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11455    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
11456    pub fn gtk_text_iter_forward_visible_word_ends(
11457        iter: *mut GtkTextIter,
11458        count: c_int,
11459    ) -> gboolean;
11460    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11461    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11462    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11463    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11464    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11465    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11466    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11467    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11468    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11469    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11470    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11471    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11472    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11473    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11474    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11475    pub fn gtk_text_iter_get_slice(
11476        start: *const GtkTextIter,
11477        end: *const GtkTextIter,
11478    ) -> *mut c_char;
11479    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11480    pub fn gtk_text_iter_get_text(
11481        start: *const GtkTextIter,
11482        end: *const GtkTextIter,
11483    ) -> *mut c_char;
11484    pub fn gtk_text_iter_get_toggled_tags(
11485        iter: *const GtkTextIter,
11486        toggled_on: gboolean,
11487    ) -> *mut glib::GSList;
11488    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11489    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11490    pub fn gtk_text_iter_get_visible_slice(
11491        start: *const GtkTextIter,
11492        end: *const GtkTextIter,
11493    ) -> *mut c_char;
11494    pub fn gtk_text_iter_get_visible_text(
11495        start: *const GtkTextIter,
11496        end: *const GtkTextIter,
11497    ) -> *mut c_char;
11498    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11499    pub fn gtk_text_iter_in_range(
11500        iter: *const GtkTextIter,
11501        start: *const GtkTextIter,
11502        end: *const GtkTextIter,
11503    ) -> gboolean;
11504    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11505    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11506    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11507    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11508    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11509    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11510    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11511    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11512    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11513    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11514    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11515    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11516    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11517    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11518    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11519    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11520    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11521
11522    //=========================================================================
11523    // GtkTreeIter
11524    //=========================================================================
11525    pub fn gtk_tree_iter_get_type() -> GType;
11526    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11527    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11528
11529    //=========================================================================
11530    // GtkTreePath
11531    //=========================================================================
11532    pub fn gtk_tree_path_get_type() -> GType;
11533    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11534    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11535    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11536    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11537    -> *mut GtkTreePath;
11538    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11539    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11540    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11541    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11542    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11543    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11544    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11545    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11546    pub fn gtk_tree_path_get_indices_with_depth(
11547        path: *mut GtkTreePath,
11548        depth: *mut c_int,
11549    ) -> *mut c_int;
11550    pub fn gtk_tree_path_is_ancestor(
11551        path: *mut GtkTreePath,
11552        descendant: *mut GtkTreePath,
11553    ) -> gboolean;
11554    pub fn gtk_tree_path_is_descendant(
11555        path: *mut GtkTreePath,
11556        ancestor: *mut GtkTreePath,
11557    ) -> gboolean;
11558    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11559    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11560    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11561    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11562    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11563
11564    //=========================================================================
11565    // GtkTreeRowReference
11566    //=========================================================================
11567    pub fn gtk_tree_row_reference_get_type() -> GType;
11568    pub fn gtk_tree_row_reference_new(
11569        model: *mut GtkTreeModel,
11570        path: *mut GtkTreePath,
11571    ) -> *mut GtkTreeRowReference;
11572    pub fn gtk_tree_row_reference_new_proxy(
11573        proxy: *mut gobject::GObject,
11574        model: *mut GtkTreeModel,
11575        path: *mut GtkTreePath,
11576    ) -> *mut GtkTreeRowReference;
11577    pub fn gtk_tree_row_reference_copy(
11578        reference: *mut GtkTreeRowReference,
11579    ) -> *mut GtkTreeRowReference;
11580    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11581    pub fn gtk_tree_row_reference_get_model(
11582        reference: *mut GtkTreeRowReference,
11583    ) -> *mut GtkTreeModel;
11584    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11585    -> *mut GtkTreePath;
11586    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11587    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11588    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11589    pub fn gtk_tree_row_reference_reordered(
11590        proxy: *mut gobject::GObject,
11591        path: *mut GtkTreePath,
11592        iter: *mut GtkTreeIter,
11593        new_order: *mut c_int,
11594    );
11595
11596    //=========================================================================
11597    // GtkWidgetClass
11598    //=========================================================================
11599    pub fn gtk_widget_class_add_binding(
11600        widget_class: *mut GtkWidgetClass,
11601        keyval: c_uint,
11602        mods: gdk::GdkModifierType,
11603        callback: GtkShortcutFunc,
11604        format_string: *const c_char,
11605        ...
11606    );
11607    pub fn gtk_widget_class_add_binding_action(
11608        widget_class: *mut GtkWidgetClass,
11609        keyval: c_uint,
11610        mods: gdk::GdkModifierType,
11611        action_name: *const c_char,
11612        format_string: *const c_char,
11613        ...
11614    );
11615    pub fn gtk_widget_class_add_binding_signal(
11616        widget_class: *mut GtkWidgetClass,
11617        keyval: c_uint,
11618        mods: gdk::GdkModifierType,
11619        signal: *const c_char,
11620        format_string: *const c_char,
11621        ...
11622    );
11623    pub fn gtk_widget_class_add_shortcut(
11624        widget_class: *mut GtkWidgetClass,
11625        shortcut: *mut GtkShortcut,
11626    );
11627    pub fn gtk_widget_class_bind_template_callback_full(
11628        widget_class: *mut GtkWidgetClass,
11629        callback_name: *const c_char,
11630        callback_symbol: gobject::GCallback,
11631    );
11632    pub fn gtk_widget_class_bind_template_child_full(
11633        widget_class: *mut GtkWidgetClass,
11634        name: *const c_char,
11635        internal_child: gboolean,
11636        struct_offset: ssize_t,
11637    );
11638    pub fn gtk_widget_class_get_accessible_role(
11639        widget_class: *mut GtkWidgetClass,
11640    ) -> GtkAccessibleRole;
11641    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11642    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11643    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11644    pub fn gtk_widget_class_install_action(
11645        widget_class: *mut GtkWidgetClass,
11646        action_name: *const c_char,
11647        parameter_type: *const c_char,
11648        activate: GtkWidgetActionActivateFunc,
11649    );
11650    pub fn gtk_widget_class_install_property_action(
11651        widget_class: *mut GtkWidgetClass,
11652        action_name: *const c_char,
11653        property_name: *const c_char,
11654    );
11655    pub fn gtk_widget_class_query_action(
11656        widget_class: *mut GtkWidgetClass,
11657        index_: c_uint,
11658        owner: *mut GType,
11659        action_name: *mut *const c_char,
11660        parameter_type: *mut *const glib::GVariantType,
11661        property_name: *mut *const c_char,
11662    ) -> gboolean;
11663    pub fn gtk_widget_class_set_accessible_role(
11664        widget_class: *mut GtkWidgetClass,
11665        accessible_role: GtkAccessibleRole,
11666    );
11667    pub fn gtk_widget_class_set_activate_signal(
11668        widget_class: *mut GtkWidgetClass,
11669        signal_id: c_uint,
11670    );
11671    pub fn gtk_widget_class_set_activate_signal_from_name(
11672        widget_class: *mut GtkWidgetClass,
11673        signal_name: *const c_char,
11674    );
11675    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11676    pub fn gtk_widget_class_set_layout_manager_type(
11677        widget_class: *mut GtkWidgetClass,
11678        type_: GType,
11679    );
11680    pub fn gtk_widget_class_set_template(
11681        widget_class: *mut GtkWidgetClass,
11682        template_bytes: *mut glib::GBytes,
11683    );
11684    pub fn gtk_widget_class_set_template_from_resource(
11685        widget_class: *mut GtkWidgetClass,
11686        resource_name: *const c_char,
11687    );
11688    pub fn gtk_widget_class_set_template_scope(
11689        widget_class: *mut GtkWidgetClass,
11690        scope: *mut GtkBuilderScope,
11691    );
11692
11693    //=========================================================================
11694    // GtkATContext
11695    //=========================================================================
11696    pub fn gtk_at_context_get_type() -> GType;
11697    pub fn gtk_at_context_create(
11698        accessible_role: GtkAccessibleRole,
11699        accessible: *mut GtkAccessible,
11700        display: *mut gdk::GdkDisplay,
11701    ) -> *mut GtkATContext;
11702    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11703    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11704
11705    //=========================================================================
11706    // GtkAboutDialog
11707    //=========================================================================
11708    pub fn gtk_about_dialog_get_type() -> GType;
11709    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11710    pub fn gtk_about_dialog_add_credit_section(
11711        about: *mut GtkAboutDialog,
11712        section_name: *const c_char,
11713        people: *mut *const c_char,
11714    );
11715    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11716    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11717    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11718    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11719    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11720    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11721    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11722    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11723    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11724    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11725    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11726    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11727    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11728    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11729    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11730    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11731    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11732    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11733    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11734    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11735    pub fn gtk_about_dialog_set_documenters(
11736        about: *mut GtkAboutDialog,
11737        documenters: *mut *const c_char,
11738    );
11739    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11740    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11741    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11742    pub fn gtk_about_dialog_set_logo_icon_name(
11743        about: *mut GtkAboutDialog,
11744        icon_name: *const c_char,
11745    );
11746    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11747    pub fn gtk_about_dialog_set_system_information(
11748        about: *mut GtkAboutDialog,
11749        system_information: *const c_char,
11750    );
11751    pub fn gtk_about_dialog_set_translator_credits(
11752        about: *mut GtkAboutDialog,
11753        translator_credits: *const c_char,
11754    );
11755    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11756    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11757    pub fn gtk_about_dialog_set_website_label(
11758        about: *mut GtkAboutDialog,
11759        website_label: *const c_char,
11760    );
11761    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11762
11763    //=========================================================================
11764    // GtkAccessibleHyperlink
11765    //=========================================================================
11766    #[cfg(feature = "v4_22")]
11767    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11768    pub fn gtk_accessible_hyperlink_get_type() -> GType;
11769    #[cfg(feature = "v4_22")]
11770    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11771    pub fn gtk_accessible_hyperlink_new(
11772        parent: *mut GtkAccessibleHypertext,
11773        index: c_uint,
11774        uri: *const c_char,
11775        bounds: *mut GtkAccessibleTextRange,
11776    ) -> *mut GtkAccessibleHyperlink;
11777    #[cfg(feature = "v4_22")]
11778    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11779    pub fn gtk_accessible_hyperlink_set_platform_state(
11780        self_: *mut GtkAccessibleHyperlink,
11781        state: GtkAccessiblePlatformState,
11782        enabled: gboolean,
11783    );
11784
11785    //=========================================================================
11786    // GtkActionBar
11787    //=========================================================================
11788    pub fn gtk_action_bar_get_type() -> GType;
11789    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11790    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11791    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11792    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11793    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11794    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11795    pub fn gtk_action_bar_set_center_widget(
11796        action_bar: *mut GtkActionBar,
11797        center_widget: *mut GtkWidget,
11798    );
11799    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11800
11801    //=========================================================================
11802    // GtkActivateAction
11803    //=========================================================================
11804    pub fn gtk_activate_action_get_type() -> GType;
11805    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11806
11807    //=========================================================================
11808    // GtkAdjustment
11809    //=========================================================================
11810    pub fn gtk_adjustment_get_type() -> GType;
11811    pub fn gtk_adjustment_new(
11812        value: c_double,
11813        lower: c_double,
11814        upper: c_double,
11815        step_increment: c_double,
11816        page_increment: c_double,
11817        page_size: c_double,
11818    ) -> *mut GtkAdjustment;
11819    pub fn gtk_adjustment_clamp_page(
11820        adjustment: *mut GtkAdjustment,
11821        lower: c_double,
11822        upper: c_double,
11823    );
11824    pub fn gtk_adjustment_configure(
11825        adjustment: *mut GtkAdjustment,
11826        value: c_double,
11827        lower: c_double,
11828        upper: c_double,
11829        step_increment: c_double,
11830        page_increment: c_double,
11831        page_size: c_double,
11832    );
11833    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11834    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11835    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11836    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11837    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11838    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11839    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11840    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11841    pub fn gtk_adjustment_set_page_increment(
11842        adjustment: *mut GtkAdjustment,
11843        page_increment: c_double,
11844    );
11845    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11846    pub fn gtk_adjustment_set_step_increment(
11847        adjustment: *mut GtkAdjustment,
11848        step_increment: c_double,
11849    );
11850    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11851    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11852
11853    //=========================================================================
11854    // GtkAlertDialog
11855    //=========================================================================
11856    #[cfg(feature = "v4_10")]
11857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11858    pub fn gtk_alert_dialog_get_type() -> GType;
11859    #[cfg(feature = "v4_10")]
11860    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11861    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11862    #[cfg(feature = "v4_10")]
11863    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11864    pub fn gtk_alert_dialog_choose(
11865        self_: *mut GtkAlertDialog,
11866        parent: *mut GtkWindow,
11867        cancellable: *mut gio::GCancellable,
11868        callback: gio::GAsyncReadyCallback,
11869        user_data: gpointer,
11870    );
11871    #[cfg(feature = "v4_10")]
11872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11873    pub fn gtk_alert_dialog_choose_finish(
11874        self_: *mut GtkAlertDialog,
11875        result: *mut gio::GAsyncResult,
11876        error: *mut *mut glib::GError,
11877    ) -> c_int;
11878    #[cfg(feature = "v4_10")]
11879    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11880    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11881    #[cfg(feature = "v4_10")]
11882    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11883    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11884    #[cfg(feature = "v4_10")]
11885    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11886    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11887    #[cfg(feature = "v4_10")]
11888    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11889    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11890    #[cfg(feature = "v4_10")]
11891    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11892    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11893    #[cfg(feature = "v4_10")]
11894    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11895    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11896    #[cfg(feature = "v4_10")]
11897    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11898    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11899    #[cfg(feature = "v4_10")]
11900    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11901    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11902    #[cfg(feature = "v4_10")]
11903    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11904    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11905    #[cfg(feature = "v4_10")]
11906    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11907    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11908    #[cfg(feature = "v4_10")]
11909    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11910    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11911    #[cfg(feature = "v4_10")]
11912    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11913    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11914    #[cfg(feature = "v4_10")]
11915    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11916    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11917
11918    //=========================================================================
11919    // GtkAlternativeTrigger
11920    //=========================================================================
11921    pub fn gtk_alternative_trigger_get_type() -> GType;
11922    pub fn gtk_alternative_trigger_new(
11923        first: *mut GtkShortcutTrigger,
11924        second: *mut GtkShortcutTrigger,
11925    ) -> *mut GtkShortcutTrigger;
11926    pub fn gtk_alternative_trigger_get_first(
11927        self_: *mut GtkAlternativeTrigger,
11928    ) -> *mut GtkShortcutTrigger;
11929    pub fn gtk_alternative_trigger_get_second(
11930        self_: *mut GtkAlternativeTrigger,
11931    ) -> *mut GtkShortcutTrigger;
11932
11933    //=========================================================================
11934    // GtkAnyFilter
11935    //=========================================================================
11936    pub fn gtk_any_filter_get_type() -> GType;
11937    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11938
11939    //=========================================================================
11940    // GtkAppChooserButton
11941    //=========================================================================
11942    pub fn gtk_app_chooser_button_get_type() -> GType;
11943    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11944    pub fn gtk_app_chooser_button_append_custom_item(
11945        self_: *mut GtkAppChooserButton,
11946        name: *const c_char,
11947        label: *const c_char,
11948        icon: *mut gio::GIcon,
11949    );
11950    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11951    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11952    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11953    pub fn gtk_app_chooser_button_get_show_default_item(
11954        self_: *mut GtkAppChooserButton,
11955    ) -> gboolean;
11956    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11957    -> gboolean;
11958    pub fn gtk_app_chooser_button_set_active_custom_item(
11959        self_: *mut GtkAppChooserButton,
11960        name: *const c_char,
11961    );
11962    pub fn gtk_app_chooser_button_set_heading(
11963        self_: *mut GtkAppChooserButton,
11964        heading: *const c_char,
11965    );
11966    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11967    pub fn gtk_app_chooser_button_set_show_default_item(
11968        self_: *mut GtkAppChooserButton,
11969        setting: gboolean,
11970    );
11971    pub fn gtk_app_chooser_button_set_show_dialog_item(
11972        self_: *mut GtkAppChooserButton,
11973        setting: gboolean,
11974    );
11975
11976    //=========================================================================
11977    // GtkAppChooserDialog
11978    //=========================================================================
11979    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11980    pub fn gtk_app_chooser_dialog_new(
11981        parent: *mut GtkWindow,
11982        flags: GtkDialogFlags,
11983        file: *mut gio::GFile,
11984    ) -> *mut GtkWidget;
11985    pub fn gtk_app_chooser_dialog_new_for_content_type(
11986        parent: *mut GtkWindow,
11987        flags: GtkDialogFlags,
11988        content_type: *const c_char,
11989    ) -> *mut GtkWidget;
11990    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11991    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11992    pub fn gtk_app_chooser_dialog_set_heading(
11993        self_: *mut GtkAppChooserDialog,
11994        heading: *const c_char,
11995    );
11996
11997    //=========================================================================
11998    // GtkAppChooserWidget
11999    //=========================================================================
12000    pub fn gtk_app_chooser_widget_get_type() -> GType;
12001    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
12002    pub fn gtk_app_chooser_widget_get_default_text(
12003        self_: *mut GtkAppChooserWidget,
12004    ) -> *const c_char;
12005    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
12006    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
12007    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
12008    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
12009    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
12010    -> gboolean;
12011    pub fn gtk_app_chooser_widget_set_default_text(
12012        self_: *mut GtkAppChooserWidget,
12013        text: *const c_char,
12014    );
12015    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
12016    pub fn gtk_app_chooser_widget_set_show_default(
12017        self_: *mut GtkAppChooserWidget,
12018        setting: gboolean,
12019    );
12020    pub fn gtk_app_chooser_widget_set_show_fallback(
12021        self_: *mut GtkAppChooserWidget,
12022        setting: gboolean,
12023    );
12024    pub fn gtk_app_chooser_widget_set_show_other(
12025        self_: *mut GtkAppChooserWidget,
12026        setting: gboolean,
12027    );
12028    pub fn gtk_app_chooser_widget_set_show_recommended(
12029        self_: *mut GtkAppChooserWidget,
12030        setting: gboolean,
12031    );
12032
12033    //=========================================================================
12034    // GtkApplication
12035    //=========================================================================
12036    pub fn gtk_application_get_type() -> GType;
12037    pub fn gtk_application_new(
12038        application_id: *const c_char,
12039        flags: gio::GApplicationFlags,
12040    ) -> *mut GtkApplication;
12041    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
12042    #[cfg(feature = "v4_24")]
12043    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12044    pub fn gtk_application_forget(application: *mut GtkApplication);
12045    pub fn gtk_application_get_accels_for_action(
12046        application: *mut GtkApplication,
12047        detailed_action_name: *const c_char,
12048    ) -> *mut *mut c_char;
12049    pub fn gtk_application_get_actions_for_accel(
12050        application: *mut GtkApplication,
12051        accel: *const c_char,
12052    ) -> *mut *mut c_char;
12053    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
12054    pub fn gtk_application_get_menu_by_id(
12055        application: *mut GtkApplication,
12056        id: *const c_char,
12057    ) -> *mut gio::GMenu;
12058    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
12059    pub fn gtk_application_get_window_by_id(
12060        application: *mut GtkApplication,
12061        id: c_uint,
12062    ) -> *mut GtkWindow;
12063    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
12064    pub fn gtk_application_inhibit(
12065        application: *mut GtkApplication,
12066        window: *mut GtkWindow,
12067        flags: GtkApplicationInhibitFlags,
12068        reason: *const c_char,
12069    ) -> c_uint;
12070    pub fn gtk_application_list_action_descriptions(
12071        application: *mut GtkApplication,
12072    ) -> *mut *mut c_char;
12073    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
12074    #[cfg(feature = "v4_24")]
12075    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
12076    pub fn gtk_application_save(application: *mut GtkApplication);
12077    pub fn gtk_application_set_accels_for_action(
12078        application: *mut GtkApplication,
12079        detailed_action_name: *const c_char,
12080        accels: *const *const c_char,
12081    );
12082    pub fn gtk_application_set_menubar(
12083        application: *mut GtkApplication,
12084        menubar: *mut gio::GMenuModel,
12085    );
12086    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
12087
12088    //=========================================================================
12089    // GtkApplicationWindow
12090    //=========================================================================
12091    pub fn gtk_application_window_get_type() -> GType;
12092    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12093    pub fn gtk_application_window_get_help_overlay(
12094        window: *mut GtkApplicationWindow,
12095    ) -> *mut GtkShortcutsWindow;
12096    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12097    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12098    pub fn gtk_application_window_set_help_overlay(
12099        window: *mut GtkApplicationWindow,
12100        help_overlay: *mut GtkShortcutsWindow,
12101    );
12102    pub fn gtk_application_window_set_show_menubar(
12103        window: *mut GtkApplicationWindow,
12104        show_menubar: gboolean,
12105    );
12106
12107    //=========================================================================
12108    // GtkAspectFrame
12109    //=========================================================================
12110    pub fn gtk_aspect_frame_get_type() -> GType;
12111    pub fn gtk_aspect_frame_new(
12112        xalign: c_float,
12113        yalign: c_float,
12114        ratio: c_float,
12115        obey_child: gboolean,
12116    ) -> *mut GtkWidget;
12117    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12118    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12119    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12120    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12121    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12122    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12123    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12124    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12125    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12126    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12127
12128    //=========================================================================
12129    // GtkAssistant
12130    //=========================================================================
12131    pub fn gtk_assistant_get_type() -> GType;
12132    pub fn gtk_assistant_new() -> *mut GtkWidget;
12133    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12134    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12135    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12136    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12137    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12138    pub fn gtk_assistant_get_nth_page(
12139        assistant: *mut GtkAssistant,
12140        page_num: c_int,
12141    ) -> *mut GtkWidget;
12142    pub fn gtk_assistant_get_page(
12143        assistant: *mut GtkAssistant,
12144        child: *mut GtkWidget,
12145    ) -> *mut GtkAssistantPage;
12146    pub fn gtk_assistant_get_page_complete(
12147        assistant: *mut GtkAssistant,
12148        page: *mut GtkWidget,
12149    ) -> gboolean;
12150    pub fn gtk_assistant_get_page_title(
12151        assistant: *mut GtkAssistant,
12152        page: *mut GtkWidget,
12153    ) -> *const c_char;
12154    pub fn gtk_assistant_get_page_type(
12155        assistant: *mut GtkAssistant,
12156        page: *mut GtkWidget,
12157    ) -> GtkAssistantPageType;
12158    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12159    pub fn gtk_assistant_insert_page(
12160        assistant: *mut GtkAssistant,
12161        page: *mut GtkWidget,
12162        position: c_int,
12163    ) -> c_int;
12164    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12165    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12166    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12167    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12168    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12169    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12170    pub fn gtk_assistant_set_forward_page_func(
12171        assistant: *mut GtkAssistant,
12172        page_func: GtkAssistantPageFunc,
12173        data: gpointer,
12174        destroy: glib::GDestroyNotify,
12175    );
12176    pub fn gtk_assistant_set_page_complete(
12177        assistant: *mut GtkAssistant,
12178        page: *mut GtkWidget,
12179        complete: gboolean,
12180    );
12181    pub fn gtk_assistant_set_page_title(
12182        assistant: *mut GtkAssistant,
12183        page: *mut GtkWidget,
12184        title: *const c_char,
12185    );
12186    pub fn gtk_assistant_set_page_type(
12187        assistant: *mut GtkAssistant,
12188        page: *mut GtkWidget,
12189        type_: GtkAssistantPageType,
12190    );
12191    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12192
12193    //=========================================================================
12194    // GtkAssistantPage
12195    //=========================================================================
12196    pub fn gtk_assistant_page_get_type() -> GType;
12197    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12198
12199    //=========================================================================
12200    // GtkBinLayout
12201    //=========================================================================
12202    pub fn gtk_bin_layout_get_type() -> GType;
12203    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12204
12205    //=========================================================================
12206    // GtkBookmarkList
12207    //=========================================================================
12208    pub fn gtk_bookmark_list_get_type() -> GType;
12209    pub fn gtk_bookmark_list_new(
12210        filename: *const c_char,
12211        attributes: *const c_char,
12212    ) -> *mut GtkBookmarkList;
12213    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12214    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12215    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12216    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12217    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12218    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12219
12220    //=========================================================================
12221    // GtkBoolFilter
12222    //=========================================================================
12223    pub fn gtk_bool_filter_get_type() -> GType;
12224    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12225    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12226    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12227    pub fn gtk_bool_filter_set_expression(
12228        self_: *mut GtkBoolFilter,
12229        expression: *mut GtkExpression,
12230    );
12231    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12232
12233    //=========================================================================
12234    // GtkBox
12235    //=========================================================================
12236    pub fn gtk_box_get_type() -> GType;
12237    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12238    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12239    #[cfg(feature = "v4_12")]
12240    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12241    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12242    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12243    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12244    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12245    pub fn gtk_box_insert_child_after(
12246        box_: *mut GtkBox,
12247        child: *mut GtkWidget,
12248        sibling: *mut GtkWidget,
12249    );
12250    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12251    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12252    pub fn gtk_box_reorder_child_after(
12253        box_: *mut GtkBox,
12254        child: *mut GtkWidget,
12255        sibling: *mut GtkWidget,
12256    );
12257    #[cfg(feature = "v4_12")]
12258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12259    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12260    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12261    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12262    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12263
12264    //=========================================================================
12265    // GtkBoxLayout
12266    //=========================================================================
12267    pub fn gtk_box_layout_get_type() -> GType;
12268    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12269    #[cfg(feature = "v4_12")]
12270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12271    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12272    pub fn gtk_box_layout_get_baseline_position(
12273        box_layout: *mut GtkBoxLayout,
12274    ) -> GtkBaselinePosition;
12275    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12276    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12277    #[cfg(feature = "v4_12")]
12278    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12279    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12280    pub fn gtk_box_layout_set_baseline_position(
12281        box_layout: *mut GtkBoxLayout,
12282        position: GtkBaselinePosition,
12283    );
12284    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12285    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12286
12287    //=========================================================================
12288    // GtkBuilder
12289    //=========================================================================
12290    pub fn gtk_builder_get_type() -> GType;
12291    pub fn gtk_builder_new() -> *mut GtkBuilder;
12292    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12293    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12294    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12295    pub fn gtk_builder_add_from_file(
12296        builder: *mut GtkBuilder,
12297        filename: *const c_char,
12298        error: *mut *mut glib::GError,
12299    ) -> gboolean;
12300    pub fn gtk_builder_add_from_resource(
12301        builder: *mut GtkBuilder,
12302        resource_path: *const c_char,
12303        error: *mut *mut glib::GError,
12304    ) -> gboolean;
12305    pub fn gtk_builder_add_from_string(
12306        builder: *mut GtkBuilder,
12307        buffer: *const c_char,
12308        length: ssize_t,
12309        error: *mut *mut glib::GError,
12310    ) -> gboolean;
12311    pub fn gtk_builder_add_objects_from_file(
12312        builder: *mut GtkBuilder,
12313        filename: *const c_char,
12314        object_ids: *mut *const c_char,
12315        error: *mut *mut glib::GError,
12316    ) -> gboolean;
12317    pub fn gtk_builder_add_objects_from_resource(
12318        builder: *mut GtkBuilder,
12319        resource_path: *const c_char,
12320        object_ids: *mut *const c_char,
12321        error: *mut *mut glib::GError,
12322    ) -> gboolean;
12323    pub fn gtk_builder_add_objects_from_string(
12324        builder: *mut GtkBuilder,
12325        buffer: *const c_char,
12326        length: ssize_t,
12327        object_ids: *mut *const c_char,
12328        error: *mut *mut glib::GError,
12329    ) -> gboolean;
12330    pub fn gtk_builder_create_closure(
12331        builder: *mut GtkBuilder,
12332        function_name: *const c_char,
12333        flags: GtkBuilderClosureFlags,
12334        object: *mut gobject::GObject,
12335        error: *mut *mut glib::GError,
12336    ) -> *mut gobject::GClosure;
12337    pub fn gtk_builder_expose_object(
12338        builder: *mut GtkBuilder,
12339        name: *const c_char,
12340        object: *mut gobject::GObject,
12341    );
12342    pub fn gtk_builder_extend_with_template(
12343        builder: *mut GtkBuilder,
12344        object: *mut gobject::GObject,
12345        template_type: GType,
12346        buffer: *const c_char,
12347        length: ssize_t,
12348        error: *mut *mut glib::GError,
12349    ) -> gboolean;
12350    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12351    pub fn gtk_builder_get_object(
12352        builder: *mut GtkBuilder,
12353        name: *const c_char,
12354    ) -> *mut gobject::GObject;
12355    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12356    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12357    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12358    pub fn gtk_builder_get_type_from_name(
12359        builder: *mut GtkBuilder,
12360        type_name: *const c_char,
12361    ) -> GType;
12362    pub fn gtk_builder_set_current_object(
12363        builder: *mut GtkBuilder,
12364        current_object: *mut gobject::GObject,
12365    );
12366    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12367    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12368    pub fn gtk_builder_value_from_string(
12369        builder: *mut GtkBuilder,
12370        pspec: *mut gobject::GParamSpec,
12371        string: *const c_char,
12372        value: *mut gobject::GValue,
12373        error: *mut *mut glib::GError,
12374    ) -> gboolean;
12375    pub fn gtk_builder_value_from_string_type(
12376        builder: *mut GtkBuilder,
12377        type_: GType,
12378        string: *const c_char,
12379        value: *mut gobject::GValue,
12380        error: *mut *mut glib::GError,
12381    ) -> gboolean;
12382
12383    //=========================================================================
12384    // GtkBuilderCScope
12385    //=========================================================================
12386    pub fn gtk_builder_cscope_get_type() -> GType;
12387    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12388    pub fn gtk_builder_cscope_add_callback_symbol(
12389        self_: *mut GtkBuilderCScope,
12390        callback_name: *const c_char,
12391        callback_symbol: gobject::GCallback,
12392    );
12393    pub fn gtk_builder_cscope_add_callback_symbols(
12394        self_: *mut GtkBuilderCScope,
12395        first_callback_name: *const c_char,
12396        first_callback_symbol: gobject::GCallback,
12397        ...
12398    );
12399    pub fn gtk_builder_cscope_lookup_callback_symbol(
12400        self_: *mut GtkBuilderCScope,
12401        callback_name: *const c_char,
12402    ) -> gobject::GCallback;
12403
12404    //=========================================================================
12405    // GtkBuilderListItemFactory
12406    //=========================================================================
12407    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12408    pub fn gtk_builder_list_item_factory_new_from_bytes(
12409        scope: *mut GtkBuilderScope,
12410        bytes: *mut glib::GBytes,
12411    ) -> *mut GtkListItemFactory;
12412    pub fn gtk_builder_list_item_factory_new_from_resource(
12413        scope: *mut GtkBuilderScope,
12414        resource_path: *const c_char,
12415    ) -> *mut GtkListItemFactory;
12416    pub fn gtk_builder_list_item_factory_get_bytes(
12417        self_: *mut GtkBuilderListItemFactory,
12418    ) -> *mut glib::GBytes;
12419    pub fn gtk_builder_list_item_factory_get_resource(
12420        self_: *mut GtkBuilderListItemFactory,
12421    ) -> *const c_char;
12422    pub fn gtk_builder_list_item_factory_get_scope(
12423        self_: *mut GtkBuilderListItemFactory,
12424    ) -> *mut GtkBuilderScope;
12425
12426    //=========================================================================
12427    // GtkButton
12428    //=========================================================================
12429    pub fn gtk_button_get_type() -> GType;
12430    pub fn gtk_button_new() -> *mut GtkWidget;
12431    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12432    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12433    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12434    #[cfg(feature = "v4_12")]
12435    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12436    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12437    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12438    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12439    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12440    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12441    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12442    #[cfg(feature = "v4_12")]
12443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12444    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12445    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12446    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12447    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12448    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12449    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12450
12451    //=========================================================================
12452    // GtkCClosureExpression
12453    //=========================================================================
12454    pub fn gtk_cclosure_expression_get_type() -> GType;
12455    pub fn gtk_cclosure_expression_new(
12456        value_type: GType,
12457        marshal: gobject::GClosureMarshal,
12458        n_params: c_uint,
12459        params: *mut *mut GtkExpression,
12460        callback_func: gobject::GCallback,
12461        user_data: gpointer,
12462        user_destroy: gobject::GClosureNotify,
12463    ) -> *mut GtkCClosureExpression;
12464
12465    //=========================================================================
12466    // GtkCalendar
12467    //=========================================================================
12468    pub fn gtk_calendar_get_type() -> GType;
12469    pub fn gtk_calendar_new() -> *mut GtkWidget;
12470    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12471    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12472    #[cfg(feature = "v4_14")]
12473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12474    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12475    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12476    #[cfg(feature = "v4_14")]
12477    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12478    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12479    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12480    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12481    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12482    #[cfg(feature = "v4_14")]
12483    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12484    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12485    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12486    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12487    #[cfg(feature = "v4_20")]
12488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12489    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12490    #[cfg(feature = "v4_14")]
12491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12492    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12493    #[cfg(feature = "v4_14")]
12494    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12495    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12496    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12497    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12498    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12499    #[cfg(feature = "v4_14")]
12500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12501    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12502    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12503
12504    //=========================================================================
12505    // GtkCallbackAction
12506    //=========================================================================
12507    pub fn gtk_callback_action_get_type() -> GType;
12508    pub fn gtk_callback_action_new(
12509        callback: GtkShortcutFunc,
12510        data: gpointer,
12511        destroy: glib::GDestroyNotify,
12512    ) -> *mut GtkCallbackAction;
12513
12514    //=========================================================================
12515    // GtkCellArea
12516    //=========================================================================
12517    pub fn gtk_cell_area_get_type() -> GType;
12518    pub fn gtk_cell_area_activate(
12519        area: *mut GtkCellArea,
12520        context: *mut GtkCellAreaContext,
12521        widget: *mut GtkWidget,
12522        cell_area: *const gdk::GdkRectangle,
12523        flags: GtkCellRendererState,
12524        edit_only: gboolean,
12525    ) -> gboolean;
12526    pub fn gtk_cell_area_activate_cell(
12527        area: *mut GtkCellArea,
12528        widget: *mut GtkWidget,
12529        renderer: *mut GtkCellRenderer,
12530        event: *mut gdk::GdkEvent,
12531        cell_area: *const gdk::GdkRectangle,
12532        flags: GtkCellRendererState,
12533    ) -> gboolean;
12534    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12535    pub fn gtk_cell_area_add_focus_sibling(
12536        area: *mut GtkCellArea,
12537        renderer: *mut GtkCellRenderer,
12538        sibling: *mut GtkCellRenderer,
12539    );
12540    pub fn gtk_cell_area_add_with_properties(
12541        area: *mut GtkCellArea,
12542        renderer: *mut GtkCellRenderer,
12543        first_prop_name: *const c_char,
12544        ...
12545    );
12546    pub fn gtk_cell_area_apply_attributes(
12547        area: *mut GtkCellArea,
12548        tree_model: *mut GtkTreeModel,
12549        iter: *mut GtkTreeIter,
12550        is_expander: gboolean,
12551        is_expanded: gboolean,
12552    );
12553    pub fn gtk_cell_area_attribute_connect(
12554        area: *mut GtkCellArea,
12555        renderer: *mut GtkCellRenderer,
12556        attribute: *const c_char,
12557        column: c_int,
12558    );
12559    pub fn gtk_cell_area_attribute_disconnect(
12560        area: *mut GtkCellArea,
12561        renderer: *mut GtkCellRenderer,
12562        attribute: *const c_char,
12563    );
12564    pub fn gtk_cell_area_attribute_get_column(
12565        area: *mut GtkCellArea,
12566        renderer: *mut GtkCellRenderer,
12567        attribute: *const c_char,
12568    ) -> c_int;
12569    pub fn gtk_cell_area_cell_get(
12570        area: *mut GtkCellArea,
12571        renderer: *mut GtkCellRenderer,
12572        first_prop_name: *const c_char,
12573        ...
12574    );
12575    pub fn gtk_cell_area_cell_get_property(
12576        area: *mut GtkCellArea,
12577        renderer: *mut GtkCellRenderer,
12578        property_name: *const c_char,
12579        value: *mut gobject::GValue,
12580    );
12581    //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);
12582    pub fn gtk_cell_area_cell_set(
12583        area: *mut GtkCellArea,
12584        renderer: *mut GtkCellRenderer,
12585        first_prop_name: *const c_char,
12586        ...
12587    );
12588    pub fn gtk_cell_area_cell_set_property(
12589        area: *mut GtkCellArea,
12590        renderer: *mut GtkCellRenderer,
12591        property_name: *const c_char,
12592        value: *const gobject::GValue,
12593    );
12594    //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);
12595    pub fn gtk_cell_area_copy_context(
12596        area: *mut GtkCellArea,
12597        context: *mut GtkCellAreaContext,
12598    ) -> *mut GtkCellAreaContext;
12599    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12600    pub fn gtk_cell_area_event(
12601        area: *mut GtkCellArea,
12602        context: *mut GtkCellAreaContext,
12603        widget: *mut GtkWidget,
12604        event: *mut gdk::GdkEvent,
12605        cell_area: *const gdk::GdkRectangle,
12606        flags: GtkCellRendererState,
12607    ) -> c_int;
12608    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12609    pub fn gtk_cell_area_foreach(
12610        area: *mut GtkCellArea,
12611        callback: GtkCellCallback,
12612        callback_data: gpointer,
12613    );
12614    pub fn gtk_cell_area_foreach_alloc(
12615        area: *mut GtkCellArea,
12616        context: *mut GtkCellAreaContext,
12617        widget: *mut GtkWidget,
12618        cell_area: *const gdk::GdkRectangle,
12619        background_area: *const gdk::GdkRectangle,
12620        callback: GtkCellAllocCallback,
12621        callback_data: gpointer,
12622    );
12623    pub fn gtk_cell_area_get_cell_allocation(
12624        area: *mut GtkCellArea,
12625        context: *mut GtkCellAreaContext,
12626        widget: *mut GtkWidget,
12627        renderer: *mut GtkCellRenderer,
12628        cell_area: *const gdk::GdkRectangle,
12629        allocation: *mut gdk::GdkRectangle,
12630    );
12631    pub fn gtk_cell_area_get_cell_at_position(
12632        area: *mut GtkCellArea,
12633        context: *mut GtkCellAreaContext,
12634        widget: *mut GtkWidget,
12635        cell_area: *const gdk::GdkRectangle,
12636        x: c_int,
12637        y: c_int,
12638        alloc_area: *mut gdk::GdkRectangle,
12639    ) -> *mut GtkCellRenderer;
12640    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12641    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12642    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12643    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12644    pub fn gtk_cell_area_get_focus_from_sibling(
12645        area: *mut GtkCellArea,
12646        renderer: *mut GtkCellRenderer,
12647    ) -> *mut GtkCellRenderer;
12648    pub fn gtk_cell_area_get_focus_siblings(
12649        area: *mut GtkCellArea,
12650        renderer: *mut GtkCellRenderer,
12651    ) -> *const glib::GList;
12652    pub fn gtk_cell_area_get_preferred_height(
12653        area: *mut GtkCellArea,
12654        context: *mut GtkCellAreaContext,
12655        widget: *mut GtkWidget,
12656        minimum_height: *mut c_int,
12657        natural_height: *mut c_int,
12658    );
12659    pub fn gtk_cell_area_get_preferred_height_for_width(
12660        area: *mut GtkCellArea,
12661        context: *mut GtkCellAreaContext,
12662        widget: *mut GtkWidget,
12663        width: c_int,
12664        minimum_height: *mut c_int,
12665        natural_height: *mut c_int,
12666    );
12667    pub fn gtk_cell_area_get_preferred_width(
12668        area: *mut GtkCellArea,
12669        context: *mut GtkCellAreaContext,
12670        widget: *mut GtkWidget,
12671        minimum_width: *mut c_int,
12672        natural_width: *mut c_int,
12673    );
12674    pub fn gtk_cell_area_get_preferred_width_for_height(
12675        area: *mut GtkCellArea,
12676        context: *mut GtkCellAreaContext,
12677        widget: *mut GtkWidget,
12678        height: c_int,
12679        minimum_width: *mut c_int,
12680        natural_width: *mut c_int,
12681    );
12682    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12683    pub fn gtk_cell_area_has_renderer(
12684        area: *mut GtkCellArea,
12685        renderer: *mut GtkCellRenderer,
12686    ) -> gboolean;
12687    pub fn gtk_cell_area_inner_cell_area(
12688        area: *mut GtkCellArea,
12689        widget: *mut GtkWidget,
12690        cell_area: *const gdk::GdkRectangle,
12691        inner_area: *mut gdk::GdkRectangle,
12692    );
12693    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12694    pub fn gtk_cell_area_is_focus_sibling(
12695        area: *mut GtkCellArea,
12696        renderer: *mut GtkCellRenderer,
12697        sibling: *mut GtkCellRenderer,
12698    ) -> gboolean;
12699    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12700    pub fn gtk_cell_area_remove_focus_sibling(
12701        area: *mut GtkCellArea,
12702        renderer: *mut GtkCellRenderer,
12703        sibling: *mut GtkCellRenderer,
12704    );
12705    pub fn gtk_cell_area_request_renderer(
12706        area: *mut GtkCellArea,
12707        renderer: *mut GtkCellRenderer,
12708        orientation: GtkOrientation,
12709        widget: *mut GtkWidget,
12710        for_size: c_int,
12711        minimum_size: *mut c_int,
12712        natural_size: *mut c_int,
12713    );
12714    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12715    pub fn gtk_cell_area_snapshot(
12716        area: *mut GtkCellArea,
12717        context: *mut GtkCellAreaContext,
12718        widget: *mut GtkWidget,
12719        snapshot: *mut GtkSnapshot,
12720        background_area: *const gdk::GdkRectangle,
12721        cell_area: *const gdk::GdkRectangle,
12722        flags: GtkCellRendererState,
12723        paint_focus: gboolean,
12724    );
12725    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12726
12727    //=========================================================================
12728    // GtkCellAreaBox
12729    //=========================================================================
12730    pub fn gtk_cell_area_box_get_type() -> GType;
12731    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12732    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12733    pub fn gtk_cell_area_box_pack_end(
12734        box_: *mut GtkCellAreaBox,
12735        renderer: *mut GtkCellRenderer,
12736        expand: gboolean,
12737        align: gboolean,
12738        fixed: gboolean,
12739    );
12740    pub fn gtk_cell_area_box_pack_start(
12741        box_: *mut GtkCellAreaBox,
12742        renderer: *mut GtkCellRenderer,
12743        expand: gboolean,
12744        align: gboolean,
12745        fixed: gboolean,
12746    );
12747    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12748
12749    //=========================================================================
12750    // GtkCellAreaContext
12751    //=========================================================================
12752    pub fn gtk_cell_area_context_get_type() -> GType;
12753    pub fn gtk_cell_area_context_allocate(
12754        context: *mut GtkCellAreaContext,
12755        width: c_int,
12756        height: c_int,
12757    );
12758    pub fn gtk_cell_area_context_get_allocation(
12759        context: *mut GtkCellAreaContext,
12760        width: *mut c_int,
12761        height: *mut c_int,
12762    );
12763    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12764    pub fn gtk_cell_area_context_get_preferred_height(
12765        context: *mut GtkCellAreaContext,
12766        minimum_height: *mut c_int,
12767        natural_height: *mut c_int,
12768    );
12769    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12770        context: *mut GtkCellAreaContext,
12771        width: c_int,
12772        minimum_height: *mut c_int,
12773        natural_height: *mut c_int,
12774    );
12775    pub fn gtk_cell_area_context_get_preferred_width(
12776        context: *mut GtkCellAreaContext,
12777        minimum_width: *mut c_int,
12778        natural_width: *mut c_int,
12779    );
12780    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12781        context: *mut GtkCellAreaContext,
12782        height: c_int,
12783        minimum_width: *mut c_int,
12784        natural_width: *mut c_int,
12785    );
12786    pub fn gtk_cell_area_context_push_preferred_height(
12787        context: *mut GtkCellAreaContext,
12788        minimum_height: c_int,
12789        natural_height: c_int,
12790    );
12791    pub fn gtk_cell_area_context_push_preferred_width(
12792        context: *mut GtkCellAreaContext,
12793        minimum_width: c_int,
12794        natural_width: c_int,
12795    );
12796    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12797
12798    //=========================================================================
12799    // GtkCellRenderer
12800    //=========================================================================
12801    pub fn gtk_cell_renderer_get_type() -> GType;
12802    pub fn gtk_cell_renderer_activate(
12803        cell: *mut GtkCellRenderer,
12804        event: *mut gdk::GdkEvent,
12805        widget: *mut GtkWidget,
12806        path: *const c_char,
12807        background_area: *const gdk::GdkRectangle,
12808        cell_area: *const gdk::GdkRectangle,
12809        flags: GtkCellRendererState,
12810    ) -> gboolean;
12811    pub fn gtk_cell_renderer_get_aligned_area(
12812        cell: *mut GtkCellRenderer,
12813        widget: *mut GtkWidget,
12814        flags: GtkCellRendererState,
12815        cell_area: *const gdk::GdkRectangle,
12816        aligned_area: *mut gdk::GdkRectangle,
12817    );
12818    pub fn gtk_cell_renderer_get_alignment(
12819        cell: *mut GtkCellRenderer,
12820        xalign: *mut c_float,
12821        yalign: *mut c_float,
12822    );
12823    pub fn gtk_cell_renderer_get_fixed_size(
12824        cell: *mut GtkCellRenderer,
12825        width: *mut c_int,
12826        height: *mut c_int,
12827    );
12828    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12829    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12830    pub fn gtk_cell_renderer_get_padding(
12831        cell: *mut GtkCellRenderer,
12832        xpad: *mut c_int,
12833        ypad: *mut c_int,
12834    );
12835    pub fn gtk_cell_renderer_get_preferred_height(
12836        cell: *mut GtkCellRenderer,
12837        widget: *mut GtkWidget,
12838        minimum_size: *mut c_int,
12839        natural_size: *mut c_int,
12840    );
12841    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12842        cell: *mut GtkCellRenderer,
12843        widget: *mut GtkWidget,
12844        width: c_int,
12845        minimum_height: *mut c_int,
12846        natural_height: *mut c_int,
12847    );
12848    pub fn gtk_cell_renderer_get_preferred_size(
12849        cell: *mut GtkCellRenderer,
12850        widget: *mut GtkWidget,
12851        minimum_size: *mut GtkRequisition,
12852        natural_size: *mut GtkRequisition,
12853    );
12854    pub fn gtk_cell_renderer_get_preferred_width(
12855        cell: *mut GtkCellRenderer,
12856        widget: *mut GtkWidget,
12857        minimum_size: *mut c_int,
12858        natural_size: *mut c_int,
12859    );
12860    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12861        cell: *mut GtkCellRenderer,
12862        widget: *mut GtkWidget,
12863        height: c_int,
12864        minimum_width: *mut c_int,
12865        natural_width: *mut c_int,
12866    );
12867    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12868    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12869    pub fn gtk_cell_renderer_get_state(
12870        cell: *mut GtkCellRenderer,
12871        widget: *mut GtkWidget,
12872        cell_state: GtkCellRendererState,
12873    ) -> GtkStateFlags;
12874    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12875    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12876    pub fn gtk_cell_renderer_set_alignment(
12877        cell: *mut GtkCellRenderer,
12878        xalign: c_float,
12879        yalign: c_float,
12880    );
12881    pub fn gtk_cell_renderer_set_fixed_size(
12882        cell: *mut GtkCellRenderer,
12883        width: c_int,
12884        height: c_int,
12885    );
12886    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12887    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12888    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12889    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12890    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12891    pub fn gtk_cell_renderer_snapshot(
12892        cell: *mut GtkCellRenderer,
12893        snapshot: *mut GtkSnapshot,
12894        widget: *mut GtkWidget,
12895        background_area: *const gdk::GdkRectangle,
12896        cell_area: *const gdk::GdkRectangle,
12897        flags: GtkCellRendererState,
12898    );
12899    pub fn gtk_cell_renderer_start_editing(
12900        cell: *mut GtkCellRenderer,
12901        event: *mut gdk::GdkEvent,
12902        widget: *mut GtkWidget,
12903        path: *const c_char,
12904        background_area: *const gdk::GdkRectangle,
12905        cell_area: *const gdk::GdkRectangle,
12906        flags: GtkCellRendererState,
12907    ) -> *mut GtkCellEditable;
12908    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12909
12910    //=========================================================================
12911    // GtkCellRendererAccel
12912    //=========================================================================
12913    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12914    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12915
12916    //=========================================================================
12917    // GtkCellRendererCombo
12918    //=========================================================================
12919    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12920    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12921
12922    //=========================================================================
12923    // GtkCellRendererPixbuf
12924    //=========================================================================
12925    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12926    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12927
12928    //=========================================================================
12929    // GtkCellRendererProgress
12930    //=========================================================================
12931    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12932    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12933
12934    //=========================================================================
12935    // GtkCellRendererSpin
12936    //=========================================================================
12937    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12938    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12939
12940    //=========================================================================
12941    // GtkCellRendererSpinner
12942    //=========================================================================
12943    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12944    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12945
12946    //=========================================================================
12947    // GtkCellRendererText
12948    //=========================================================================
12949    pub fn gtk_cell_renderer_text_get_type() -> GType;
12950    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12951    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12952        renderer: *mut GtkCellRendererText,
12953        number_of_rows: c_int,
12954    );
12955
12956    //=========================================================================
12957    // GtkCellRendererToggle
12958    //=========================================================================
12959    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12960    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12961    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12962    -> gboolean;
12963    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12964    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12965    pub fn gtk_cell_renderer_toggle_set_activatable(
12966        toggle: *mut GtkCellRendererToggle,
12967        setting: gboolean,
12968    );
12969    pub fn gtk_cell_renderer_toggle_set_active(
12970        toggle: *mut GtkCellRendererToggle,
12971        setting: gboolean,
12972    );
12973    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12974
12975    //=========================================================================
12976    // GtkCellView
12977    //=========================================================================
12978    pub fn gtk_cell_view_get_type() -> GType;
12979    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12980    pub fn gtk_cell_view_new_with_context(
12981        area: *mut GtkCellArea,
12982        context: *mut GtkCellAreaContext,
12983    ) -> *mut GtkWidget;
12984    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12985    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12986    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12987    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12988    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12989    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12990    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12991    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12992    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12993    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12994    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
12995
12996    //=========================================================================
12997    // GtkCenterBox
12998    //=========================================================================
12999    pub fn gtk_center_box_get_type() -> GType;
13000    pub fn gtk_center_box_new() -> *mut GtkWidget;
13001    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
13002    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13003    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13004    #[cfg(feature = "v4_12")]
13005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13006    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
13007    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
13008    pub fn gtk_center_box_set_baseline_position(
13009        self_: *mut GtkCenterBox,
13010        position: GtkBaselinePosition,
13011    );
13012    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13013    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13014    #[cfg(feature = "v4_12")]
13015    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13016    pub fn gtk_center_box_set_shrink_center_last(
13017        self_: *mut GtkCenterBox,
13018        shrink_center_last: gboolean,
13019    );
13020    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13021
13022    //=========================================================================
13023    // GtkCenterLayout
13024    //=========================================================================
13025    pub fn gtk_center_layout_get_type() -> GType;
13026    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
13027    pub fn gtk_center_layout_get_baseline_position(
13028        self_: *mut GtkCenterLayout,
13029    ) -> GtkBaselinePosition;
13030    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13031    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13032    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
13033    #[cfg(feature = "v4_12")]
13034    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13035    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
13036    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13037    pub fn gtk_center_layout_set_baseline_position(
13038        self_: *mut GtkCenterLayout,
13039        baseline_position: GtkBaselinePosition,
13040    );
13041    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13042    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13043    pub fn gtk_center_layout_set_orientation(
13044        self_: *mut GtkCenterLayout,
13045        orientation: GtkOrientation,
13046    );
13047    #[cfg(feature = "v4_12")]
13048    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13049    pub fn gtk_center_layout_set_shrink_center_last(
13050        self_: *mut GtkCenterLayout,
13051        shrink_center_last: gboolean,
13052    );
13053    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13054
13055    //=========================================================================
13056    // GtkCheckButton
13057    //=========================================================================
13058    pub fn gtk_check_button_get_type() -> GType;
13059    pub fn gtk_check_button_new() -> *mut GtkWidget;
13060    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
13061    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13062    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
13063    #[cfg(feature = "v4_8")]
13064    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13065    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
13066    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
13067    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
13068    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
13069    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
13070    #[cfg(feature = "v4_8")]
13071    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13072    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
13073    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
13074    pub fn gtk_check_button_set_inconsistent(
13075        check_button: *mut GtkCheckButton,
13076        inconsistent: gboolean,
13077    );
13078    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
13079    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
13080
13081    //=========================================================================
13082    // GtkClosureExpression
13083    //=========================================================================
13084    pub fn gtk_closure_expression_get_type() -> GType;
13085    pub fn gtk_closure_expression_new(
13086        value_type: GType,
13087        closure: *mut gobject::GClosure,
13088        n_params: c_uint,
13089        params: *mut *mut GtkExpression,
13090    ) -> *mut GtkClosureExpression;
13091
13092    //=========================================================================
13093    // GtkColorButton
13094    //=========================================================================
13095    pub fn gtk_color_button_get_type() -> GType;
13096    pub fn gtk_color_button_new() -> *mut GtkWidget;
13097    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13098    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13099    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13100    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13101    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13102
13103    //=========================================================================
13104    // GtkColorChooserDialog
13105    //=========================================================================
13106    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13107    pub fn gtk_color_chooser_dialog_new(
13108        title: *const c_char,
13109        parent: *mut GtkWindow,
13110    ) -> *mut GtkWidget;
13111
13112    //=========================================================================
13113    // GtkColorChooserWidget
13114    //=========================================================================
13115    pub fn gtk_color_chooser_widget_get_type() -> GType;
13116    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13117
13118    //=========================================================================
13119    // GtkColorDialog
13120    //=========================================================================
13121    #[cfg(feature = "v4_10")]
13122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13123    pub fn gtk_color_dialog_get_type() -> GType;
13124    #[cfg(feature = "v4_10")]
13125    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13126    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13127    #[cfg(feature = "v4_10")]
13128    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13129    pub fn gtk_color_dialog_choose_rgba(
13130        self_: *mut GtkColorDialog,
13131        parent: *mut GtkWindow,
13132        initial_color: *const gdk::GdkRGBA,
13133        cancellable: *mut gio::GCancellable,
13134        callback: gio::GAsyncReadyCallback,
13135        user_data: gpointer,
13136    );
13137    #[cfg(feature = "v4_10")]
13138    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13139    pub fn gtk_color_dialog_choose_rgba_finish(
13140        self_: *mut GtkColorDialog,
13141        result: *mut gio::GAsyncResult,
13142        error: *mut *mut glib::GError,
13143    ) -> *mut gdk::GdkRGBA;
13144    #[cfg(feature = "v4_10")]
13145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13146    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13147    #[cfg(feature = "v4_10")]
13148    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13149    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13150    #[cfg(feature = "v4_10")]
13151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13152    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13153    #[cfg(feature = "v4_10")]
13154    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13155    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13156    #[cfg(feature = "v4_10")]
13157    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13158    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13159    #[cfg(feature = "v4_10")]
13160    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13161    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13162
13163    //=========================================================================
13164    // GtkColorDialogButton
13165    //=========================================================================
13166    #[cfg(feature = "v4_10")]
13167    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13168    pub fn gtk_color_dialog_button_get_type() -> GType;
13169    #[cfg(feature = "v4_10")]
13170    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13171    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13172    #[cfg(feature = "v4_10")]
13173    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13174    pub fn gtk_color_dialog_button_get_dialog(
13175        self_: *mut GtkColorDialogButton,
13176    ) -> *mut GtkColorDialog;
13177    #[cfg(feature = "v4_10")]
13178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13179    pub fn gtk_color_dialog_button_get_rgba(
13180        self_: *mut GtkColorDialogButton,
13181    ) -> *const gdk::GdkRGBA;
13182    #[cfg(feature = "v4_10")]
13183    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13184    pub fn gtk_color_dialog_button_set_dialog(
13185        self_: *mut GtkColorDialogButton,
13186        dialog: *mut GtkColorDialog,
13187    );
13188    #[cfg(feature = "v4_10")]
13189    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13190    pub fn gtk_color_dialog_button_set_rgba(
13191        self_: *mut GtkColorDialogButton,
13192        color: *const gdk::GdkRGBA,
13193    );
13194
13195    //=========================================================================
13196    // GtkColumnView
13197    //=========================================================================
13198    pub fn gtk_column_view_get_type() -> GType;
13199    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13200    pub fn gtk_column_view_append_column(
13201        self_: *mut GtkColumnView,
13202        column: *mut GtkColumnViewColumn,
13203    );
13204    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13205    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13206    #[cfg(feature = "v4_12")]
13207    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13208    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13209    -> *mut GtkListItemFactory;
13210    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13211    pub fn gtk_column_view_get_reorderable(self_: *mut GtkColumnView) -> gboolean;
13212    #[cfg(feature = "v4_12")]
13213    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13214    pub fn gtk_column_view_get_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13215    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13216    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13217    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13218    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13219    #[cfg(feature = "v4_12")]
13220    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13221    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13222    pub fn gtk_column_view_insert_column(
13223        self_: *mut GtkColumnView,
13224        position: c_uint,
13225        column: *mut GtkColumnViewColumn,
13226    );
13227    pub fn gtk_column_view_remove_column(
13228        self_: *mut GtkColumnView,
13229        column: *mut GtkColumnViewColumn,
13230    );
13231    #[cfg(feature = "v4_12")]
13232    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13233    pub fn gtk_column_view_scroll_to(
13234        self_: *mut GtkColumnView,
13235        pos: c_uint,
13236        column: *mut GtkColumnViewColumn,
13237        flags: GtkListScrollFlags,
13238        scroll: *mut GtkScrollInfo,
13239    );
13240    pub fn gtk_column_view_set_enable_rubberband(
13241        self_: *mut GtkColumnView,
13242        enable_rubberband: gboolean,
13243    );
13244    #[cfg(feature = "v4_12")]
13245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13246    pub fn gtk_column_view_set_header_factory(
13247        self_: *mut GtkColumnView,
13248        factory: *mut GtkListItemFactory,
13249    );
13250    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13251    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13252    #[cfg(feature = "v4_12")]
13253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13254    pub fn gtk_column_view_set_row_factory(
13255        self_: *mut GtkColumnView,
13256        factory: *mut GtkListItemFactory,
13257    );
13258    pub fn gtk_column_view_set_show_column_separators(
13259        self_: *mut GtkColumnView,
13260        show_column_separators: gboolean,
13261    );
13262    pub fn gtk_column_view_set_show_row_separators(
13263        self_: *mut GtkColumnView,
13264        show_row_separators: gboolean,
13265    );
13266    pub fn gtk_column_view_set_single_click_activate(
13267        self_: *mut GtkColumnView,
13268        single_click_activate: gboolean,
13269    );
13270    #[cfg(feature = "v4_12")]
13271    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13272    pub fn gtk_column_view_set_tab_behavior(
13273        self_: *mut GtkColumnView,
13274        tab_behavior: GtkListTabBehavior,
13275    );
13276    pub fn gtk_column_view_sort_by_column(
13277        self_: *mut GtkColumnView,
13278        column: *mut GtkColumnViewColumn,
13279        direction: GtkSortType,
13280    );
13281
13282    //=========================================================================
13283    // GtkColumnViewCell
13284    //=========================================================================
13285    #[cfg(feature = "v4_12")]
13286    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13287    pub fn gtk_column_view_cell_get_type() -> GType;
13288    #[cfg(feature = "v4_12")]
13289    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13290    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13291    #[cfg(feature = "v4_12")]
13292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13293    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13294    #[cfg(feature = "v4_12")]
13295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13296    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13297    #[cfg(feature = "v4_12")]
13298    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13299    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13300    #[cfg(feature = "v4_12")]
13301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13302    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13303    #[cfg(feature = "v4_12")]
13304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13305    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13306    #[cfg(feature = "v4_12")]
13307    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13308    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13309
13310    //=========================================================================
13311    // GtkColumnViewColumn
13312    //=========================================================================
13313    pub fn gtk_column_view_column_get_type() -> GType;
13314    pub fn gtk_column_view_column_new(
13315        title: *const c_char,
13316        factory: *mut GtkListItemFactory,
13317    ) -> *mut GtkColumnViewColumn;
13318    pub fn gtk_column_view_column_get_column_view(
13319        self_: *mut GtkColumnViewColumn,
13320    ) -> *mut GtkColumnView;
13321    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13322    pub fn gtk_column_view_column_get_factory(
13323        self_: *mut GtkColumnViewColumn,
13324    ) -> *mut GtkListItemFactory;
13325    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13326    pub fn gtk_column_view_column_get_header_menu(
13327        self_: *mut GtkColumnViewColumn,
13328    ) -> *mut gio::GMenuModel;
13329    #[cfg(feature = "v4_10")]
13330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13331    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13332    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13333    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13334    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13335    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13336    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13337    pub fn gtk_column_view_column_set_factory(
13338        self_: *mut GtkColumnViewColumn,
13339        factory: *mut GtkListItemFactory,
13340    );
13341    pub fn gtk_column_view_column_set_fixed_width(
13342        self_: *mut GtkColumnViewColumn,
13343        fixed_width: c_int,
13344    );
13345    pub fn gtk_column_view_column_set_header_menu(
13346        self_: *mut GtkColumnViewColumn,
13347        menu: *mut gio::GMenuModel,
13348    );
13349    #[cfg(feature = "v4_10")]
13350    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13351    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13352    pub fn gtk_column_view_column_set_resizable(
13353        self_: *mut GtkColumnViewColumn,
13354        resizable: gboolean,
13355    );
13356    pub fn gtk_column_view_column_set_sorter(
13357        self_: *mut GtkColumnViewColumn,
13358        sorter: *mut GtkSorter,
13359    );
13360    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13361    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13362
13363    //=========================================================================
13364    // GtkColumnViewRow
13365    //=========================================================================
13366    #[cfg(feature = "v4_12")]
13367    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13368    pub fn gtk_column_view_row_get_type() -> GType;
13369    #[cfg(feature = "v4_12")]
13370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13371    pub fn gtk_column_view_row_get_accessible_description(
13372        self_: *mut GtkColumnViewRow,
13373    ) -> *const c_char;
13374    #[cfg(feature = "v4_12")]
13375    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13376    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13377    #[cfg(feature = "v4_12")]
13378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13379    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13380    #[cfg(feature = "v4_12")]
13381    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13382    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13383    #[cfg(feature = "v4_12")]
13384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13385    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13386    #[cfg(feature = "v4_12")]
13387    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13388    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13389    #[cfg(feature = "v4_12")]
13390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13391    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13392    #[cfg(feature = "v4_12")]
13393    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13394    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13395    #[cfg(feature = "v4_12")]
13396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13397    pub fn gtk_column_view_row_set_accessible_description(
13398        self_: *mut GtkColumnViewRow,
13399        description: *const c_char,
13400    );
13401    #[cfg(feature = "v4_12")]
13402    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13403    pub fn gtk_column_view_row_set_accessible_label(
13404        self_: *mut GtkColumnViewRow,
13405        label: *const c_char,
13406    );
13407    #[cfg(feature = "v4_12")]
13408    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13409    pub fn gtk_column_view_row_set_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13410    #[cfg(feature = "v4_12")]
13411    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13412    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13413    #[cfg(feature = "v4_12")]
13414    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13415    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13416
13417    //=========================================================================
13418    // GtkColumnViewSorter
13419    //=========================================================================
13420    #[cfg(feature = "v4_10")]
13421    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13422    pub fn gtk_column_view_sorter_get_type() -> GType;
13423    #[cfg(feature = "v4_10")]
13424    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13425    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13426    #[cfg(feature = "v4_10")]
13427    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13428    pub fn gtk_column_view_sorter_get_nth_sort_column(
13429        self_: *mut GtkColumnViewSorter,
13430        position: c_uint,
13431        sort_order: *mut GtkSortType,
13432    ) -> *mut GtkColumnViewColumn;
13433    #[cfg(feature = "v4_10")]
13434    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13435    pub fn gtk_column_view_sorter_get_primary_sort_column(
13436        self_: *mut GtkColumnViewSorter,
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_order(
13441        self_: *mut GtkColumnViewSorter,
13442    ) -> GtkSortType;
13443
13444    //=========================================================================
13445    // GtkComboBox
13446    //=========================================================================
13447    pub fn gtk_combo_box_get_type() -> GType;
13448    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13449    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13450    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13451    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13452    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13453    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13454    pub fn gtk_combo_box_get_active_iter(
13455        combo_box: *mut GtkComboBox,
13456        iter: *mut GtkTreeIter,
13457    ) -> gboolean;
13458    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13459    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13460    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13461    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13462    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13463    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13464    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13465    pub fn gtk_combo_box_get_row_separator_func(
13466        combo_box: *mut GtkComboBox,
13467    ) -> GtkTreeViewRowSeparatorFunc;
13468    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13469    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13470    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13471    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13472    pub fn gtk_combo_box_set_active_id(
13473        combo_box: *mut GtkComboBox,
13474        active_id: *const c_char,
13475    ) -> gboolean;
13476    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13477    pub fn gtk_combo_box_set_button_sensitivity(
13478        combo_box: *mut GtkComboBox,
13479        sensitivity: GtkSensitivityType,
13480    );
13481    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13482    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13483    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13484    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13485    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13486    pub fn gtk_combo_box_set_row_separator_func(
13487        combo_box: *mut GtkComboBox,
13488        func: GtkTreeViewRowSeparatorFunc,
13489        data: gpointer,
13490        destroy: glib::GDestroyNotify,
13491    );
13492
13493    //=========================================================================
13494    // GtkComboBoxText
13495    //=========================================================================
13496    pub fn gtk_combo_box_text_get_type() -> GType;
13497    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13498    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13499    pub fn gtk_combo_box_text_append(
13500        combo_box: *mut GtkComboBoxText,
13501        id: *const c_char,
13502        text: *const c_char,
13503    );
13504    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13505    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13506    pub fn gtk_combo_box_text_insert(
13507        combo_box: *mut GtkComboBoxText,
13508        position: c_int,
13509        id: *const c_char,
13510        text: *const c_char,
13511    );
13512    pub fn gtk_combo_box_text_insert_text(
13513        combo_box: *mut GtkComboBoxText,
13514        position: c_int,
13515        text: *const c_char,
13516    );
13517    pub fn gtk_combo_box_text_prepend(
13518        combo_box: *mut GtkComboBoxText,
13519        id: *const c_char,
13520        text: *const c_char,
13521    );
13522    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13523    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13524    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13525
13526    //=========================================================================
13527    // GtkConstantExpression
13528    //=========================================================================
13529    pub fn gtk_constant_expression_get_type() -> GType;
13530    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13531    pub fn gtk_constant_expression_new_for_value(
13532        value: *const gobject::GValue,
13533    ) -> *mut GtkConstantExpression;
13534    pub fn gtk_constant_expression_get_value(
13535        expression: *mut GtkConstantExpression,
13536    ) -> *const gobject::GValue;
13537
13538    //=========================================================================
13539    // GtkConstraint
13540    //=========================================================================
13541    pub fn gtk_constraint_get_type() -> GType;
13542    pub fn gtk_constraint_new(
13543        target: *mut GtkConstraintTarget,
13544        target_attribute: GtkConstraintAttribute,
13545        relation: GtkConstraintRelation,
13546        source: *mut GtkConstraintTarget,
13547        source_attribute: GtkConstraintAttribute,
13548        multiplier: c_double,
13549        constant: c_double,
13550        strength: c_int,
13551    ) -> *mut GtkConstraint;
13552    pub fn gtk_constraint_new_constant(
13553        target: *mut GtkConstraintTarget,
13554        target_attribute: GtkConstraintAttribute,
13555        relation: GtkConstraintRelation,
13556        constant: c_double,
13557        strength: c_int,
13558    ) -> *mut GtkConstraint;
13559    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13560    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13561    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13562    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13563    pub fn gtk_constraint_get_source_attribute(
13564        constraint: *mut GtkConstraint,
13565    ) -> GtkConstraintAttribute;
13566    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13567    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13568    pub fn gtk_constraint_get_target_attribute(
13569        constraint: *mut GtkConstraint,
13570    ) -> GtkConstraintAttribute;
13571    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13572    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13573    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13574
13575    //=========================================================================
13576    // GtkConstraintGuide
13577    //=========================================================================
13578    pub fn gtk_constraint_guide_get_type() -> GType;
13579    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13580    pub fn gtk_constraint_guide_get_max_size(
13581        guide: *mut GtkConstraintGuide,
13582        width: *mut c_int,
13583        height: *mut c_int,
13584    );
13585    pub fn gtk_constraint_guide_get_min_size(
13586        guide: *mut GtkConstraintGuide,
13587        width: *mut c_int,
13588        height: *mut c_int,
13589    );
13590    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13591    pub fn gtk_constraint_guide_get_nat_size(
13592        guide: *mut GtkConstraintGuide,
13593        width: *mut c_int,
13594        height: *mut c_int,
13595    );
13596    pub fn gtk_constraint_guide_get_strength(
13597        guide: *mut GtkConstraintGuide,
13598    ) -> GtkConstraintStrength;
13599    pub fn gtk_constraint_guide_set_max_size(
13600        guide: *mut GtkConstraintGuide,
13601        width: c_int,
13602        height: c_int,
13603    );
13604    pub fn gtk_constraint_guide_set_min_size(
13605        guide: *mut GtkConstraintGuide,
13606        width: c_int,
13607        height: c_int,
13608    );
13609    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13610    pub fn gtk_constraint_guide_set_nat_size(
13611        guide: *mut GtkConstraintGuide,
13612        width: c_int,
13613        height: c_int,
13614    );
13615    pub fn gtk_constraint_guide_set_strength(
13616        guide: *mut GtkConstraintGuide,
13617        strength: GtkConstraintStrength,
13618    );
13619
13620    //=========================================================================
13621    // GtkConstraintLayout
13622    //=========================================================================
13623    pub fn gtk_constraint_layout_get_type() -> GType;
13624    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13625    pub fn gtk_constraint_layout_add_constraint(
13626        layout: *mut GtkConstraintLayout,
13627        constraint: *mut GtkConstraint,
13628    );
13629    pub fn gtk_constraint_layout_add_constraints_from_description(
13630        layout: *mut GtkConstraintLayout,
13631        lines: *const *const c_char,
13632        n_lines: size_t,
13633        hspacing: c_int,
13634        vspacing: c_int,
13635        error: *mut *mut glib::GError,
13636        first_view: *const c_char,
13637        ...
13638    ) -> *mut glib::GList;
13639    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13640        layout: *mut GtkConstraintLayout,
13641        lines: *const *const c_char,
13642        n_lines: size_t,
13643        hspacing: c_int,
13644        vspacing: c_int,
13645        views: *mut glib::GHashTable,
13646        error: *mut *mut glib::GError,
13647    ) -> *mut glib::GList;
13648    pub fn gtk_constraint_layout_add_guide(
13649        layout: *mut GtkConstraintLayout,
13650        guide: *mut GtkConstraintGuide,
13651    );
13652    pub fn gtk_constraint_layout_observe_constraints(
13653        layout: *mut GtkConstraintLayout,
13654    ) -> *mut gio::GListModel;
13655    pub fn gtk_constraint_layout_observe_guides(
13656        layout: *mut GtkConstraintLayout,
13657    ) -> *mut gio::GListModel;
13658    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13659    pub fn gtk_constraint_layout_remove_constraint(
13660        layout: *mut GtkConstraintLayout,
13661        constraint: *mut GtkConstraint,
13662    );
13663    pub fn gtk_constraint_layout_remove_guide(
13664        layout: *mut GtkConstraintLayout,
13665        guide: *mut GtkConstraintGuide,
13666    );
13667
13668    //=========================================================================
13669    // GtkConstraintLayoutChild
13670    //=========================================================================
13671    pub fn gtk_constraint_layout_child_get_type() -> GType;
13672
13673    //=========================================================================
13674    // GtkCssProvider
13675    //=========================================================================
13676    pub fn gtk_css_provider_get_type() -> GType;
13677    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13678    #[cfg(feature = "v4_12")]
13679    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13680    pub fn gtk_css_provider_load_from_bytes(
13681        css_provider: *mut GtkCssProvider,
13682        data: *mut glib::GBytes,
13683    );
13684    pub fn gtk_css_provider_load_from_data(
13685        css_provider: *mut GtkCssProvider,
13686        data: *const c_char,
13687        length: ssize_t,
13688    );
13689    pub fn gtk_css_provider_load_from_file(
13690        css_provider: *mut GtkCssProvider,
13691        file: *mut gio::GFile,
13692    );
13693    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13694    pub fn gtk_css_provider_load_from_resource(
13695        css_provider: *mut GtkCssProvider,
13696        resource_path: *const c_char,
13697    );
13698    #[cfg(feature = "v4_12")]
13699    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13700    pub fn gtk_css_provider_load_from_string(
13701        css_provider: *mut GtkCssProvider,
13702        string: *const c_char,
13703    );
13704    pub fn gtk_css_provider_load_named(
13705        provider: *mut GtkCssProvider,
13706        name: *const c_char,
13707        variant: *const c_char,
13708    );
13709    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13710
13711    //=========================================================================
13712    // GtkCustomFilter
13713    //=========================================================================
13714    pub fn gtk_custom_filter_get_type() -> GType;
13715    pub fn gtk_custom_filter_new(
13716        match_func: GtkCustomFilterFunc,
13717        user_data: gpointer,
13718        user_destroy: glib::GDestroyNotify,
13719    ) -> *mut GtkCustomFilter;
13720    pub fn gtk_custom_filter_set_filter_func(
13721        self_: *mut GtkCustomFilter,
13722        match_func: GtkCustomFilterFunc,
13723        user_data: gpointer,
13724        user_destroy: glib::GDestroyNotify,
13725    );
13726
13727    //=========================================================================
13728    // GtkCustomLayout
13729    //=========================================================================
13730    pub fn gtk_custom_layout_get_type() -> GType;
13731    pub fn gtk_custom_layout_new(
13732        request_mode: GtkCustomRequestModeFunc,
13733        measure: GtkCustomMeasureFunc,
13734        allocate: GtkCustomAllocateFunc,
13735    ) -> *mut GtkLayoutManager;
13736
13737    //=========================================================================
13738    // GtkCustomSorter
13739    //=========================================================================
13740    pub fn gtk_custom_sorter_get_type() -> GType;
13741    pub fn gtk_custom_sorter_new(
13742        sort_func: glib::GCompareDataFunc,
13743        user_data: gpointer,
13744        user_destroy: glib::GDestroyNotify,
13745    ) -> *mut GtkCustomSorter;
13746    pub fn gtk_custom_sorter_set_sort_func(
13747        self_: *mut GtkCustomSorter,
13748        sort_func: glib::GCompareDataFunc,
13749        user_data: gpointer,
13750        user_destroy: glib::GDestroyNotify,
13751    );
13752
13753    //=========================================================================
13754    // GtkDialog
13755    //=========================================================================
13756    pub fn gtk_dialog_get_type() -> GType;
13757    pub fn gtk_dialog_new() -> *mut GtkWidget;
13758    pub fn gtk_dialog_new_with_buttons(
13759        title: *const c_char,
13760        parent: *mut GtkWindow,
13761        flags: GtkDialogFlags,
13762        first_button_text: *const c_char,
13763        ...
13764    ) -> *mut GtkWidget;
13765    pub fn gtk_dialog_add_action_widget(
13766        dialog: *mut GtkDialog,
13767        child: *mut GtkWidget,
13768        response_id: GtkResponseType,
13769    );
13770    pub fn gtk_dialog_add_button(
13771        dialog: *mut GtkDialog,
13772        button_text: *const c_char,
13773        response_id: GtkResponseType,
13774    ) -> *mut GtkWidget;
13775    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13776    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13777    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13778    pub fn gtk_dialog_get_response_for_widget(
13779        dialog: *mut GtkDialog,
13780        widget: *mut GtkWidget,
13781    ) -> c_int;
13782    pub fn gtk_dialog_get_widget_for_response(
13783        dialog: *mut GtkDialog,
13784        response_id: GtkResponseType,
13785    ) -> *mut GtkWidget;
13786    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13787    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13788    pub fn gtk_dialog_set_response_sensitive(
13789        dialog: *mut GtkDialog,
13790        response_id: GtkResponseType,
13791        setting: gboolean,
13792    );
13793
13794    //=========================================================================
13795    // GtkDirectoryList
13796    //=========================================================================
13797    pub fn gtk_directory_list_get_type() -> GType;
13798    pub fn gtk_directory_list_new(
13799        attributes: *const c_char,
13800        file: *mut gio::GFile,
13801    ) -> *mut GtkDirectoryList;
13802    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13803    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13804    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13805    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13806    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13807    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13808    pub fn gtk_directory_list_set_attributes(
13809        self_: *mut GtkDirectoryList,
13810        attributes: *const c_char,
13811    );
13812    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13813    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13814    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13815
13816    //=========================================================================
13817    // GtkDragIcon
13818    //=========================================================================
13819    pub fn gtk_drag_icon_get_type() -> GType;
13820    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13821    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13822    pub fn gtk_drag_icon_set_from_paintable(
13823        drag: *mut gdk::GdkDrag,
13824        paintable: *mut gdk::GdkPaintable,
13825        hot_x: c_int,
13826        hot_y: c_int,
13827    );
13828    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13829    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13830
13831    //=========================================================================
13832    // GtkDragSource
13833    //=========================================================================
13834    pub fn gtk_drag_source_get_type() -> GType;
13835    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13836    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13837    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13838    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13839    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13840    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13841    pub fn gtk_drag_source_set_content(
13842        source: *mut GtkDragSource,
13843        content: *mut gdk::GdkContentProvider,
13844    );
13845    pub fn gtk_drag_source_set_icon(
13846        source: *mut GtkDragSource,
13847        paintable: *mut gdk::GdkPaintable,
13848        hot_x: c_int,
13849        hot_y: c_int,
13850    );
13851
13852    //=========================================================================
13853    // GtkDrawingArea
13854    //=========================================================================
13855    pub fn gtk_drawing_area_get_type() -> GType;
13856    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13857    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13858    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13859    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13860    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13861    pub fn gtk_drawing_area_set_draw_func(
13862        self_: *mut GtkDrawingArea,
13863        draw_func: GtkDrawingAreaDrawFunc,
13864        user_data: gpointer,
13865        destroy: glib::GDestroyNotify,
13866    );
13867
13868    //=========================================================================
13869    // GtkDropControllerMotion
13870    //=========================================================================
13871    pub fn gtk_drop_controller_motion_get_type() -> GType;
13872    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13873    pub fn gtk_drop_controller_motion_contains_pointer(
13874        self_: *mut GtkDropControllerMotion,
13875    ) -> gboolean;
13876    pub fn gtk_drop_controller_motion_get_drop(
13877        self_: *mut GtkDropControllerMotion,
13878    ) -> *mut gdk::GdkDrop;
13879    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13880
13881    //=========================================================================
13882    // GtkDropDown
13883    //=========================================================================
13884    pub fn gtk_drop_down_get_type() -> GType;
13885    pub fn gtk_drop_down_new(
13886        model: *mut gio::GListModel,
13887        expression: *mut GtkExpression,
13888    ) -> *mut GtkWidget;
13889    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13890    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13891    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13892    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13893    #[cfg(feature = "v4_12")]
13894    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13895    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13896    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13897    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13898    #[cfg(feature = "v4_12")]
13899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13900    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13901    -> GtkStringFilterMatchMode;
13902    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13903    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13904    #[cfg(feature = "v4_6")]
13905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13906    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13907    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13908    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13909    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13910    #[cfg(feature = "v4_12")]
13911    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13912    pub fn gtk_drop_down_set_header_factory(
13913        self_: *mut GtkDropDown,
13914        factory: *mut GtkListItemFactory,
13915    );
13916    pub fn gtk_drop_down_set_list_factory(
13917        self_: *mut GtkDropDown,
13918        factory: *mut GtkListItemFactory,
13919    );
13920    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13921    #[cfg(feature = "v4_12")]
13922    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13923    pub fn gtk_drop_down_set_search_match_mode(
13924        self_: *mut GtkDropDown,
13925        search_match_mode: GtkStringFilterMatchMode,
13926    );
13927    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13928    #[cfg(feature = "v4_6")]
13929    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13930    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13931
13932    //=========================================================================
13933    // GtkDropTarget
13934    //=========================================================================
13935    pub fn gtk_drop_target_get_type() -> GType;
13936    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13937    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13938    #[cfg(feature = "v4_4")]
13939    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13940    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13941    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13942    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13943    pub fn gtk_drop_target_get_gtypes(
13944        self_: *mut GtkDropTarget,
13945        n_types: *mut size_t,
13946    ) -> *const GType;
13947    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13948    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13949    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13950    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13951    pub fn gtk_drop_target_set_gtypes(
13952        self_: *mut GtkDropTarget,
13953        types: *mut GType,
13954        n_types: size_t,
13955    );
13956    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13957
13958    //=========================================================================
13959    // GtkDropTargetAsync
13960    //=========================================================================
13961    pub fn gtk_drop_target_async_get_type() -> GType;
13962    pub fn gtk_drop_target_async_new(
13963        formats: *mut gdk::GdkContentFormats,
13964        actions: gdk::GdkDragAction,
13965    ) -> *mut GtkDropTargetAsync;
13966    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13967    pub fn gtk_drop_target_async_get_formats(
13968        self_: *mut GtkDropTargetAsync,
13969    ) -> *mut gdk::GdkContentFormats;
13970    pub fn gtk_drop_target_async_reject_drop(
13971        self_: *mut GtkDropTargetAsync,
13972        drop: *mut gdk::GdkDrop,
13973    );
13974    pub fn gtk_drop_target_async_set_actions(
13975        self_: *mut GtkDropTargetAsync,
13976        actions: gdk::GdkDragAction,
13977    );
13978    pub fn gtk_drop_target_async_set_formats(
13979        self_: *mut GtkDropTargetAsync,
13980        formats: *mut gdk::GdkContentFormats,
13981    );
13982
13983    //=========================================================================
13984    // GtkEditableLabel
13985    //=========================================================================
13986    pub fn gtk_editable_label_get_type() -> GType;
13987    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13988    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13989    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13990    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13991
13992    //=========================================================================
13993    // GtkEmojiChooser
13994    //=========================================================================
13995    pub fn gtk_emoji_chooser_get_type() -> GType;
13996    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
13997
13998    //=========================================================================
13999    // GtkEntry
14000    //=========================================================================
14001    pub fn gtk_entry_get_type() -> GType;
14002    pub fn gtk_entry_new() -> *mut GtkWidget;
14003    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
14004    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
14005    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
14006    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
14007    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
14008    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
14009    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
14010    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
14011    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
14012    pub fn gtk_entry_get_icon_activatable(
14013        entry: *mut GtkEntry,
14014        icon_pos: GtkEntryIconPosition,
14015    ) -> gboolean;
14016    pub fn gtk_entry_get_icon_area(
14017        entry: *mut GtkEntry,
14018        icon_pos: GtkEntryIconPosition,
14019        icon_area: *mut gdk::GdkRectangle,
14020    );
14021    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
14022    pub fn gtk_entry_get_icon_gicon(
14023        entry: *mut GtkEntry,
14024        icon_pos: GtkEntryIconPosition,
14025    ) -> *mut gio::GIcon;
14026    pub fn gtk_entry_get_icon_name(
14027        entry: *mut GtkEntry,
14028        icon_pos: GtkEntryIconPosition,
14029    ) -> *const c_char;
14030    pub fn gtk_entry_get_icon_paintable(
14031        entry: *mut GtkEntry,
14032        icon_pos: GtkEntryIconPosition,
14033    ) -> *mut gdk::GdkPaintable;
14034    pub fn gtk_entry_get_icon_sensitive(
14035        entry: *mut GtkEntry,
14036        icon_pos: GtkEntryIconPosition,
14037    ) -> gboolean;
14038    pub fn gtk_entry_get_icon_storage_type(
14039        entry: *mut GtkEntry,
14040        icon_pos: GtkEntryIconPosition,
14041    ) -> GtkImageType;
14042    pub fn gtk_entry_get_icon_tooltip_markup(
14043        entry: *mut GtkEntry,
14044        icon_pos: GtkEntryIconPosition,
14045    ) -> *mut c_char;
14046    pub fn gtk_entry_get_icon_tooltip_text(
14047        entry: *mut GtkEntry,
14048        icon_pos: GtkEntryIconPosition,
14049    ) -> *mut c_char;
14050    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
14051    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
14052    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
14053    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
14054    #[cfg(feature = "v4_20")]
14055    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14056    pub fn gtk_entry_get_menu_entry_icon_text(
14057        entry: *mut GtkEntry,
14058        icon_pos: GtkEntryIconPosition,
14059    ) -> *const c_char;
14060    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
14061    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
14062    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
14063    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
14064    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
14065    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
14066    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
14067    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
14068    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
14069    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
14070    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
14071    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
14072    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
14073    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
14074    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
14075    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
14076    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
14077    pub fn gtk_entry_set_icon_activatable(
14078        entry: *mut GtkEntry,
14079        icon_pos: GtkEntryIconPosition,
14080        activatable: gboolean,
14081    );
14082    pub fn gtk_entry_set_icon_drag_source(
14083        entry: *mut GtkEntry,
14084        icon_pos: GtkEntryIconPosition,
14085        provider: *mut gdk::GdkContentProvider,
14086        actions: gdk::GdkDragAction,
14087    );
14088    pub fn gtk_entry_set_icon_from_gicon(
14089        entry: *mut GtkEntry,
14090        icon_pos: GtkEntryIconPosition,
14091        icon: *mut gio::GIcon,
14092    );
14093    pub fn gtk_entry_set_icon_from_icon_name(
14094        entry: *mut GtkEntry,
14095        icon_pos: GtkEntryIconPosition,
14096        icon_name: *const c_char,
14097    );
14098    pub fn gtk_entry_set_icon_from_paintable(
14099        entry: *mut GtkEntry,
14100        icon_pos: GtkEntryIconPosition,
14101        paintable: *mut gdk::GdkPaintable,
14102    );
14103    pub fn gtk_entry_set_icon_sensitive(
14104        entry: *mut GtkEntry,
14105        icon_pos: GtkEntryIconPosition,
14106        sensitive: gboolean,
14107    );
14108    pub fn gtk_entry_set_icon_tooltip_markup(
14109        entry: *mut GtkEntry,
14110        icon_pos: GtkEntryIconPosition,
14111        tooltip: *const c_char,
14112    );
14113    pub fn gtk_entry_set_icon_tooltip_text(
14114        entry: *mut GtkEntry,
14115        icon_pos: GtkEntryIconPosition,
14116        tooltip: *const c_char,
14117    );
14118    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14119    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14120    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14121    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14122    #[cfg(feature = "v4_20")]
14123    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14124    pub fn gtk_entry_set_menu_entry_icon_text(
14125        entry: *mut GtkEntry,
14126        icon_pos: GtkEntryIconPosition,
14127        text: *const c_char,
14128    );
14129    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14130    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14131    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14132    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14133    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14134    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14135    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14136
14137    //=========================================================================
14138    // GtkEntryBuffer
14139    //=========================================================================
14140    pub fn gtk_entry_buffer_get_type() -> GType;
14141    pub fn gtk_entry_buffer_new(
14142        initial_chars: *const c_char,
14143        n_initial_chars: c_int,
14144    ) -> *mut GtkEntryBuffer;
14145    pub fn gtk_entry_buffer_delete_text(
14146        buffer: *mut GtkEntryBuffer,
14147        position: c_uint,
14148        n_chars: c_int,
14149    ) -> c_uint;
14150    pub fn gtk_entry_buffer_emit_deleted_text(
14151        buffer: *mut GtkEntryBuffer,
14152        position: c_uint,
14153        n_chars: c_uint,
14154    );
14155    pub fn gtk_entry_buffer_emit_inserted_text(
14156        buffer: *mut GtkEntryBuffer,
14157        position: c_uint,
14158        chars: *const c_char,
14159        n_chars: c_uint,
14160    );
14161    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14162    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14163    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14164    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14165    pub fn gtk_entry_buffer_insert_text(
14166        buffer: *mut GtkEntryBuffer,
14167        position: c_uint,
14168        chars: *const c_char,
14169        n_chars: c_int,
14170    ) -> c_uint;
14171    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14172    pub fn gtk_entry_buffer_set_text(
14173        buffer: *mut GtkEntryBuffer,
14174        chars: *const c_char,
14175        n_chars: c_int,
14176    );
14177
14178    //=========================================================================
14179    // GtkEntryCompletion
14180    //=========================================================================
14181    pub fn gtk_entry_completion_get_type() -> GType;
14182    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14183    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14184    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14185    pub fn gtk_entry_completion_compute_prefix(
14186        completion: *mut GtkEntryCompletion,
14187        key: *const c_char,
14188    ) -> *mut c_char;
14189    pub fn gtk_entry_completion_get_completion_prefix(
14190        completion: *mut GtkEntryCompletion,
14191    ) -> *const c_char;
14192    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14193    pub fn gtk_entry_completion_get_inline_completion(
14194        completion: *mut GtkEntryCompletion,
14195    ) -> gboolean;
14196    pub fn gtk_entry_completion_get_inline_selection(
14197        completion: *mut GtkEntryCompletion,
14198    ) -> gboolean;
14199    pub fn gtk_entry_completion_get_minimum_key_length(
14200        completion: *mut GtkEntryCompletion,
14201    ) -> c_int;
14202    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14203    -> *mut GtkTreeModel;
14204    pub fn gtk_entry_completion_get_popup_completion(
14205        completion: *mut GtkEntryCompletion,
14206    ) -> gboolean;
14207    pub fn gtk_entry_completion_get_popup_set_width(
14208        completion: *mut GtkEntryCompletion,
14209    ) -> gboolean;
14210    pub fn gtk_entry_completion_get_popup_single_match(
14211        completion: *mut GtkEntryCompletion,
14212    ) -> gboolean;
14213    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14214    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14215    pub fn gtk_entry_completion_set_inline_completion(
14216        completion: *mut GtkEntryCompletion,
14217        inline_completion: gboolean,
14218    );
14219    pub fn gtk_entry_completion_set_inline_selection(
14220        completion: *mut GtkEntryCompletion,
14221        inline_selection: gboolean,
14222    );
14223    pub fn gtk_entry_completion_set_match_func(
14224        completion: *mut GtkEntryCompletion,
14225        func: GtkEntryCompletionMatchFunc,
14226        func_data: gpointer,
14227        func_notify: glib::GDestroyNotify,
14228    );
14229    pub fn gtk_entry_completion_set_minimum_key_length(
14230        completion: *mut GtkEntryCompletion,
14231        length: c_int,
14232    );
14233    pub fn gtk_entry_completion_set_model(
14234        completion: *mut GtkEntryCompletion,
14235        model: *mut GtkTreeModel,
14236    );
14237    pub fn gtk_entry_completion_set_popup_completion(
14238        completion: *mut GtkEntryCompletion,
14239        popup_completion: gboolean,
14240    );
14241    pub fn gtk_entry_completion_set_popup_set_width(
14242        completion: *mut GtkEntryCompletion,
14243        popup_set_width: gboolean,
14244    );
14245    pub fn gtk_entry_completion_set_popup_single_match(
14246        completion: *mut GtkEntryCompletion,
14247        popup_single_match: gboolean,
14248    );
14249    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14250
14251    //=========================================================================
14252    // GtkEnumList
14253    //=========================================================================
14254    #[cfg(feature = "v4_24")]
14255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14256    pub fn gtk_enum_list_get_type() -> GType;
14257    #[cfg(feature = "v4_24")]
14258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14259    pub fn gtk_enum_list_new(enum_type: GType) -> *mut GtkEnumList;
14260    #[cfg(feature = "v4_24")]
14261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14262    pub fn gtk_enum_list_find(self_: *mut GtkEnumList, value: c_int) -> c_uint;
14263    #[cfg(feature = "v4_24")]
14264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14265    pub fn gtk_enum_list_get_enum_type(self_: *mut GtkEnumList) -> GType;
14266
14267    //=========================================================================
14268    // GtkEnumListItem
14269    //=========================================================================
14270    #[cfg(feature = "v4_24")]
14271    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14272    pub fn gtk_enum_list_item_get_type() -> GType;
14273    #[cfg(feature = "v4_24")]
14274    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14275    pub fn gtk_enum_list_item_get_name(self_: *mut GtkEnumListItem) -> *const c_char;
14276    #[cfg(feature = "v4_24")]
14277    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14278    pub fn gtk_enum_list_item_get_nick(self_: *mut GtkEnumListItem) -> *const c_char;
14279    #[cfg(feature = "v4_24")]
14280    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14281    pub fn gtk_enum_list_item_get_value(self_: *mut GtkEnumListItem) -> c_int;
14282
14283    //=========================================================================
14284    // GtkEventController
14285    //=========================================================================
14286    pub fn gtk_event_controller_get_type() -> GType;
14287    pub fn gtk_event_controller_get_current_event(
14288        controller: *mut GtkEventController,
14289    ) -> *mut gdk::GdkEvent;
14290    pub fn gtk_event_controller_get_current_event_device(
14291        controller: *mut GtkEventController,
14292    ) -> *mut gdk::GdkDevice;
14293    pub fn gtk_event_controller_get_current_event_state(
14294        controller: *mut GtkEventController,
14295    ) -> gdk::GdkModifierType;
14296    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14297    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14298    pub fn gtk_event_controller_get_propagation_limit(
14299        controller: *mut GtkEventController,
14300    ) -> GtkPropagationLimit;
14301    pub fn gtk_event_controller_get_propagation_phase(
14302        controller: *mut GtkEventController,
14303    ) -> GtkPropagationPhase;
14304    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14305    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14306    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14307    pub fn gtk_event_controller_set_propagation_limit(
14308        controller: *mut GtkEventController,
14309        limit: GtkPropagationLimit,
14310    );
14311    pub fn gtk_event_controller_set_propagation_phase(
14312        controller: *mut GtkEventController,
14313        phase: GtkPropagationPhase,
14314    );
14315    #[cfg(feature = "v4_8")]
14316    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14317    pub fn gtk_event_controller_set_static_name(
14318        controller: *mut GtkEventController,
14319        name: *const c_char,
14320    );
14321
14322    //=========================================================================
14323    // GtkEventControllerFocus
14324    //=========================================================================
14325    pub fn gtk_event_controller_focus_get_type() -> GType;
14326    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14327    pub fn gtk_event_controller_focus_contains_focus(
14328        self_: *mut GtkEventControllerFocus,
14329    ) -> gboolean;
14330    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14331
14332    //=========================================================================
14333    // GtkEventControllerKey
14334    //=========================================================================
14335    pub fn gtk_event_controller_key_get_type() -> GType;
14336    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14337    pub fn gtk_event_controller_key_forward(
14338        controller: *mut GtkEventControllerKey,
14339        widget: *mut GtkWidget,
14340    ) -> gboolean;
14341    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14342    pub fn gtk_event_controller_key_get_im_context(
14343        controller: *mut GtkEventControllerKey,
14344    ) -> *mut GtkIMContext;
14345    pub fn gtk_event_controller_key_set_im_context(
14346        controller: *mut GtkEventControllerKey,
14347        im_context: *mut GtkIMContext,
14348    );
14349
14350    //=========================================================================
14351    // GtkEventControllerLegacy
14352    //=========================================================================
14353    pub fn gtk_event_controller_legacy_get_type() -> GType;
14354    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14355
14356    //=========================================================================
14357    // GtkEventControllerMotion
14358    //=========================================================================
14359    pub fn gtk_event_controller_motion_get_type() -> GType;
14360    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14361    pub fn gtk_event_controller_motion_contains_pointer(
14362        self_: *mut GtkEventControllerMotion,
14363    ) -> gboolean;
14364    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14365    -> gboolean;
14366
14367    //=========================================================================
14368    // GtkEventControllerScroll
14369    //=========================================================================
14370    pub fn gtk_event_controller_scroll_get_type() -> GType;
14371    pub fn gtk_event_controller_scroll_new(
14372        flags: GtkEventControllerScrollFlags,
14373    ) -> *mut GtkEventController;
14374    pub fn gtk_event_controller_scroll_get_flags(
14375        scroll: *mut GtkEventControllerScroll,
14376    ) -> GtkEventControllerScrollFlags;
14377    #[cfg(feature = "v4_8")]
14378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14379    pub fn gtk_event_controller_scroll_get_unit(
14380        scroll: *mut GtkEventControllerScroll,
14381    ) -> gdk::GdkScrollUnit;
14382    pub fn gtk_event_controller_scroll_set_flags(
14383        scroll: *mut GtkEventControllerScroll,
14384        flags: GtkEventControllerScrollFlags,
14385    );
14386
14387    //=========================================================================
14388    // GtkEveryFilter
14389    //=========================================================================
14390    pub fn gtk_every_filter_get_type() -> GType;
14391    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14392
14393    //=========================================================================
14394    // GtkExpander
14395    //=========================================================================
14396    pub fn gtk_expander_get_type() -> GType;
14397    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14398    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14399    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14400    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14401    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14402    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14403    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14404    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14405    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14406    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14407    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14408    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14409    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14410    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14411    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14412    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14413
14414    //=========================================================================
14415    // GtkExpression
14416    //=========================================================================
14417    pub fn gtk_expression_get_type() -> GType;
14418    pub fn gtk_expression_bind(
14419        self_: *mut GtkExpression,
14420        target: *mut gobject::GObject,
14421        property: *const c_char,
14422        this_: *mut gobject::GObject,
14423    ) -> *mut GtkExpressionWatch;
14424    pub fn gtk_expression_evaluate(
14425        self_: *mut GtkExpression,
14426        this_: *mut gobject::GObject,
14427        value: *mut gobject::GValue,
14428    ) -> gboolean;
14429    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14430    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14431    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14432    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14433    pub fn gtk_expression_watch(
14434        self_: *mut GtkExpression,
14435        this_: *mut gobject::GObject,
14436        notify: GtkExpressionNotify,
14437        user_data: gpointer,
14438        user_destroy: glib::GDestroyNotify,
14439    ) -> *mut GtkExpressionWatch;
14440
14441    //=========================================================================
14442    // GtkFileChooserDialog
14443    //=========================================================================
14444    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14445    pub fn gtk_file_chooser_dialog_new(
14446        title: *const c_char,
14447        parent: *mut GtkWindow,
14448        action: GtkFileChooserAction,
14449        first_button_text: *const c_char,
14450        ...
14451    ) -> *mut GtkWidget;
14452
14453    //=========================================================================
14454    // GtkFileChooserNative
14455    //=========================================================================
14456    pub fn gtk_file_chooser_native_get_type() -> GType;
14457    pub fn gtk_file_chooser_native_new(
14458        title: *const c_char,
14459        parent: *mut GtkWindow,
14460        action: GtkFileChooserAction,
14461        accept_label: *const c_char,
14462        cancel_label: *const c_char,
14463    ) -> *mut GtkFileChooserNative;
14464    pub fn gtk_file_chooser_native_get_accept_label(
14465        self_: *mut GtkFileChooserNative,
14466    ) -> *const c_char;
14467    pub fn gtk_file_chooser_native_get_cancel_label(
14468        self_: *mut GtkFileChooserNative,
14469    ) -> *const c_char;
14470    pub fn gtk_file_chooser_native_set_accept_label(
14471        self_: *mut GtkFileChooserNative,
14472        accept_label: *const c_char,
14473    );
14474    pub fn gtk_file_chooser_native_set_cancel_label(
14475        self_: *mut GtkFileChooserNative,
14476        cancel_label: *const c_char,
14477    );
14478
14479    //=========================================================================
14480    // GtkFileChooserWidget
14481    //=========================================================================
14482    pub fn gtk_file_chooser_widget_get_type() -> GType;
14483    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14484
14485    //=========================================================================
14486    // GtkFileDialog
14487    //=========================================================================
14488    #[cfg(feature = "v4_10")]
14489    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14490    pub fn gtk_file_dialog_get_type() -> GType;
14491    #[cfg(feature = "v4_10")]
14492    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14493    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14494    #[cfg(feature = "v4_10")]
14495    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14496    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14497    #[cfg(feature = "v4_10")]
14498    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14499    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14500    #[cfg(feature = "v4_10")]
14501    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14502    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14503    #[cfg(feature = "v4_10")]
14504    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14505    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14506    #[cfg(feature = "v4_10")]
14507    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14508    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14509    #[cfg(feature = "v4_10")]
14510    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14511    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14512    #[cfg(feature = "v4_10")]
14513    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14514    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14515    #[cfg(feature = "v4_10")]
14516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14517    pub fn gtk_file_dialog_get_title(self_: *mut GtkFileDialog) -> *const c_char;
14518    #[cfg(feature = "v4_10")]
14519    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14520    pub fn gtk_file_dialog_open(
14521        self_: *mut GtkFileDialog,
14522        parent: *mut GtkWindow,
14523        cancellable: *mut gio::GCancellable,
14524        callback: gio::GAsyncReadyCallback,
14525        user_data: gpointer,
14526    );
14527    #[cfg(feature = "v4_10")]
14528    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14529    pub fn gtk_file_dialog_open_finish(
14530        self_: *mut GtkFileDialog,
14531        result: *mut gio::GAsyncResult,
14532        error: *mut *mut glib::GError,
14533    ) -> *mut gio::GFile;
14534    #[cfg(feature = "v4_10")]
14535    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14536    pub fn gtk_file_dialog_open_multiple(
14537        self_: *mut GtkFileDialog,
14538        parent: *mut GtkWindow,
14539        cancellable: *mut gio::GCancellable,
14540        callback: gio::GAsyncReadyCallback,
14541        user_data: gpointer,
14542    );
14543    #[cfg(feature = "v4_10")]
14544    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14545    pub fn gtk_file_dialog_open_multiple_finish(
14546        self_: *mut GtkFileDialog,
14547        result: *mut gio::GAsyncResult,
14548        error: *mut *mut glib::GError,
14549    ) -> *mut gio::GListModel;
14550    #[cfg(feature = "v4_18")]
14551    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14552    pub fn gtk_file_dialog_open_multiple_text_files(
14553        self_: *mut GtkFileDialog,
14554        parent: *mut GtkWindow,
14555        cancellable: *mut gio::GCancellable,
14556        callback: gio::GAsyncReadyCallback,
14557        user_data: gpointer,
14558    );
14559    #[cfg(feature = "v4_18")]
14560    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14561    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14562        self_: *mut GtkFileDialog,
14563        result: *mut gio::GAsyncResult,
14564        encoding: *mut *const c_char,
14565        error: *mut *mut glib::GError,
14566    ) -> *mut gio::GListModel;
14567    #[cfg(feature = "v4_18")]
14568    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14569    pub fn gtk_file_dialog_open_text_file(
14570        self_: *mut GtkFileDialog,
14571        parent: *mut GtkWindow,
14572        cancellable: *mut gio::GCancellable,
14573        callback: gio::GAsyncReadyCallback,
14574        user_data: gpointer,
14575    );
14576    #[cfg(feature = "v4_18")]
14577    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14578    pub fn gtk_file_dialog_open_text_file_finish(
14579        self_: *mut GtkFileDialog,
14580        result: *mut gio::GAsyncResult,
14581        encoding: *mut *const c_char,
14582        error: *mut *mut glib::GError,
14583    ) -> *mut gio::GFile;
14584    #[cfg(feature = "v4_10")]
14585    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14586    pub fn gtk_file_dialog_save(
14587        self_: *mut GtkFileDialog,
14588        parent: *mut GtkWindow,
14589        cancellable: *mut gio::GCancellable,
14590        callback: gio::GAsyncReadyCallback,
14591        user_data: gpointer,
14592    );
14593    #[cfg(feature = "v4_10")]
14594    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14595    pub fn gtk_file_dialog_save_finish(
14596        self_: *mut GtkFileDialog,
14597        result: *mut gio::GAsyncResult,
14598        error: *mut *mut glib::GError,
14599    ) -> *mut gio::GFile;
14600    #[cfg(feature = "v4_18")]
14601    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14602    pub fn gtk_file_dialog_save_text_file(
14603        self_: *mut GtkFileDialog,
14604        parent: *mut GtkWindow,
14605        cancellable: *mut gio::GCancellable,
14606        callback: gio::GAsyncReadyCallback,
14607        user_data: gpointer,
14608    );
14609    #[cfg(feature = "v4_18")]
14610    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14611    pub fn gtk_file_dialog_save_text_file_finish(
14612        self_: *mut GtkFileDialog,
14613        result: *mut gio::GAsyncResult,
14614        encoding: *mut *const c_char,
14615        line_ending: *mut *const c_char,
14616        error: *mut *mut glib::GError,
14617    ) -> *mut gio::GFile;
14618    #[cfg(feature = "v4_10")]
14619    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14620    pub fn gtk_file_dialog_select_folder(
14621        self_: *mut GtkFileDialog,
14622        parent: *mut GtkWindow,
14623        cancellable: *mut gio::GCancellable,
14624        callback: gio::GAsyncReadyCallback,
14625        user_data: gpointer,
14626    );
14627    #[cfg(feature = "v4_10")]
14628    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14629    pub fn gtk_file_dialog_select_folder_finish(
14630        self_: *mut GtkFileDialog,
14631        result: *mut gio::GAsyncResult,
14632        error: *mut *mut glib::GError,
14633    ) -> *mut gio::GFile;
14634    #[cfg(feature = "v4_10")]
14635    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14636    pub fn gtk_file_dialog_select_multiple_folders(
14637        self_: *mut GtkFileDialog,
14638        parent: *mut GtkWindow,
14639        cancellable: *mut gio::GCancellable,
14640        callback: gio::GAsyncReadyCallback,
14641        user_data: gpointer,
14642    );
14643    #[cfg(feature = "v4_10")]
14644    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14645    pub fn gtk_file_dialog_select_multiple_folders_finish(
14646        self_: *mut GtkFileDialog,
14647        result: *mut gio::GAsyncResult,
14648        error: *mut *mut glib::GError,
14649    ) -> *mut gio::GListModel;
14650    #[cfg(feature = "v4_10")]
14651    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14652    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14653    #[cfg(feature = "v4_10")]
14654    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14655    pub fn gtk_file_dialog_set_default_filter(
14656        self_: *mut GtkFileDialog,
14657        filter: *mut GtkFileFilter,
14658    );
14659    #[cfg(feature = "v4_10")]
14660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14661    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14662    #[cfg(feature = "v4_10")]
14663    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14664    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14665    #[cfg(feature = "v4_10")]
14666    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14667    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14668    #[cfg(feature = "v4_10")]
14669    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14670    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14671    #[cfg(feature = "v4_10")]
14672    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14673    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14674    #[cfg(feature = "v4_10")]
14675    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14676    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14677
14678    //=========================================================================
14679    // GtkFileFilter
14680    //=========================================================================
14681    pub fn gtk_file_filter_get_type() -> GType;
14682    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14683    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14684    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14685    #[cfg(feature = "v4_22")]
14686    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14687    pub fn gtk_file_filter_add_mime_types(
14688        filter: *mut GtkFileFilter,
14689        mime_types: *mut *const c_char,
14690    );
14691    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14692    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14693    #[cfg(feature = "v4_4")]
14694    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14695    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14696    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14697    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14698    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14699    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14700
14701    //=========================================================================
14702    // GtkFileLauncher
14703    //=========================================================================
14704    #[cfg(feature = "v4_10")]
14705    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14706    pub fn gtk_file_launcher_get_type() -> GType;
14707    #[cfg(feature = "v4_10")]
14708    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14709    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14710    #[cfg(feature = "v4_12")]
14711    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14712    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14713    #[cfg(feature = "v4_10")]
14714    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14715    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14716    #[cfg(feature = "v4_14")]
14717    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14718    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14719    #[cfg(feature = "v4_10")]
14720    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14721    pub fn gtk_file_launcher_launch(
14722        self_: *mut GtkFileLauncher,
14723        parent: *mut GtkWindow,
14724        cancellable: *mut gio::GCancellable,
14725        callback: gio::GAsyncReadyCallback,
14726        user_data: gpointer,
14727    );
14728    #[cfg(feature = "v4_10")]
14729    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14730    pub fn gtk_file_launcher_launch_finish(
14731        self_: *mut GtkFileLauncher,
14732        result: *mut gio::GAsyncResult,
14733        error: *mut *mut glib::GError,
14734    ) -> gboolean;
14735    #[cfg(feature = "v4_10")]
14736    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14737    pub fn gtk_file_launcher_open_containing_folder(
14738        self_: *mut GtkFileLauncher,
14739        parent: *mut GtkWindow,
14740        cancellable: *mut gio::GCancellable,
14741        callback: gio::GAsyncReadyCallback,
14742        user_data: gpointer,
14743    );
14744    #[cfg(feature = "v4_10")]
14745    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14746    pub fn gtk_file_launcher_open_containing_folder_finish(
14747        self_: *mut GtkFileLauncher,
14748        result: *mut gio::GAsyncResult,
14749        error: *mut *mut glib::GError,
14750    ) -> gboolean;
14751    #[cfg(feature = "v4_12")]
14752    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14753    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14754    #[cfg(feature = "v4_10")]
14755    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14756    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14757    #[cfg(feature = "v4_14")]
14758    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14759    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14760
14761    //=========================================================================
14762    // GtkFilter
14763    //=========================================================================
14764    pub fn gtk_filter_get_type() -> GType;
14765    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14766    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14767    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14768
14769    //=========================================================================
14770    // GtkFilterListModel
14771    //=========================================================================
14772    pub fn gtk_filter_list_model_get_type() -> GType;
14773    pub fn gtk_filter_list_model_new(
14774        model: *mut gio::GListModel,
14775        filter: *mut GtkFilter,
14776    ) -> *mut GtkFilterListModel;
14777    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14778    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14779    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14780    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14781    #[cfg(feature = "v4_20")]
14782    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14783    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14784    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14785    pub fn gtk_filter_list_model_set_incremental(
14786        self_: *mut GtkFilterListModel,
14787        incremental: gboolean,
14788    );
14789    pub fn gtk_filter_list_model_set_model(
14790        self_: *mut GtkFilterListModel,
14791        model: *mut gio::GListModel,
14792    );
14793    #[cfg(feature = "v4_20")]
14794    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14795    pub fn gtk_filter_list_model_set_watch_items(
14796        self_: *mut GtkFilterListModel,
14797        watch_items: gboolean,
14798    );
14799
14800    //=========================================================================
14801    // GtkFixed
14802    //=========================================================================
14803    pub fn gtk_fixed_get_type() -> GType;
14804    pub fn gtk_fixed_new() -> *mut GtkWidget;
14805    pub fn gtk_fixed_get_child_position(
14806        fixed: *mut GtkFixed,
14807        widget: *mut GtkWidget,
14808        x: *mut c_double,
14809        y: *mut c_double,
14810    );
14811    pub fn gtk_fixed_get_child_transform(
14812        fixed: *mut GtkFixed,
14813        widget: *mut GtkWidget,
14814    ) -> *mut gsk::GskTransform;
14815    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14816    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14817    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14818    pub fn gtk_fixed_set_child_transform(
14819        fixed: *mut GtkFixed,
14820        widget: *mut GtkWidget,
14821        transform: *mut gsk::GskTransform,
14822    );
14823
14824    //=========================================================================
14825    // GtkFixedLayout
14826    //=========================================================================
14827    pub fn gtk_fixed_layout_get_type() -> GType;
14828    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14829
14830    //=========================================================================
14831    // GtkFixedLayoutChild
14832    //=========================================================================
14833    pub fn gtk_fixed_layout_child_get_type() -> GType;
14834    pub fn gtk_fixed_layout_child_get_transform(
14835        child: *mut GtkFixedLayoutChild,
14836    ) -> *mut gsk::GskTransform;
14837    pub fn gtk_fixed_layout_child_set_transform(
14838        child: *mut GtkFixedLayoutChild,
14839        transform: *mut gsk::GskTransform,
14840    );
14841
14842    //=========================================================================
14843    // GtkFlattenListModel
14844    //=========================================================================
14845    pub fn gtk_flatten_list_model_get_type() -> GType;
14846    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14847    pub fn gtk_flatten_list_model_get_model(
14848        self_: *mut GtkFlattenListModel,
14849    ) -> *mut gio::GListModel;
14850    pub fn gtk_flatten_list_model_get_model_for_item(
14851        self_: *mut GtkFlattenListModel,
14852        position: c_uint,
14853    ) -> *mut gio::GListModel;
14854    pub fn gtk_flatten_list_model_set_model(
14855        self_: *mut GtkFlattenListModel,
14856        model: *mut gio::GListModel,
14857    );
14858
14859    //=========================================================================
14860    // GtkFlowBox
14861    //=========================================================================
14862    pub fn gtk_flow_box_get_type() -> GType;
14863    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14864    #[cfg(feature = "v4_6")]
14865    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14866    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14867    pub fn gtk_flow_box_bind_model(
14868        box_: *mut GtkFlowBox,
14869        model: *mut gio::GListModel,
14870        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14871        user_data: gpointer,
14872        user_data_free_func: glib::GDestroyNotify,
14873    );
14874    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14875    pub fn gtk_flow_box_get_child_at_index(
14876        box_: *mut GtkFlowBox,
14877        idx: c_int,
14878    ) -> *mut GtkFlowBoxChild;
14879    pub fn gtk_flow_box_get_child_at_pos(
14880        box_: *mut GtkFlowBox,
14881        x: c_int,
14882        y: c_int,
14883    ) -> *mut GtkFlowBoxChild;
14884    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14885    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14886    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14887    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14888    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14889    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14890    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14891    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14892    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14893    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14894    #[cfg(feature = "v4_6")]
14895    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14896    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14897    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14898    #[cfg(feature = "v4_12")]
14899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14900    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14901    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14902    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14903    pub fn gtk_flow_box_selected_foreach(
14904        box_: *mut GtkFlowBox,
14905        func: GtkFlowBoxForeachFunc,
14906        data: gpointer,
14907    );
14908    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14909    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14910    pub fn gtk_flow_box_set_filter_func(
14911        box_: *mut GtkFlowBox,
14912        filter_func: GtkFlowBoxFilterFunc,
14913        user_data: gpointer,
14914        destroy: glib::GDestroyNotify,
14915    );
14916    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14917    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14918    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14919    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14920    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14921    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14922    pub fn gtk_flow_box_set_sort_func(
14923        box_: *mut GtkFlowBox,
14924        sort_func: GtkFlowBoxSortFunc,
14925        user_data: gpointer,
14926        destroy: glib::GDestroyNotify,
14927    );
14928    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14929    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14930    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14931
14932    //=========================================================================
14933    // GtkFlowBoxChild
14934    //=========================================================================
14935    pub fn gtk_flow_box_child_get_type() -> GType;
14936    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14937    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14938    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14939    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14940    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14941    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14942
14943    //=========================================================================
14944    // GtkFontButton
14945    //=========================================================================
14946    pub fn gtk_font_button_get_type() -> GType;
14947    pub fn gtk_font_button_new() -> *mut GtkWidget;
14948    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14949    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14950    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14951    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14952    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14953    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14954    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14955    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14956    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14957
14958    //=========================================================================
14959    // GtkFontChooserDialog
14960    //=========================================================================
14961    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14962    pub fn gtk_font_chooser_dialog_new(
14963        title: *const c_char,
14964        parent: *mut GtkWindow,
14965    ) -> *mut GtkWidget;
14966
14967    //=========================================================================
14968    // GtkFontChooserWidget
14969    //=========================================================================
14970    pub fn gtk_font_chooser_widget_get_type() -> GType;
14971    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14972
14973    //=========================================================================
14974    // GtkFontDialog
14975    //=========================================================================
14976    #[cfg(feature = "v4_10")]
14977    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14978    pub fn gtk_font_dialog_get_type() -> GType;
14979    #[cfg(feature = "v4_10")]
14980    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14981    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14982    #[cfg(feature = "v4_10")]
14983    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14984    pub fn gtk_font_dialog_choose_face(
14985        self_: *mut GtkFontDialog,
14986        parent: *mut GtkWindow,
14987        initial_value: *mut pango::PangoFontFace,
14988        cancellable: *mut gio::GCancellable,
14989        callback: gio::GAsyncReadyCallback,
14990        user_data: gpointer,
14991    );
14992    #[cfg(feature = "v4_10")]
14993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14994    pub fn gtk_font_dialog_choose_face_finish(
14995        self_: *mut GtkFontDialog,
14996        result: *mut gio::GAsyncResult,
14997        error: *mut *mut glib::GError,
14998    ) -> *mut pango::PangoFontFace;
14999    #[cfg(feature = "v4_10")]
15000    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15001    pub fn gtk_font_dialog_choose_family(
15002        self_: *mut GtkFontDialog,
15003        parent: *mut GtkWindow,
15004        initial_value: *mut pango::PangoFontFamily,
15005        cancellable: *mut gio::GCancellable,
15006        callback: gio::GAsyncReadyCallback,
15007        user_data: gpointer,
15008    );
15009    #[cfg(feature = "v4_10")]
15010    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15011    pub fn gtk_font_dialog_choose_family_finish(
15012        self_: *mut GtkFontDialog,
15013        result: *mut gio::GAsyncResult,
15014        error: *mut *mut glib::GError,
15015    ) -> *mut pango::PangoFontFamily;
15016    #[cfg(feature = "v4_10")]
15017    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15018    pub fn gtk_font_dialog_choose_font(
15019        self_: *mut GtkFontDialog,
15020        parent: *mut GtkWindow,
15021        initial_value: *mut pango::PangoFontDescription,
15022        cancellable: *mut gio::GCancellable,
15023        callback: gio::GAsyncReadyCallback,
15024        user_data: gpointer,
15025    );
15026    #[cfg(feature = "v4_10")]
15027    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15028    pub fn gtk_font_dialog_choose_font_and_features(
15029        self_: *mut GtkFontDialog,
15030        parent: *mut GtkWindow,
15031        initial_value: *mut pango::PangoFontDescription,
15032        cancellable: *mut gio::GCancellable,
15033        callback: gio::GAsyncReadyCallback,
15034        user_data: gpointer,
15035    );
15036    #[cfg(feature = "v4_10")]
15037    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15038    pub fn gtk_font_dialog_choose_font_and_features_finish(
15039        self_: *mut GtkFontDialog,
15040        result: *mut gio::GAsyncResult,
15041        font_desc: *mut *mut pango::PangoFontDescription,
15042        font_features: *mut *mut c_char,
15043        language: *mut *mut pango::PangoLanguage,
15044        error: *mut *mut glib::GError,
15045    ) -> gboolean;
15046    #[cfg(feature = "v4_10")]
15047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15048    pub fn gtk_font_dialog_choose_font_finish(
15049        self_: *mut GtkFontDialog,
15050        result: *mut gio::GAsyncResult,
15051        error: *mut *mut glib::GError,
15052    ) -> *mut pango::PangoFontDescription;
15053    #[cfg(feature = "v4_10")]
15054    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15055    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
15056    #[cfg(feature = "v4_10")]
15057    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15058    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
15059    #[cfg(feature = "v4_10")]
15060    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15061    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
15062    #[cfg(feature = "v4_10")]
15063    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15064    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
15065    #[cfg(feature = "v4_10")]
15066    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15067    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
15068    #[cfg(feature = "v4_10")]
15069    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15070    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
15071    #[cfg(feature = "v4_10")]
15072    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15073    pub fn gtk_font_dialog_set_font_map(
15074        self_: *mut GtkFontDialog,
15075        fontmap: *mut pango::PangoFontMap,
15076    );
15077    #[cfg(feature = "v4_10")]
15078    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15079    pub fn gtk_font_dialog_set_language(
15080        self_: *mut GtkFontDialog,
15081        language: *mut pango::PangoLanguage,
15082    );
15083    #[cfg(feature = "v4_10")]
15084    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15085    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
15086    #[cfg(feature = "v4_10")]
15087    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15088    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
15089
15090    //=========================================================================
15091    // GtkFontDialogButton
15092    //=========================================================================
15093    #[cfg(feature = "v4_10")]
15094    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15095    pub fn gtk_font_dialog_button_get_type() -> GType;
15096    #[cfg(feature = "v4_10")]
15097    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15098    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
15099    #[cfg(feature = "v4_10")]
15100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15101    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
15102    -> *mut GtkFontDialog;
15103    #[cfg(feature = "v4_10")]
15104    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15105    pub fn gtk_font_dialog_button_get_font_desc(
15106        self_: *mut GtkFontDialogButton,
15107    ) -> *mut pango::PangoFontDescription;
15108    #[cfg(feature = "v4_10")]
15109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15110    pub fn gtk_font_dialog_button_get_font_features(
15111        self_: *mut GtkFontDialogButton,
15112    ) -> *const c_char;
15113    #[cfg(feature = "v4_10")]
15114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15115    pub fn gtk_font_dialog_button_get_language(
15116        self_: *mut GtkFontDialogButton,
15117    ) -> *mut pango::PangoLanguage;
15118    #[cfg(feature = "v4_10")]
15119    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15120    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
15121    #[cfg(feature = "v4_10")]
15122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15123    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15124    #[cfg(feature = "v4_10")]
15125    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15126    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15127    #[cfg(feature = "v4_10")]
15128    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15129    pub fn gtk_font_dialog_button_set_dialog(
15130        self_: *mut GtkFontDialogButton,
15131        dialog: *mut GtkFontDialog,
15132    );
15133    #[cfg(feature = "v4_10")]
15134    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15135    pub fn gtk_font_dialog_button_set_font_desc(
15136        self_: *mut GtkFontDialogButton,
15137        font_desc: *const pango::PangoFontDescription,
15138    );
15139    #[cfg(feature = "v4_10")]
15140    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15141    pub fn gtk_font_dialog_button_set_font_features(
15142        self_: *mut GtkFontDialogButton,
15143        font_features: *const c_char,
15144    );
15145    #[cfg(feature = "v4_10")]
15146    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15147    pub fn gtk_font_dialog_button_set_language(
15148        self_: *mut GtkFontDialogButton,
15149        language: *mut pango::PangoLanguage,
15150    );
15151    #[cfg(feature = "v4_10")]
15152    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15153    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15154    #[cfg(feature = "v4_10")]
15155    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15156    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15157    #[cfg(feature = "v4_10")]
15158    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15159    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15160
15161    //=========================================================================
15162    // GtkFrame
15163    //=========================================================================
15164    pub fn gtk_frame_get_type() -> GType;
15165    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15166    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15167    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15168    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15169    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15170    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15171    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15172    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15173    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15174
15175    //=========================================================================
15176    // GtkGLArea
15177    //=========================================================================
15178    pub fn gtk_gl_area_get_type() -> GType;
15179    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15180    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15181    #[cfg(feature = "v4_12")]
15182    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15183    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15184    #[cfg(feature = "v4_12")]
15185    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15186    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15187    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15188    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15189    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15190    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15191    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15192    pub fn gtk_gl_area_get_required_version(
15193        area: *mut GtkGLArea,
15194        major: *mut c_int,
15195        minor: *mut c_int,
15196    );
15197    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15198    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15199    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15200    #[cfg(feature = "v4_12")]
15201    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15202    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15203    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15204    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15205    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15206    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15207    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15208    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15209
15210    //=========================================================================
15211    // GtkGesture
15212    //=========================================================================
15213    pub fn gtk_gesture_get_type() -> GType;
15214    pub fn gtk_gesture_get_bounding_box(
15215        gesture: *mut GtkGesture,
15216        rect: *mut gdk::GdkRectangle,
15217    ) -> gboolean;
15218    pub fn gtk_gesture_get_bounding_box_center(
15219        gesture: *mut GtkGesture,
15220        x: *mut c_double,
15221        y: *mut c_double,
15222    ) -> gboolean;
15223    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15224    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15225    pub fn gtk_gesture_get_last_event(
15226        gesture: *mut GtkGesture,
15227        sequence: *mut gdk::GdkEventSequence,
15228    ) -> *mut gdk::GdkEvent;
15229    pub fn gtk_gesture_get_last_updated_sequence(
15230        gesture: *mut GtkGesture,
15231    ) -> *mut gdk::GdkEventSequence;
15232    pub fn gtk_gesture_get_point(
15233        gesture: *mut GtkGesture,
15234        sequence: *mut gdk::GdkEventSequence,
15235        x: *mut c_double,
15236        y: *mut c_double,
15237    ) -> gboolean;
15238    pub fn gtk_gesture_get_sequence_state(
15239        gesture: *mut GtkGesture,
15240        sequence: *mut gdk::GdkEventSequence,
15241    ) -> GtkEventSequenceState;
15242    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15243    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15244    pub fn gtk_gesture_handles_sequence(
15245        gesture: *mut GtkGesture,
15246        sequence: *mut gdk::GdkEventSequence,
15247    ) -> gboolean;
15248    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15249    pub fn gtk_gesture_is_grouped_with(
15250        gesture: *mut GtkGesture,
15251        other: *mut GtkGesture,
15252    ) -> gboolean;
15253    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15254    pub fn gtk_gesture_set_sequence_state(
15255        gesture: *mut GtkGesture,
15256        sequence: *mut gdk::GdkEventSequence,
15257        state: GtkEventSequenceState,
15258    ) -> gboolean;
15259    pub fn gtk_gesture_set_state(
15260        gesture: *mut GtkGesture,
15261        state: GtkEventSequenceState,
15262    ) -> gboolean;
15263    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15264
15265    //=========================================================================
15266    // GtkGestureClick
15267    //=========================================================================
15268    pub fn gtk_gesture_click_get_type() -> GType;
15269    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15270
15271    //=========================================================================
15272    // GtkGestureDrag
15273    //=========================================================================
15274    pub fn gtk_gesture_drag_get_type() -> GType;
15275    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15276    pub fn gtk_gesture_drag_get_offset(
15277        gesture: *mut GtkGestureDrag,
15278        x: *mut c_double,
15279        y: *mut c_double,
15280    ) -> gboolean;
15281    pub fn gtk_gesture_drag_get_start_point(
15282        gesture: *mut GtkGestureDrag,
15283        x: *mut c_double,
15284        y: *mut c_double,
15285    ) -> gboolean;
15286
15287    //=========================================================================
15288    // GtkGestureLongPress
15289    //=========================================================================
15290    pub fn gtk_gesture_long_press_get_type() -> GType;
15291    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15292    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15293    pub fn gtk_gesture_long_press_set_delay_factor(
15294        gesture: *mut GtkGestureLongPress,
15295        delay_factor: c_double,
15296    );
15297
15298    //=========================================================================
15299    // GtkGesturePan
15300    //=========================================================================
15301    pub fn gtk_gesture_pan_get_type() -> GType;
15302    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15303    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15304    pub fn gtk_gesture_pan_set_orientation(
15305        gesture: *mut GtkGesturePan,
15306        orientation: GtkOrientation,
15307    );
15308
15309    //=========================================================================
15310    // GtkGestureRotate
15311    //=========================================================================
15312    pub fn gtk_gesture_rotate_get_type() -> GType;
15313    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15314    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15315
15316    //=========================================================================
15317    // GtkGestureSingle
15318    //=========================================================================
15319    pub fn gtk_gesture_single_get_type() -> GType;
15320    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15321    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15322    pub fn gtk_gesture_single_get_current_sequence(
15323        gesture: *mut GtkGestureSingle,
15324    ) -> *mut gdk::GdkEventSequence;
15325    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15326    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15327    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15328    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15329    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15330
15331    //=========================================================================
15332    // GtkGestureStylus
15333    //=========================================================================
15334    pub fn gtk_gesture_stylus_get_type() -> GType;
15335    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15336    pub fn gtk_gesture_stylus_get_axes(
15337        gesture: *mut GtkGestureStylus,
15338        axes: *mut gdk::GdkAxisUse,
15339        values: *mut *mut c_double,
15340    ) -> gboolean;
15341    pub fn gtk_gesture_stylus_get_axis(
15342        gesture: *mut GtkGestureStylus,
15343        axis: gdk::GdkAxisUse,
15344        value: *mut c_double,
15345    ) -> gboolean;
15346    pub fn gtk_gesture_stylus_get_backlog(
15347        gesture: *mut GtkGestureStylus,
15348        backlog: *mut *mut gdk::GdkTimeCoord,
15349        n_elems: *mut c_uint,
15350    ) -> gboolean;
15351    pub fn gtk_gesture_stylus_get_device_tool(
15352        gesture: *mut GtkGestureStylus,
15353    ) -> *mut gdk::GdkDeviceTool;
15354    #[cfg(feature = "v4_10")]
15355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15356    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15357    #[cfg(feature = "v4_10")]
15358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15359    pub fn gtk_gesture_stylus_set_stylus_only(
15360        gesture: *mut GtkGestureStylus,
15361        stylus_only: gboolean,
15362    );
15363
15364    //=========================================================================
15365    // GtkGestureSwipe
15366    //=========================================================================
15367    pub fn gtk_gesture_swipe_get_type() -> GType;
15368    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15369    pub fn gtk_gesture_swipe_get_velocity(
15370        gesture: *mut GtkGestureSwipe,
15371        velocity_x: *mut c_double,
15372        velocity_y: *mut c_double,
15373    ) -> gboolean;
15374
15375    //=========================================================================
15376    // GtkGestureZoom
15377    //=========================================================================
15378    pub fn gtk_gesture_zoom_get_type() -> GType;
15379    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15380    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15381
15382    //=========================================================================
15383    // GtkGraphicsOffload
15384    //=========================================================================
15385    #[cfg(feature = "v4_14")]
15386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15387    pub fn gtk_graphics_offload_get_type() -> GType;
15388    #[cfg(feature = "v4_14")]
15389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15390    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15391    #[cfg(feature = "v4_16")]
15392    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15393    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15394    #[cfg(feature = "v4_14")]
15395    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15396    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15397    #[cfg(feature = "v4_14")]
15398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15399    pub fn gtk_graphics_offload_get_enabled(
15400        self_: *mut GtkGraphicsOffload,
15401    ) -> GtkGraphicsOffloadEnabled;
15402    #[cfg(feature = "v4_16")]
15403    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15404    pub fn gtk_graphics_offload_set_black_background(
15405        self_: *mut GtkGraphicsOffload,
15406        value: gboolean,
15407    );
15408    #[cfg(feature = "v4_14")]
15409    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15410    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15411    #[cfg(feature = "v4_14")]
15412    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15413    pub fn gtk_graphics_offload_set_enabled(
15414        self_: *mut GtkGraphicsOffload,
15415        enabled: GtkGraphicsOffloadEnabled,
15416    );
15417
15418    //=========================================================================
15419    // GtkGrid
15420    //=========================================================================
15421    pub fn gtk_grid_get_type() -> GType;
15422    pub fn gtk_grid_new() -> *mut GtkWidget;
15423    pub fn gtk_grid_attach(
15424        grid: *mut GtkGrid,
15425        child: *mut GtkWidget,
15426        column: c_int,
15427        row: c_int,
15428        width: c_int,
15429        height: c_int,
15430    );
15431    pub fn gtk_grid_attach_next_to(
15432        grid: *mut GtkGrid,
15433        child: *mut GtkWidget,
15434        sibling: *mut GtkWidget,
15435        side: GtkPositionType,
15436        width: c_int,
15437        height: c_int,
15438    );
15439    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15440    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15441    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15442    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15443    pub fn gtk_grid_get_row_baseline_position(
15444        grid: *mut GtkGrid,
15445        row: c_int,
15446    ) -> GtkBaselinePosition;
15447    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15448    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15449    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15450    pub fn gtk_grid_insert_next_to(
15451        grid: *mut GtkGrid,
15452        sibling: *mut GtkWidget,
15453        side: GtkPositionType,
15454    );
15455    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15456    pub fn gtk_grid_query_child(
15457        grid: *mut GtkGrid,
15458        child: *mut GtkWidget,
15459        column: *mut c_int,
15460        row: *mut c_int,
15461        width: *mut c_int,
15462        height: *mut c_int,
15463    );
15464    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15465    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15466    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15467    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15468    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15469    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15470    pub fn gtk_grid_set_row_baseline_position(
15471        grid: *mut GtkGrid,
15472        row: c_int,
15473        pos: GtkBaselinePosition,
15474    );
15475    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15476    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15477
15478    //=========================================================================
15479    // GtkGridLayout
15480    //=========================================================================
15481    pub fn gtk_grid_layout_get_type() -> GType;
15482    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15483    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15484    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15485    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15486    pub fn gtk_grid_layout_get_row_baseline_position(
15487        grid: *mut GtkGridLayout,
15488        row: c_int,
15489    ) -> GtkBaselinePosition;
15490    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15491    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15492    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15493    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15494    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15495    pub fn gtk_grid_layout_set_row_baseline_position(
15496        grid: *mut GtkGridLayout,
15497        row: c_int,
15498        pos: GtkBaselinePosition,
15499    );
15500    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15501    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15502
15503    //=========================================================================
15504    // GtkGridLayoutChild
15505    //=========================================================================
15506    pub fn gtk_grid_layout_child_get_type() -> GType;
15507    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15508    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15509    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15510    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15511    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15512    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15513    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15514    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15515
15516    //=========================================================================
15517    // GtkGridView
15518    //=========================================================================
15519    pub fn gtk_grid_view_get_type() -> GType;
15520    pub fn gtk_grid_view_new(
15521        model: *mut GtkSelectionModel,
15522        factory: *mut GtkListItemFactory,
15523    ) -> *mut GtkWidget;
15524    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15525    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15526    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15527    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15528    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15529    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15530    #[cfg(feature = "v4_12")]
15531    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15532    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15533    #[cfg(feature = "v4_12")]
15534    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15535    pub fn gtk_grid_view_scroll_to(
15536        self_: *mut GtkGridView,
15537        pos: c_uint,
15538        flags: GtkListScrollFlags,
15539        scroll: *mut GtkScrollInfo,
15540    );
15541    pub fn gtk_grid_view_set_enable_rubberband(
15542        self_: *mut GtkGridView,
15543        enable_rubberband: gboolean,
15544    );
15545    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15546    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15547    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15548    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15549    pub fn gtk_grid_view_set_single_click_activate(
15550        self_: *mut GtkGridView,
15551        single_click_activate: gboolean,
15552    );
15553    #[cfg(feature = "v4_12")]
15554    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15555    pub fn gtk_grid_view_set_tab_behavior(
15556        self_: *mut GtkGridView,
15557        tab_behavior: GtkListTabBehavior,
15558    );
15559
15560    //=========================================================================
15561    // GtkHeaderBar
15562    //=========================================================================
15563    pub fn gtk_header_bar_get_type() -> GType;
15564    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15565    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15566    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15567    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15568    #[cfg(feature = "v4_18")]
15569    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15570    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15571    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15572    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15573    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15574    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15575    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15576    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15577    #[cfg(feature = "v4_18")]
15578    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15579    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15580
15581    //=========================================================================
15582    // GtkIMContext
15583    //=========================================================================
15584    pub fn gtk_im_context_get_type() -> GType;
15585    #[cfg(feature = "v4_14")]
15586    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15587    pub fn gtk_im_context_activate_osk(
15588        context: *mut GtkIMContext,
15589        event: *mut gdk::GdkEvent,
15590    ) -> gboolean;
15591    pub fn gtk_im_context_delete_surrounding(
15592        context: *mut GtkIMContext,
15593        offset: c_int,
15594        n_chars: c_int,
15595    ) -> gboolean;
15596    pub fn gtk_im_context_filter_key(
15597        context: *mut GtkIMContext,
15598        press: gboolean,
15599        surface: *mut gdk::GdkSurface,
15600        device: *mut gdk::GdkDevice,
15601        time: u32,
15602        keycode: c_uint,
15603        state: gdk::GdkModifierType,
15604        group: c_int,
15605    ) -> gboolean;
15606    pub fn gtk_im_context_filter_keypress(
15607        context: *mut GtkIMContext,
15608        event: *mut gdk::GdkEvent,
15609    ) -> gboolean;
15610    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15611    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15612    pub fn gtk_im_context_get_preedit_string(
15613        context: *mut GtkIMContext,
15614        str: *mut *mut c_char,
15615        attrs: *mut *mut pango::PangoAttrList,
15616        cursor_pos: *mut c_int,
15617    );
15618    pub fn gtk_im_context_get_surrounding(
15619        context: *mut GtkIMContext,
15620        text: *mut *mut c_char,
15621        cursor_index: *mut c_int,
15622    ) -> gboolean;
15623    #[cfg(feature = "v4_2")]
15624    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15625    pub fn gtk_im_context_get_surrounding_with_selection(
15626        context: *mut GtkIMContext,
15627        text: *mut *mut c_char,
15628        cursor_index: *mut c_int,
15629        anchor_index: *mut c_int,
15630    ) -> gboolean;
15631    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15632    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15633    pub fn gtk_im_context_set_cursor_location(
15634        context: *mut GtkIMContext,
15635        area: *const gdk::GdkRectangle,
15636    );
15637    pub fn gtk_im_context_set_surrounding(
15638        context: *mut GtkIMContext,
15639        text: *const c_char,
15640        len: c_int,
15641        cursor_index: c_int,
15642    );
15643    #[cfg(feature = "v4_2")]
15644    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15645    pub fn gtk_im_context_set_surrounding_with_selection(
15646        context: *mut GtkIMContext,
15647        text: *const c_char,
15648        len: c_int,
15649        cursor_index: c_int,
15650        anchor_index: c_int,
15651    );
15652    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15653
15654    //=========================================================================
15655    // GtkIMContextSimple
15656    //=========================================================================
15657    pub fn gtk_im_context_simple_get_type() -> GType;
15658    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15659    pub fn gtk_im_context_simple_add_compose_file(
15660        context_simple: *mut GtkIMContextSimple,
15661        compose_file: *const c_char,
15662    );
15663    pub fn gtk_im_context_simple_add_table(
15664        context_simple: *mut GtkIMContextSimple,
15665        data: *mut u16,
15666        max_seq_len: c_int,
15667        n_seqs: c_int,
15668    );
15669
15670    //=========================================================================
15671    // GtkIMMulticontext
15672    //=========================================================================
15673    pub fn gtk_im_multicontext_get_type() -> GType;
15674    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15675    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15676    pub fn gtk_im_multicontext_set_context_id(
15677        context: *mut GtkIMMulticontext,
15678        context_id: *const c_char,
15679    );
15680
15681    //=========================================================================
15682    // GtkIconPaintable
15683    //=========================================================================
15684    pub fn gtk_icon_paintable_get_type() -> GType;
15685    pub fn gtk_icon_paintable_new_for_file(
15686        file: *mut gio::GFile,
15687        size: c_int,
15688        scale: c_int,
15689    ) -> *mut GtkIconPaintable;
15690    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15691    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15692    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15693
15694    //=========================================================================
15695    // GtkIconTheme
15696    //=========================================================================
15697    pub fn gtk_icon_theme_get_type() -> GType;
15698    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15699    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15700    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15701    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15702    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15703    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15704    pub fn gtk_icon_theme_get_icon_sizes(
15705        self_: *mut GtkIconTheme,
15706        icon_name: *const c_char,
15707    ) -> *mut c_int;
15708    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15709    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15710    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15711    #[cfg(feature = "v4_2")]
15712    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15713    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15714    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15715    pub fn gtk_icon_theme_lookup_by_gicon(
15716        self_: *mut GtkIconTheme,
15717        icon: *mut gio::GIcon,
15718        size: c_int,
15719        scale: c_int,
15720        direction: GtkTextDirection,
15721        flags: GtkIconLookupFlags,
15722    ) -> *mut GtkIconPaintable;
15723    pub fn gtk_icon_theme_lookup_icon(
15724        self_: *mut GtkIconTheme,
15725        icon_name: *const c_char,
15726        fallbacks: *mut *const c_char,
15727        size: c_int,
15728        scale: c_int,
15729        direction: GtkTextDirection,
15730        flags: GtkIconLookupFlags,
15731    ) -> *mut GtkIconPaintable;
15732    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15733    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15734    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15735
15736    //=========================================================================
15737    // GtkIconView
15738    //=========================================================================
15739    pub fn gtk_icon_view_get_type() -> GType;
15740    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15741    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15742    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15743    pub fn gtk_icon_view_create_drag_icon(
15744        icon_view: *mut GtkIconView,
15745        path: *mut GtkTreePath,
15746    ) -> *mut gdk::GdkPaintable;
15747    pub fn gtk_icon_view_enable_model_drag_dest(
15748        icon_view: *mut GtkIconView,
15749        formats: *mut gdk::GdkContentFormats,
15750        actions: gdk::GdkDragAction,
15751    );
15752    pub fn gtk_icon_view_enable_model_drag_source(
15753        icon_view: *mut GtkIconView,
15754        start_button_mask: gdk::GdkModifierType,
15755        formats: *mut gdk::GdkContentFormats,
15756        actions: gdk::GdkDragAction,
15757    );
15758    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15759    pub fn gtk_icon_view_get_cell_rect(
15760        icon_view: *mut GtkIconView,
15761        path: *mut GtkTreePath,
15762        cell: *mut GtkCellRenderer,
15763        rect: *mut gdk::GdkRectangle,
15764    ) -> gboolean;
15765    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15766    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15767    pub fn gtk_icon_view_get_cursor(
15768        icon_view: *mut GtkIconView,
15769        path: *mut *mut GtkTreePath,
15770        cell: *mut *mut GtkCellRenderer,
15771    ) -> gboolean;
15772    pub fn gtk_icon_view_get_dest_item_at_pos(
15773        icon_view: *mut GtkIconView,
15774        drag_x: c_int,
15775        drag_y: c_int,
15776        path: *mut *mut GtkTreePath,
15777        pos: *mut GtkIconViewDropPosition,
15778    ) -> gboolean;
15779    pub fn gtk_icon_view_get_drag_dest_item(
15780        icon_view: *mut GtkIconView,
15781        path: *mut *mut GtkTreePath,
15782        pos: *mut GtkIconViewDropPosition,
15783    );
15784    pub fn gtk_icon_view_get_item_at_pos(
15785        icon_view: *mut GtkIconView,
15786        x: c_int,
15787        y: c_int,
15788        path: *mut *mut GtkTreePath,
15789        cell: *mut *mut GtkCellRenderer,
15790    ) -> gboolean;
15791    pub fn gtk_icon_view_get_item_column(
15792        icon_view: *mut GtkIconView,
15793        path: *mut GtkTreePath,
15794    ) -> c_int;
15795    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15796    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15797    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15798    -> c_int;
15799    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15800    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15801    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15802    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15803    pub fn gtk_icon_view_get_path_at_pos(
15804        icon_view: *mut GtkIconView,
15805        x: c_int,
15806        y: c_int,
15807    ) -> *mut GtkTreePath;
15808    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15809    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15810    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15811    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15812    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15813    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15814    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15815    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15816    pub fn gtk_icon_view_get_tooltip_context(
15817        icon_view: *mut GtkIconView,
15818        x: c_int,
15819        y: c_int,
15820        keyboard_tip: gboolean,
15821        model: *mut *mut GtkTreeModel,
15822        path: *mut *mut GtkTreePath,
15823        iter: *mut GtkTreeIter,
15824    ) -> gboolean;
15825    pub fn gtk_icon_view_get_visible_range(
15826        icon_view: *mut GtkIconView,
15827        start_path: *mut *mut GtkTreePath,
15828        end_path: *mut *mut GtkTreePath,
15829    ) -> gboolean;
15830    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15831    pub fn gtk_icon_view_path_is_selected(
15832        icon_view: *mut GtkIconView,
15833        path: *mut GtkTreePath,
15834    ) -> gboolean;
15835    pub fn gtk_icon_view_scroll_to_path(
15836        icon_view: *mut GtkIconView,
15837        path: *mut GtkTreePath,
15838        use_align: gboolean,
15839        row_align: c_float,
15840        col_align: c_float,
15841    );
15842    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15843    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15844    pub fn gtk_icon_view_selected_foreach(
15845        icon_view: *mut GtkIconView,
15846        func: GtkIconViewForeachFunc,
15847        data: gpointer,
15848    );
15849    pub fn gtk_icon_view_set_activate_on_single_click(
15850        icon_view: *mut GtkIconView,
15851        single: gboolean,
15852    );
15853    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15854    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15855    pub fn gtk_icon_view_set_cursor(
15856        icon_view: *mut GtkIconView,
15857        path: *mut GtkTreePath,
15858        cell: *mut GtkCellRenderer,
15859        start_editing: gboolean,
15860    );
15861    pub fn gtk_icon_view_set_drag_dest_item(
15862        icon_view: *mut GtkIconView,
15863        path: *mut GtkTreePath,
15864        pos: GtkIconViewDropPosition,
15865    );
15866    pub fn gtk_icon_view_set_item_orientation(
15867        icon_view: *mut GtkIconView,
15868        orientation: GtkOrientation,
15869    );
15870    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15871    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15872    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15873    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15874    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15875    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15876    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15877    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15878    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15879    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15880    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15881    pub fn gtk_icon_view_set_tooltip_cell(
15882        icon_view: *mut GtkIconView,
15883        tooltip: *mut GtkTooltip,
15884        path: *mut GtkTreePath,
15885        cell: *mut GtkCellRenderer,
15886    );
15887    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15888    pub fn gtk_icon_view_set_tooltip_item(
15889        icon_view: *mut GtkIconView,
15890        tooltip: *mut GtkTooltip,
15891        path: *mut GtkTreePath,
15892    );
15893    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15894    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15895    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15896    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15897
15898    //=========================================================================
15899    // GtkImage
15900    //=========================================================================
15901    pub fn gtk_image_get_type() -> GType;
15902    pub fn gtk_image_new() -> *mut GtkWidget;
15903    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15904    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15905    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15906    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15907    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15908    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15909    pub fn gtk_image_clear(image: *mut GtkImage);
15910    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15911    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15912    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15913    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15914    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15915    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15916    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15917    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15918    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15919    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15920    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15921    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15922    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15923    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15924
15925    //=========================================================================
15926    // GtkInfoBar
15927    //=========================================================================
15928    pub fn gtk_info_bar_get_type() -> GType;
15929    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15930    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15931    pub fn gtk_info_bar_add_action_widget(
15932        info_bar: *mut GtkInfoBar,
15933        child: *mut GtkWidget,
15934        response_id: GtkResponseType,
15935    );
15936    pub fn gtk_info_bar_add_button(
15937        info_bar: *mut GtkInfoBar,
15938        button_text: *const c_char,
15939        response_id: GtkResponseType,
15940    ) -> *mut GtkButton;
15941    pub fn gtk_info_bar_add_buttons(
15942        info_bar: *mut GtkInfoBar,
15943        first_button_text: *const c_char,
15944        ...
15945    );
15946    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15947    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15948    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15949    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15950    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15951    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15952    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15953    pub fn gtk_info_bar_set_default_response(
15954        info_bar: *mut GtkInfoBar,
15955        response_id: GtkResponseType,
15956    );
15957    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15958    pub fn gtk_info_bar_set_response_sensitive(
15959        info_bar: *mut GtkInfoBar,
15960        response_id: GtkResponseType,
15961        setting: gboolean,
15962    );
15963    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15964    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15965
15966    //=========================================================================
15967    // GtkInscription
15968    //=========================================================================
15969    #[cfg(feature = "v4_8")]
15970    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15971    pub fn gtk_inscription_get_type() -> GType;
15972    #[cfg(feature = "v4_8")]
15973    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15974    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15975    #[cfg(feature = "v4_8")]
15976    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15977    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15978    #[cfg(feature = "v4_8")]
15979    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15980    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15981    #[cfg(feature = "v4_8")]
15982    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15983    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15984    #[cfg(feature = "v4_8")]
15985    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15986    pub fn gtk_inscription_get_nat_chars(self_: *mut GtkInscription) -> c_uint;
15987    #[cfg(feature = "v4_8")]
15988    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15989    pub fn gtk_inscription_get_nat_lines(self_: *mut GtkInscription) -> c_uint;
15990    #[cfg(feature = "v4_8")]
15991    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15992    pub fn gtk_inscription_get_text(self_: *mut GtkInscription) -> *const c_char;
15993    #[cfg(feature = "v4_8")]
15994    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15995    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
15996    #[cfg(feature = "v4_8")]
15997    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15998    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
15999    #[cfg(feature = "v4_8")]
16000    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16001    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
16002    #[cfg(feature = "v4_8")]
16003    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16004    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
16005    #[cfg(feature = "v4_8")]
16006    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16007    pub fn gtk_inscription_set_attributes(
16008        self_: *mut GtkInscription,
16009        attrs: *mut pango::PangoAttrList,
16010    );
16011    #[cfg(feature = "v4_8")]
16012    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16013    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
16014    #[cfg(feature = "v4_8")]
16015    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16016    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
16017    #[cfg(feature = "v4_8")]
16018    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16019    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
16020    #[cfg(feature = "v4_8")]
16021    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16022    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
16023    #[cfg(feature = "v4_8")]
16024    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16025    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
16026    #[cfg(feature = "v4_8")]
16027    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16028    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
16029    #[cfg(feature = "v4_8")]
16030    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16031    pub fn gtk_inscription_set_text_overflow(
16032        self_: *mut GtkInscription,
16033        overflow: GtkInscriptionOverflow,
16034    );
16035    #[cfg(feature = "v4_8")]
16036    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16037    pub fn gtk_inscription_set_wrap_mode(
16038        self_: *mut GtkInscription,
16039        wrap_mode: pango::PangoWrapMode,
16040    );
16041    #[cfg(feature = "v4_8")]
16042    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16043    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
16044    #[cfg(feature = "v4_8")]
16045    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16046    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
16047
16048    //=========================================================================
16049    // GtkKeyvalTrigger
16050    //=========================================================================
16051    pub fn gtk_keyval_trigger_get_type() -> GType;
16052    pub fn gtk_keyval_trigger_new(
16053        keyval: c_uint,
16054        modifiers: gdk::GdkModifierType,
16055    ) -> *mut GtkShortcutTrigger;
16056    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
16057    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
16058
16059    //=========================================================================
16060    // GtkLabel
16061    //=========================================================================
16062    pub fn gtk_label_get_type() -> GType;
16063    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
16064    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
16065    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
16066    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
16067    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
16068    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
16069    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
16070    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
16071    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
16072    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
16073    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
16074    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
16075    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
16076    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
16077    #[cfg(feature = "v4_6")]
16078    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16079    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
16080    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
16081    pub fn gtk_label_get_selection_bounds(
16082        self_: *mut GtkLabel,
16083        start: *mut c_int,
16084        end: *mut c_int,
16085    ) -> gboolean;
16086    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
16087    #[cfg(feature = "v4_8")]
16088    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16089    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
16090    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
16091    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
16092    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
16093    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
16094    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
16095    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
16096    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
16097    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
16098    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
16099    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
16100    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
16101    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
16102    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
16103    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
16104    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
16105    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
16106    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16107    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16108    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
16109    #[cfg(feature = "v4_6")]
16110    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16111    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
16112    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
16113    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
16114    #[cfg(feature = "v4_8")]
16115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16116    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
16117    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
16118    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16119    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
16120    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
16121    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16122    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16123    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16124    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16125    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16126
16127    //=========================================================================
16128    // GtkLayoutChild
16129    //=========================================================================
16130    pub fn gtk_layout_child_get_type() -> GType;
16131    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16132    pub fn gtk_layout_child_get_layout_manager(
16133        layout_child: *mut GtkLayoutChild,
16134    ) -> *mut GtkLayoutManager;
16135
16136    //=========================================================================
16137    // GtkLayoutManager
16138    //=========================================================================
16139    pub fn gtk_layout_manager_get_type() -> GType;
16140    pub fn gtk_layout_manager_allocate(
16141        manager: *mut GtkLayoutManager,
16142        widget: *mut GtkWidget,
16143        width: c_int,
16144        height: c_int,
16145        baseline: c_int,
16146    );
16147    pub fn gtk_layout_manager_get_layout_child(
16148        manager: *mut GtkLayoutManager,
16149        child: *mut GtkWidget,
16150    ) -> *mut GtkLayoutChild;
16151    pub fn gtk_layout_manager_get_request_mode(
16152        manager: *mut GtkLayoutManager,
16153    ) -> GtkSizeRequestMode;
16154    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16155    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16156    pub fn gtk_layout_manager_measure(
16157        manager: *mut GtkLayoutManager,
16158        widget: *mut GtkWidget,
16159        orientation: GtkOrientation,
16160        for_size: c_int,
16161        minimum: *mut c_int,
16162        natural: *mut c_int,
16163        minimum_baseline: *mut c_int,
16164        natural_baseline: *mut c_int,
16165    );
16166
16167    //=========================================================================
16168    // GtkLevelBar
16169    //=========================================================================
16170    pub fn gtk_level_bar_get_type() -> GType;
16171    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16172    pub fn gtk_level_bar_new_for_interval(
16173        min_value: c_double,
16174        max_value: c_double,
16175    ) -> *mut GtkWidget;
16176    pub fn gtk_level_bar_add_offset_value(
16177        self_: *mut GtkLevelBar,
16178        name: *const c_char,
16179        value: c_double,
16180    );
16181    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16182    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16183    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16184    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16185    pub fn gtk_level_bar_get_offset_value(
16186        self_: *mut GtkLevelBar,
16187        name: *const c_char,
16188        value: *mut c_double,
16189    ) -> gboolean;
16190    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16191    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16192    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16193    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16194    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16195    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16196    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16197
16198    //=========================================================================
16199    // GtkLinkButton
16200    //=========================================================================
16201    pub fn gtk_link_button_get_type() -> GType;
16202    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16203    pub fn gtk_link_button_new_with_label(
16204        uri: *const c_char,
16205        label: *const c_char,
16206    ) -> *mut GtkWidget;
16207    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16208    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16209    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16210    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16211
16212    //=========================================================================
16213    // GtkListBase
16214    //=========================================================================
16215    pub fn gtk_list_base_get_type() -> GType;
16216
16217    //=========================================================================
16218    // GtkListBox
16219    //=========================================================================
16220    pub fn gtk_list_box_get_type() -> GType;
16221    pub fn gtk_list_box_new() -> *mut GtkWidget;
16222    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16223    pub fn gtk_list_box_bind_model(
16224        box_: *mut GtkListBox,
16225        model: *mut gio::GListModel,
16226        create_widget_func: GtkListBoxCreateWidgetFunc,
16227        user_data: gpointer,
16228        user_data_free_func: glib::GDestroyNotify,
16229    );
16230    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16231    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16232    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16233    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16234    pub fn gtk_list_box_get_row_at_index(
16235        box_: *mut GtkListBox,
16236        index_: c_int,
16237    ) -> *mut GtkListBoxRow;
16238    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16239    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16240    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16241    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16242    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16243    #[cfg(feature = "v4_18")]
16244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16245    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16246    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16247    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16248    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16249    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16250    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16251    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16252    #[cfg(feature = "v4_12")]
16253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16254    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16255    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16256    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16257    pub fn gtk_list_box_selected_foreach(
16258        box_: *mut GtkListBox,
16259        func: GtkListBoxForeachFunc,
16260        data: gpointer,
16261    );
16262    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16263    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16264    pub fn gtk_list_box_set_filter_func(
16265        box_: *mut GtkListBox,
16266        filter_func: GtkListBoxFilterFunc,
16267        user_data: gpointer,
16268        destroy: glib::GDestroyNotify,
16269    );
16270    pub fn gtk_list_box_set_header_func(
16271        box_: *mut GtkListBox,
16272        update_header: GtkListBoxUpdateHeaderFunc,
16273        user_data: gpointer,
16274        destroy: glib::GDestroyNotify,
16275    );
16276    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16277    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16278    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16279    pub fn gtk_list_box_set_sort_func(
16280        box_: *mut GtkListBox,
16281        sort_func: GtkListBoxSortFunc,
16282        user_data: gpointer,
16283        destroy: glib::GDestroyNotify,
16284    );
16285    #[cfg(feature = "v4_18")]
16286    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16287    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16288    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16289    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16290
16291    //=========================================================================
16292    // GtkListBoxRow
16293    //=========================================================================
16294    pub fn gtk_list_box_row_get_type() -> GType;
16295    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16296    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16297    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16298    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16299    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16300    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16301    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16302    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16303    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16304    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16305    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16306    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16307
16308    //=========================================================================
16309    // GtkListHeader
16310    //=========================================================================
16311    #[cfg(feature = "v4_12")]
16312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16313    pub fn gtk_list_header_get_type() -> GType;
16314    #[cfg(feature = "v4_12")]
16315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16316    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16317    #[cfg(feature = "v4_12")]
16318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16319    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16320    #[cfg(feature = "v4_12")]
16321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16322    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16323    #[cfg(feature = "v4_12")]
16324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16325    pub fn gtk_list_header_get_n_items(self_: *mut GtkListHeader) -> c_uint;
16326    #[cfg(feature = "v4_12")]
16327    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16328    pub fn gtk_list_header_get_start(self_: *mut GtkListHeader) -> c_uint;
16329    #[cfg(feature = "v4_12")]
16330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16331    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16332
16333    //=========================================================================
16334    // GtkListItem
16335    //=========================================================================
16336    pub fn gtk_list_item_get_type() -> GType;
16337    #[cfg(feature = "v4_12")]
16338    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16339    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16340    #[cfg(feature = "v4_12")]
16341    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16342    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16343    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16344    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16345    #[cfg(feature = "v4_12")]
16346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16347    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16348    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16349    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16350    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16351    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16352    #[cfg(feature = "v4_12")]
16353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16354    pub fn gtk_list_item_set_accessible_description(
16355        self_: *mut GtkListItem,
16356        description: *const c_char,
16357    );
16358    #[cfg(feature = "v4_12")]
16359    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16360    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16361    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16362    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16363    #[cfg(feature = "v4_12")]
16364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16365    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16366    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16367
16368    //=========================================================================
16369    // GtkListItemFactory
16370    //=========================================================================
16371    pub fn gtk_list_item_factory_get_type() -> GType;
16372
16373    //=========================================================================
16374    // GtkListStore
16375    //=========================================================================
16376    pub fn gtk_list_store_get_type() -> GType;
16377    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16378    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16379    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16380    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16381    pub fn gtk_list_store_insert(
16382        list_store: *mut GtkListStore,
16383        iter: *mut GtkTreeIter,
16384        position: c_int,
16385    );
16386    pub fn gtk_list_store_insert_after(
16387        list_store: *mut GtkListStore,
16388        iter: *mut GtkTreeIter,
16389        sibling: *mut GtkTreeIter,
16390    );
16391    pub fn gtk_list_store_insert_before(
16392        list_store: *mut GtkListStore,
16393        iter: *mut GtkTreeIter,
16394        sibling: *mut GtkTreeIter,
16395    );
16396    pub fn gtk_list_store_insert_with_values(
16397        list_store: *mut GtkListStore,
16398        iter: *mut GtkTreeIter,
16399        position: c_int,
16400        ...
16401    );
16402    pub fn gtk_list_store_insert_with_valuesv(
16403        list_store: *mut GtkListStore,
16404        iter: *mut GtkTreeIter,
16405        position: c_int,
16406        columns: *mut c_int,
16407        values: *mut gobject::GValue,
16408        n_values: c_int,
16409    );
16410    pub fn gtk_list_store_iter_is_valid(
16411        list_store: *mut GtkListStore,
16412        iter: *mut GtkTreeIter,
16413    ) -> gboolean;
16414    pub fn gtk_list_store_move_after(
16415        store: *mut GtkListStore,
16416        iter: *mut GtkTreeIter,
16417        position: *mut GtkTreeIter,
16418    );
16419    pub fn gtk_list_store_move_before(
16420        store: *mut GtkListStore,
16421        iter: *mut GtkTreeIter,
16422        position: *mut GtkTreeIter,
16423    );
16424    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16425    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16426    -> gboolean;
16427    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16428    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16429    pub fn gtk_list_store_set_column_types(
16430        list_store: *mut GtkListStore,
16431        n_columns: c_int,
16432        types: *mut GType,
16433    );
16434    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16435    pub fn gtk_list_store_set_value(
16436        list_store: *mut GtkListStore,
16437        iter: *mut GtkTreeIter,
16438        column: c_int,
16439        value: *mut gobject::GValue,
16440    );
16441    pub fn gtk_list_store_set_valuesv(
16442        list_store: *mut GtkListStore,
16443        iter: *mut GtkTreeIter,
16444        columns: *mut c_int,
16445        values: *mut gobject::GValue,
16446        n_values: c_int,
16447    );
16448    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16449
16450    //=========================================================================
16451    // GtkListView
16452    //=========================================================================
16453    pub fn gtk_list_view_get_type() -> GType;
16454    pub fn gtk_list_view_new(
16455        model: *mut GtkSelectionModel,
16456        factory: *mut GtkListItemFactory,
16457    ) -> *mut GtkWidget;
16458    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16459    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16460    #[cfg(feature = "v4_12")]
16461    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16462    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16463    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16464    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16465    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16466    #[cfg(feature = "v4_12")]
16467    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16468    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16469    #[cfg(feature = "v4_12")]
16470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16471    pub fn gtk_list_view_scroll_to(
16472        self_: *mut GtkListView,
16473        pos: c_uint,
16474        flags: GtkListScrollFlags,
16475        scroll: *mut GtkScrollInfo,
16476    );
16477    pub fn gtk_list_view_set_enable_rubberband(
16478        self_: *mut GtkListView,
16479        enable_rubberband: gboolean,
16480    );
16481    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16482    #[cfg(feature = "v4_12")]
16483    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16484    pub fn gtk_list_view_set_header_factory(
16485        self_: *mut GtkListView,
16486        factory: *mut GtkListItemFactory,
16487    );
16488    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16489    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16490    pub fn gtk_list_view_set_single_click_activate(
16491        self_: *mut GtkListView,
16492        single_click_activate: gboolean,
16493    );
16494    #[cfg(feature = "v4_12")]
16495    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16496    pub fn gtk_list_view_set_tab_behavior(
16497        self_: *mut GtkListView,
16498        tab_behavior: GtkListTabBehavior,
16499    );
16500
16501    //=========================================================================
16502    // GtkLockButton
16503    //=========================================================================
16504    pub fn gtk_lock_button_get_type() -> GType;
16505    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16506    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16507    pub fn gtk_lock_button_set_permission(
16508        button: *mut GtkLockButton,
16509        permission: *mut gio::GPermission,
16510    );
16511
16512    //=========================================================================
16513    // GtkMapListModel
16514    //=========================================================================
16515    pub fn gtk_map_list_model_get_type() -> GType;
16516    pub fn gtk_map_list_model_new(
16517        model: *mut gio::GListModel,
16518        map_func: GtkMapListModelMapFunc,
16519        user_data: gpointer,
16520        user_destroy: glib::GDestroyNotify,
16521    ) -> *mut GtkMapListModel;
16522    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16523    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16524    pub fn gtk_map_list_model_set_map_func(
16525        self_: *mut GtkMapListModel,
16526        map_func: GtkMapListModelMapFunc,
16527        user_data: gpointer,
16528        user_destroy: glib::GDestroyNotify,
16529    );
16530    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16531
16532    //=========================================================================
16533    // GtkMediaControls
16534    //=========================================================================
16535    pub fn gtk_media_controls_get_type() -> GType;
16536    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16537    pub fn gtk_media_controls_get_media_stream(
16538        controls: *mut GtkMediaControls,
16539    ) -> *mut GtkMediaStream;
16540    pub fn gtk_media_controls_set_media_stream(
16541        controls: *mut GtkMediaControls,
16542        stream: *mut GtkMediaStream,
16543    );
16544
16545    //=========================================================================
16546    // GtkMediaFile
16547    //=========================================================================
16548    pub fn gtk_media_file_get_type() -> GType;
16549    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16550    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16551    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16552    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16553    -> *mut GtkMediaFile;
16554    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16555    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16556    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16557    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16558    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16559    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16560    pub fn gtk_media_file_set_input_stream(
16561        self_: *mut GtkMediaFile,
16562        stream: *mut gio::GInputStream,
16563    );
16564    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16565
16566    //=========================================================================
16567    // GtkMediaStream
16568    //=========================================================================
16569    pub fn gtk_media_stream_get_type() -> GType;
16570    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16571    pub fn gtk_media_stream_error(
16572        self_: *mut GtkMediaStream,
16573        domain: glib::GQuark,
16574        code: c_int,
16575        format: *const c_char,
16576        ...
16577    );
16578    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16579    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16580    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16581    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16582    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16583    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16584    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16585    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16586    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16587    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16588    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16589    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16590    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16591    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16592    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16593    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16594    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16595    pub fn gtk_media_stream_prepared(
16596        self_: *mut GtkMediaStream,
16597        has_audio: gboolean,
16598        has_video: gboolean,
16599        seekable: gboolean,
16600        duration: i64,
16601    );
16602    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16603    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16604    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16605    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16606    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16607    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16608    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16609    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16610    #[cfg(feature = "v4_4")]
16611    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16612    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16613    #[cfg(feature = "v4_4")]
16614    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16615    pub fn gtk_media_stream_stream_prepared(
16616        self_: *mut GtkMediaStream,
16617        has_audio: gboolean,
16618        has_video: gboolean,
16619        seekable: gboolean,
16620        duration: i64,
16621    );
16622    #[cfg(feature = "v4_4")]
16623    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16624    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16625    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16626    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16627    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16628
16629    //=========================================================================
16630    // GtkMenuButton
16631    //=========================================================================
16632    pub fn gtk_menu_button_get_type() -> GType;
16633    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16634    #[cfg(feature = "v4_10")]
16635    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16636    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16637    #[cfg(feature = "v4_4")]
16638    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16639    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16640    #[cfg(feature = "v4_12")]
16641    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16642    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16643    #[cfg(feature = "v4_6")]
16644    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16645    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16646    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16647    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16648    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16649    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16650    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16651    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16652    #[cfg(feature = "v4_4")]
16653    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16654    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16655    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16656    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16657    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16658    #[cfg(feature = "v4_10")]
16659    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16660    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16661    #[cfg(feature = "v4_4")]
16662    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16663    pub fn gtk_menu_button_set_always_show_arrow(
16664        menu_button: *mut GtkMenuButton,
16665        always_show_arrow: gboolean,
16666    );
16667    #[cfg(feature = "v4_12")]
16668    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16669    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16670    #[cfg(feature = "v4_6")]
16671    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16672    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16673    pub fn gtk_menu_button_set_create_popup_func(
16674        menu_button: *mut GtkMenuButton,
16675        func: GtkMenuButtonCreatePopupFunc,
16676        user_data: gpointer,
16677        destroy_notify: glib::GDestroyNotify,
16678    );
16679    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16680    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16681    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16682    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16683    pub fn gtk_menu_button_set_menu_model(
16684        menu_button: *mut GtkMenuButton,
16685        menu_model: *mut gio::GMenuModel,
16686    );
16687    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16688    #[cfg(feature = "v4_4")]
16689    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16690    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16691    pub fn gtk_menu_button_set_use_underline(
16692        menu_button: *mut GtkMenuButton,
16693        use_underline: gboolean,
16694    );
16695
16696    //=========================================================================
16697    // GtkMessageDialog
16698    //=========================================================================
16699    pub fn gtk_message_dialog_get_type() -> GType;
16700    pub fn gtk_message_dialog_new(
16701        parent: *mut GtkWindow,
16702        flags: GtkDialogFlags,
16703        type_: GtkMessageType,
16704        buttons: GtkButtonsType,
16705        message_format: *const c_char,
16706        ...
16707    ) -> *mut GtkWidget;
16708    pub fn gtk_message_dialog_new_with_markup(
16709        parent: *mut GtkWindow,
16710        flags: GtkDialogFlags,
16711        type_: GtkMessageType,
16712        buttons: GtkButtonsType,
16713        message_format: *const c_char,
16714        ...
16715    ) -> *mut GtkWidget;
16716    pub fn gtk_message_dialog_format_secondary_markup(
16717        message_dialog: *mut GtkMessageDialog,
16718        message_format: *const c_char,
16719        ...
16720    );
16721    pub fn gtk_message_dialog_format_secondary_text(
16722        message_dialog: *mut GtkMessageDialog,
16723        message_format: *const c_char,
16724        ...
16725    );
16726    pub fn gtk_message_dialog_get_message_area(
16727        message_dialog: *mut GtkMessageDialog,
16728    ) -> *mut GtkWidget;
16729    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16730
16731    //=========================================================================
16732    // GtkMnemonicAction
16733    //=========================================================================
16734    pub fn gtk_mnemonic_action_get_type() -> GType;
16735    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16736
16737    //=========================================================================
16738    // GtkMnemonicTrigger
16739    //=========================================================================
16740    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16741    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16742    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16743
16744    //=========================================================================
16745    // GtkMountOperation
16746    //=========================================================================
16747    pub fn gtk_mount_operation_get_type() -> GType;
16748    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16749    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16750    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16751    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16752    pub fn gtk_mount_operation_set_display(
16753        op: *mut GtkMountOperation,
16754        display: *mut gdk::GdkDisplay,
16755    );
16756    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16757
16758    //=========================================================================
16759    // GtkMultiFilter
16760    //=========================================================================
16761    pub fn gtk_multi_filter_get_type() -> GType;
16762    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16763    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16764
16765    //=========================================================================
16766    // GtkMultiSelection
16767    //=========================================================================
16768    pub fn gtk_multi_selection_get_type() -> GType;
16769    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16770    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16771    pub fn gtk_multi_selection_set_model(
16772        self_: *mut GtkMultiSelection,
16773        model: *mut gio::GListModel,
16774    );
16775
16776    //=========================================================================
16777    // GtkMultiSorter
16778    //=========================================================================
16779    pub fn gtk_multi_sorter_get_type() -> GType;
16780    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16781    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16782    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16783
16784    //=========================================================================
16785    // GtkNamedAction
16786    //=========================================================================
16787    pub fn gtk_named_action_get_type() -> GType;
16788    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16789    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16790
16791    //=========================================================================
16792    // GtkNativeDialog
16793    //=========================================================================
16794    pub fn gtk_native_dialog_get_type() -> GType;
16795    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16796    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16797    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16798    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16799    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16800    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16801    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16802    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16803    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16804    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16805
16806    //=========================================================================
16807    // GtkNeverTrigger
16808    //=========================================================================
16809    pub fn gtk_never_trigger_get_type() -> GType;
16810    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16811
16812    //=========================================================================
16813    // GtkNoSelection
16814    //=========================================================================
16815    pub fn gtk_no_selection_get_type() -> GType;
16816    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16817    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16818    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16819
16820    //=========================================================================
16821    // GtkNotebook
16822    //=========================================================================
16823    pub fn gtk_notebook_get_type() -> GType;
16824    pub fn gtk_notebook_new() -> *mut GtkWidget;
16825    pub fn gtk_notebook_append_page(
16826        notebook: *mut GtkNotebook,
16827        child: *mut GtkWidget,
16828        tab_label: *mut GtkWidget,
16829    ) -> c_int;
16830    pub fn gtk_notebook_append_page_menu(
16831        notebook: *mut GtkNotebook,
16832        child: *mut GtkWidget,
16833        tab_label: *mut GtkWidget,
16834        menu_label: *mut GtkWidget,
16835    ) -> c_int;
16836    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16837    pub fn gtk_notebook_get_action_widget(
16838        notebook: *mut GtkNotebook,
16839        pack_type: GtkPackType,
16840    ) -> *mut GtkWidget;
16841    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16842    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16843    pub fn gtk_notebook_get_menu_label(
16844        notebook: *mut GtkNotebook,
16845        child: *mut GtkWidget,
16846    ) -> *mut GtkWidget;
16847    pub fn gtk_notebook_get_menu_label_text(
16848        notebook: *mut GtkNotebook,
16849        child: *mut GtkWidget,
16850    ) -> *const c_char;
16851    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16852    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16853    -> *mut GtkWidget;
16854    pub fn gtk_notebook_get_page(
16855        notebook: *mut GtkNotebook,
16856        child: *mut GtkWidget,
16857    ) -> *mut GtkNotebookPage;
16858    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16859    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16860    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16861    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16862    pub fn gtk_notebook_get_tab_detachable(
16863        notebook: *mut GtkNotebook,
16864        child: *mut GtkWidget,
16865    ) -> gboolean;
16866    pub fn gtk_notebook_get_tab_label(
16867        notebook: *mut GtkNotebook,
16868        child: *mut GtkWidget,
16869    ) -> *mut GtkWidget;
16870    pub fn gtk_notebook_get_tab_label_text(
16871        notebook: *mut GtkNotebook,
16872        child: *mut GtkWidget,
16873    ) -> *const c_char;
16874    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16875    pub fn gtk_notebook_get_tab_reorderable(
16876        notebook: *mut GtkNotebook,
16877        child: *mut GtkWidget,
16878    ) -> gboolean;
16879    pub fn gtk_notebook_insert_page(
16880        notebook: *mut GtkNotebook,
16881        child: *mut GtkWidget,
16882        tab_label: *mut GtkWidget,
16883        position: c_int,
16884    ) -> c_int;
16885    pub fn gtk_notebook_insert_page_menu(
16886        notebook: *mut GtkNotebook,
16887        child: *mut GtkWidget,
16888        tab_label: *mut GtkWidget,
16889        menu_label: *mut GtkWidget,
16890        position: c_int,
16891    ) -> c_int;
16892    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16893    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16894    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16895    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16896    pub fn gtk_notebook_prepend_page(
16897        notebook: *mut GtkNotebook,
16898        child: *mut GtkWidget,
16899        tab_label: *mut GtkWidget,
16900    ) -> c_int;
16901    pub fn gtk_notebook_prepend_page_menu(
16902        notebook: *mut GtkNotebook,
16903        child: *mut GtkWidget,
16904        tab_label: *mut GtkWidget,
16905        menu_label: *mut GtkWidget,
16906    ) -> c_int;
16907    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16908    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16909    pub fn gtk_notebook_reorder_child(
16910        notebook: *mut GtkNotebook,
16911        child: *mut GtkWidget,
16912        position: c_int,
16913    );
16914    pub fn gtk_notebook_set_action_widget(
16915        notebook: *mut GtkNotebook,
16916        widget: *mut GtkWidget,
16917        pack_type: GtkPackType,
16918    );
16919    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16920    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16921    pub fn gtk_notebook_set_menu_label(
16922        notebook: *mut GtkNotebook,
16923        child: *mut GtkWidget,
16924        menu_label: *mut GtkWidget,
16925    );
16926    pub fn gtk_notebook_set_menu_label_text(
16927        notebook: *mut GtkNotebook,
16928        child: *mut GtkWidget,
16929        menu_text: *const c_char,
16930    );
16931    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16932    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16933    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16934    pub fn gtk_notebook_set_tab_detachable(
16935        notebook: *mut GtkNotebook,
16936        child: *mut GtkWidget,
16937        detachable: gboolean,
16938    );
16939    pub fn gtk_notebook_set_tab_label(
16940        notebook: *mut GtkNotebook,
16941        child: *mut GtkWidget,
16942        tab_label: *mut GtkWidget,
16943    );
16944    pub fn gtk_notebook_set_tab_label_text(
16945        notebook: *mut GtkNotebook,
16946        child: *mut GtkWidget,
16947        tab_text: *const c_char,
16948    );
16949    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16950    pub fn gtk_notebook_set_tab_reorderable(
16951        notebook: *mut GtkNotebook,
16952        child: *mut GtkWidget,
16953        reorderable: gboolean,
16954    );
16955
16956    //=========================================================================
16957    // GtkNotebookPage
16958    //=========================================================================
16959    pub fn gtk_notebook_page_get_type() -> GType;
16960    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16961
16962    //=========================================================================
16963    // GtkNothingAction
16964    //=========================================================================
16965    pub fn gtk_nothing_action_get_type() -> GType;
16966    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16967
16968    //=========================================================================
16969    // GtkNumericSorter
16970    //=========================================================================
16971    pub fn gtk_numeric_sorter_get_type() -> GType;
16972    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16973    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16974    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16975    pub fn gtk_numeric_sorter_set_expression(
16976        self_: *mut GtkNumericSorter,
16977        expression: *mut GtkExpression,
16978    );
16979    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16980
16981    //=========================================================================
16982    // GtkObjectExpression
16983    //=========================================================================
16984    pub fn gtk_object_expression_get_type() -> GType;
16985    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16986    pub fn gtk_object_expression_get_object(
16987        expression: *mut GtkObjectExpression,
16988    ) -> *mut gobject::GObject;
16989
16990    //=========================================================================
16991    // GtkOverlay
16992    //=========================================================================
16993    pub fn gtk_overlay_get_type() -> GType;
16994    pub fn gtk_overlay_new() -> *mut GtkWidget;
16995    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16996    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
16997    pub fn gtk_overlay_get_clip_overlay(
16998        overlay: *mut GtkOverlay,
16999        widget: *mut GtkWidget,
17000    ) -> gboolean;
17001    pub fn gtk_overlay_get_measure_overlay(
17002        overlay: *mut GtkOverlay,
17003        widget: *mut GtkWidget,
17004    ) -> gboolean;
17005    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
17006    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
17007    pub fn gtk_overlay_set_clip_overlay(
17008        overlay: *mut GtkOverlay,
17009        widget: *mut GtkWidget,
17010        clip_overlay: gboolean,
17011    );
17012    pub fn gtk_overlay_set_measure_overlay(
17013        overlay: *mut GtkOverlay,
17014        widget: *mut GtkWidget,
17015        measure: gboolean,
17016    );
17017
17018    //=========================================================================
17019    // GtkOverlayLayout
17020    //=========================================================================
17021    pub fn gtk_overlay_layout_get_type() -> GType;
17022    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
17023
17024    //=========================================================================
17025    // GtkOverlayLayoutChild
17026    //=========================================================================
17027    pub fn gtk_overlay_layout_child_get_type() -> GType;
17028    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
17029    -> gboolean;
17030    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
17031    pub fn gtk_overlay_layout_child_set_clip_overlay(
17032        child: *mut GtkOverlayLayoutChild,
17033        clip_overlay: gboolean,
17034    );
17035    pub fn gtk_overlay_layout_child_set_measure(
17036        child: *mut GtkOverlayLayoutChild,
17037        measure: gboolean,
17038    );
17039
17040    //=========================================================================
17041    // GtkPadController
17042    //=========================================================================
17043    pub fn gtk_pad_controller_get_type() -> GType;
17044    pub fn gtk_pad_controller_new(
17045        group: *mut gio::GActionGroup,
17046        pad: *mut gdk::GdkDevice,
17047    ) -> *mut GtkPadController;
17048    pub fn gtk_pad_controller_set_action(
17049        controller: *mut GtkPadController,
17050        type_: GtkPadActionType,
17051        index: c_int,
17052        mode: c_int,
17053        label: *const c_char,
17054        action_name: *const c_char,
17055    );
17056    pub fn gtk_pad_controller_set_action_entries(
17057        controller: *mut GtkPadController,
17058        entries: *const GtkPadActionEntry,
17059        n_entries: c_int,
17060    );
17061
17062    //=========================================================================
17063    // GtkPageSetup
17064    //=========================================================================
17065    pub fn gtk_page_setup_get_type() -> GType;
17066    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
17067    pub fn gtk_page_setup_new_from_file(
17068        file_name: *const c_char,
17069        error: *mut *mut glib::GError,
17070    ) -> *mut GtkPageSetup;
17071    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
17072    pub fn gtk_page_setup_new_from_key_file(
17073        key_file: *mut glib::GKeyFile,
17074        group_name: *const c_char,
17075        error: *mut *mut glib::GError,
17076    ) -> *mut GtkPageSetup;
17077    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
17078    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17079    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17080    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
17081    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17082    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17083    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17084    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
17085    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17086    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17087    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17088    pub fn gtk_page_setup_load_file(
17089        setup: *mut GtkPageSetup,
17090        file_name: *const c_char,
17091        error: *mut *mut glib::GError,
17092    ) -> gboolean;
17093    pub fn gtk_page_setup_load_key_file(
17094        setup: *mut GtkPageSetup,
17095        key_file: *mut glib::GKeyFile,
17096        group_name: *const c_char,
17097        error: *mut *mut glib::GError,
17098    ) -> gboolean;
17099    pub fn gtk_page_setup_set_bottom_margin(
17100        setup: *mut GtkPageSetup,
17101        margin: c_double,
17102        unit: GtkUnit,
17103    );
17104    pub fn gtk_page_setup_set_left_margin(
17105        setup: *mut GtkPageSetup,
17106        margin: c_double,
17107        unit: GtkUnit,
17108    );
17109    pub fn gtk_page_setup_set_orientation(
17110        setup: *mut GtkPageSetup,
17111        orientation: GtkPageOrientation,
17112    );
17113    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
17114    pub fn gtk_page_setup_set_paper_size_and_default_margins(
17115        setup: *mut GtkPageSetup,
17116        size: *mut GtkPaperSize,
17117    );
17118    pub fn gtk_page_setup_set_right_margin(
17119        setup: *mut GtkPageSetup,
17120        margin: c_double,
17121        unit: GtkUnit,
17122    );
17123    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17124    pub fn gtk_page_setup_to_file(
17125        setup: *mut GtkPageSetup,
17126        file_name: *const c_char,
17127        error: *mut *mut glib::GError,
17128    ) -> gboolean;
17129    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17130    pub fn gtk_page_setup_to_key_file(
17131        setup: *mut GtkPageSetup,
17132        key_file: *mut glib::GKeyFile,
17133        group_name: *const c_char,
17134    );
17135
17136    //=========================================================================
17137    // GtkPageSetupUnixDialog
17138    //=========================================================================
17139    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17140    pub fn gtk_page_setup_unix_dialog_new(
17141        title: *const c_char,
17142        parent: *mut GtkWindow,
17143    ) -> *mut GtkWidget;
17144    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17145        dialog: *mut GtkPageSetupUnixDialog,
17146    ) -> *mut GtkPageSetup;
17147    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17148        dialog: *mut GtkPageSetupUnixDialog,
17149    ) -> *mut GtkPrintSettings;
17150    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17151        dialog: *mut GtkPageSetupUnixDialog,
17152        page_setup: *mut GtkPageSetup,
17153    );
17154    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17155        dialog: *mut GtkPageSetupUnixDialog,
17156        print_settings: *mut GtkPrintSettings,
17157    );
17158
17159    //=========================================================================
17160    // GtkPaned
17161    //=========================================================================
17162    pub fn gtk_paned_get_type() -> GType;
17163    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17164    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17165    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17166    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17167    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17168    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17169    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17170    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17171    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17172    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17173    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17174    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17175    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17176    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17177    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17178    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17179    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17180
17181    //=========================================================================
17182    // GtkParamSpecExpression
17183    //=========================================================================
17184    pub fn gtk_param_expression_get_type() -> GType;
17185
17186    //=========================================================================
17187    // GtkPasswordEntry
17188    //=========================================================================
17189    pub fn gtk_password_entry_get_type() -> GType;
17190    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17191    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17192    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17193    pub fn gtk_password_entry_set_extra_menu(
17194        entry: *mut GtkPasswordEntry,
17195        model: *mut gio::GMenuModel,
17196    );
17197    pub fn gtk_password_entry_set_show_peek_icon(
17198        entry: *mut GtkPasswordEntry,
17199        show_peek_icon: gboolean,
17200    );
17201
17202    //=========================================================================
17203    // GtkPasswordEntryBuffer
17204    //=========================================================================
17205    #[cfg(feature = "v4_4")]
17206    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17207    pub fn gtk_password_entry_buffer_get_type() -> GType;
17208    #[cfg(feature = "v4_4")]
17209    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17210    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17211
17212    //=========================================================================
17213    // GtkPicture
17214    //=========================================================================
17215    pub fn gtk_picture_get_type() -> GType;
17216    pub fn gtk_picture_new() -> *mut GtkWidget;
17217    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17218    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17219    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17220    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17221    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17222    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17223    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17224    #[cfg(feature = "v4_8")]
17225    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17226    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17227    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17228    #[cfg(feature = "v4_22")]
17229    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17230    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17231    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17232    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17233    pub fn gtk_picture_set_alternative_text(
17234        self_: *mut GtkPicture,
17235        alternative_text: *const c_char,
17236    );
17237    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17238    #[cfg(feature = "v4_8")]
17239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17240    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17241    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17242    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17243    #[cfg(feature = "v4_22")]
17244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17245    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17246    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17247    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17248    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17249    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17250
17251    //=========================================================================
17252    // GtkPopover
17253    //=========================================================================
17254    pub fn gtk_popover_get_type() -> GType;
17255    pub fn gtk_popover_new() -> *mut GtkWidget;
17256    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17257    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17258    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17259    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17260    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17261    pub fn gtk_popover_get_offset(
17262        popover: *mut GtkPopover,
17263        x_offset: *mut c_int,
17264        y_offset: *mut c_int,
17265    );
17266    pub fn gtk_popover_get_pointing_to(
17267        popover: *mut GtkPopover,
17268        rect: *mut gdk::GdkRectangle,
17269    ) -> gboolean;
17270    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17271    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17272    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17273    pub fn gtk_popover_present(popover: *mut GtkPopover);
17274    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17275    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17276    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17277    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17278    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17279    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17280    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17281    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17282    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17283
17284    //=========================================================================
17285    // GtkPopoverBin
17286    //=========================================================================
17287    #[cfg(feature = "v4_22")]
17288    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17289    pub fn gtk_popover_bin_get_type() -> GType;
17290    #[cfg(feature = "v4_22")]
17291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17292    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17293    #[cfg(feature = "v4_22")]
17294    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17295    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17296    #[cfg(feature = "v4_22")]
17297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17298    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17299    #[cfg(feature = "v4_22")]
17300    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17301    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17302    #[cfg(feature = "v4_22")]
17303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17304    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17305    #[cfg(feature = "v4_22")]
17306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17307    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17308    #[cfg(feature = "v4_22")]
17309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17310    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17311    #[cfg(feature = "v4_22")]
17312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17313    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17314    #[cfg(feature = "v4_22")]
17315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17316    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17317    #[cfg(feature = "v4_22")]
17318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17319    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17320    #[cfg(feature = "v4_22")]
17321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17322    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17323
17324    //=========================================================================
17325    // GtkPopoverMenu
17326    //=========================================================================
17327    pub fn gtk_popover_menu_get_type() -> GType;
17328    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17329    pub fn gtk_popover_menu_new_from_model_full(
17330        model: *mut gio::GMenuModel,
17331        flags: GtkPopoverMenuFlags,
17332    ) -> *mut GtkWidget;
17333    pub fn gtk_popover_menu_add_child(
17334        popover: *mut GtkPopoverMenu,
17335        child: *mut GtkWidget,
17336        id: *const c_char,
17337    ) -> gboolean;
17338    #[cfg(feature = "v4_14")]
17339    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17340    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17341    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17342    pub fn gtk_popover_menu_remove_child(
17343        popover: *mut GtkPopoverMenu,
17344        child: *mut GtkWidget,
17345    ) -> gboolean;
17346    #[cfg(feature = "v4_14")]
17347    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17348    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17349    pub fn gtk_popover_menu_set_menu_model(
17350        popover: *mut GtkPopoverMenu,
17351        model: *mut gio::GMenuModel,
17352    );
17353
17354    //=========================================================================
17355    // GtkPopoverMenuBar
17356    //=========================================================================
17357    pub fn gtk_popover_menu_bar_get_type() -> GType;
17358    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17359    pub fn gtk_popover_menu_bar_add_child(
17360        bar: *mut GtkPopoverMenuBar,
17361        child: *mut GtkWidget,
17362        id: *const c_char,
17363    ) -> gboolean;
17364    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17365    -> *mut gio::GMenuModel;
17366    pub fn gtk_popover_menu_bar_remove_child(
17367        bar: *mut GtkPopoverMenuBar,
17368        child: *mut GtkWidget,
17369    ) -> gboolean;
17370    pub fn gtk_popover_menu_bar_set_menu_model(
17371        bar: *mut GtkPopoverMenuBar,
17372        model: *mut gio::GMenuModel,
17373    );
17374
17375    //=========================================================================
17376    // GtkPrintContext
17377    //=========================================================================
17378    pub fn gtk_print_context_get_type() -> GType;
17379    pub fn gtk_print_context_create_pango_context(
17380        context: *mut GtkPrintContext,
17381    ) -> *mut pango::PangoContext;
17382    pub fn gtk_print_context_create_pango_layout(
17383        context: *mut GtkPrintContext,
17384    ) -> *mut pango::PangoLayout;
17385    pub fn gtk_print_context_get_cairo_context(
17386        context: *mut GtkPrintContext,
17387    ) -> *mut cairo::cairo_t;
17388    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17389    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17390    pub fn gtk_print_context_get_hard_margins(
17391        context: *mut GtkPrintContext,
17392        top: *mut c_double,
17393        bottom: *mut c_double,
17394        left: *mut c_double,
17395        right: *mut c_double,
17396    ) -> gboolean;
17397    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17398    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17399    pub fn gtk_print_context_get_pango_fontmap(
17400        context: *mut GtkPrintContext,
17401    ) -> *mut pango::PangoFontMap;
17402    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17403    pub fn gtk_print_context_set_cairo_context(
17404        context: *mut GtkPrintContext,
17405        cr: *mut cairo::cairo_t,
17406        dpi_x: c_double,
17407        dpi_y: c_double,
17408    );
17409
17410    //=========================================================================
17411    // GtkPrintDialog
17412    //=========================================================================
17413    #[cfg(feature = "v4_14")]
17414    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17415    pub fn gtk_print_dialog_get_type() -> GType;
17416    #[cfg(feature = "v4_14")]
17417    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17418    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17419    #[cfg(feature = "v4_14")]
17420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17421    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17422    #[cfg(feature = "v4_14")]
17423    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17424    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17425    #[cfg(feature = "v4_14")]
17426    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17427    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17428    #[cfg(feature = "v4_14")]
17429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17430    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17431    -> *mut GtkPrintSettings;
17432    #[cfg(feature = "v4_14")]
17433    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17434    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17435    #[cfg(feature = "v4_14")]
17436    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17437    pub fn gtk_print_dialog_print(
17438        self_: *mut GtkPrintDialog,
17439        parent: *mut GtkWindow,
17440        setup: *mut GtkPrintSetup,
17441        cancellable: *mut gio::GCancellable,
17442        callback: gio::GAsyncReadyCallback,
17443        user_data: gpointer,
17444    );
17445    #[cfg(feature = "v4_14")]
17446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17447    pub fn gtk_print_dialog_print_file(
17448        self_: *mut GtkPrintDialog,
17449        parent: *mut GtkWindow,
17450        setup: *mut GtkPrintSetup,
17451        file: *mut gio::GFile,
17452        cancellable: *mut gio::GCancellable,
17453        callback: gio::GAsyncReadyCallback,
17454        user_data: gpointer,
17455    );
17456    #[cfg(feature = "v4_14")]
17457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17458    pub fn gtk_print_dialog_print_file_finish(
17459        self_: *mut GtkPrintDialog,
17460        result: *mut gio::GAsyncResult,
17461        error: *mut *mut glib::GError,
17462    ) -> gboolean;
17463    #[cfg(feature = "v4_14")]
17464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17465    pub fn gtk_print_dialog_print_finish(
17466        self_: *mut GtkPrintDialog,
17467        result: *mut gio::GAsyncResult,
17468        error: *mut *mut glib::GError,
17469    ) -> *mut gio::GOutputStream;
17470    #[cfg(feature = "v4_14")]
17471    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17472    pub fn gtk_print_dialog_set_accept_label(
17473        self_: *mut GtkPrintDialog,
17474        accept_label: *const c_char,
17475    );
17476    #[cfg(feature = "v4_14")]
17477    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17478    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17479    #[cfg(feature = "v4_14")]
17480    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17481    pub fn gtk_print_dialog_set_page_setup(
17482        self_: *mut GtkPrintDialog,
17483        page_setup: *mut GtkPageSetup,
17484    );
17485    #[cfg(feature = "v4_14")]
17486    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17487    pub fn gtk_print_dialog_set_print_settings(
17488        self_: *mut GtkPrintDialog,
17489        print_settings: *mut GtkPrintSettings,
17490    );
17491    #[cfg(feature = "v4_14")]
17492    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17493    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17494    #[cfg(feature = "v4_14")]
17495    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17496    pub fn gtk_print_dialog_setup(
17497        self_: *mut GtkPrintDialog,
17498        parent: *mut GtkWindow,
17499        cancellable: *mut gio::GCancellable,
17500        callback: gio::GAsyncReadyCallback,
17501        user_data: gpointer,
17502    );
17503    #[cfg(feature = "v4_14")]
17504    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17505    pub fn gtk_print_dialog_setup_finish(
17506        self_: *mut GtkPrintDialog,
17507        result: *mut gio::GAsyncResult,
17508        error: *mut *mut glib::GError,
17509    ) -> *mut GtkPrintSetup;
17510
17511    //=========================================================================
17512    // GtkPrintJob
17513    //=========================================================================
17514    pub fn gtk_print_job_get_type() -> GType;
17515    pub fn gtk_print_job_new(
17516        title: *const c_char,
17517        printer: *mut GtkPrinter,
17518        settings: *mut GtkPrintSettings,
17519        page_setup: *mut GtkPageSetup,
17520    ) -> *mut GtkPrintJob;
17521    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17522    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17523    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17524    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17525    pub fn gtk_print_job_get_page_ranges(
17526        job: *mut GtkPrintJob,
17527        n_ranges: *mut c_int,
17528    ) -> *mut GtkPageRange;
17529    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17530    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17531    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17532    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17533    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17534    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17535    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17536    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17537    pub fn gtk_print_job_get_surface(
17538        job: *mut GtkPrintJob,
17539        error: *mut *mut glib::GError,
17540    ) -> *mut cairo::cairo_surface_t;
17541    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17542    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17543    pub fn gtk_print_job_send(
17544        job: *mut GtkPrintJob,
17545        callback: GtkPrintJobCompleteFunc,
17546        user_data: gpointer,
17547        dnotify: glib::GDestroyNotify,
17548    );
17549    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17550    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17551    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17552    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17553    pub fn gtk_print_job_set_page_ranges(
17554        job: *mut GtkPrintJob,
17555        ranges: *mut GtkPageRange,
17556        n_ranges: c_int,
17557    );
17558    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17559    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17560    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17561    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17562    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17563    pub fn gtk_print_job_set_source_fd(
17564        job: *mut GtkPrintJob,
17565        fd: c_int,
17566        error: *mut *mut glib::GError,
17567    ) -> gboolean;
17568    pub fn gtk_print_job_set_source_file(
17569        job: *mut GtkPrintJob,
17570        filename: *const c_char,
17571        error: *mut *mut glib::GError,
17572    ) -> gboolean;
17573    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17574
17575    //=========================================================================
17576    // GtkPrintOperation
17577    //=========================================================================
17578    pub fn gtk_print_operation_get_type() -> GType;
17579    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17580    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17581    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17582    pub fn gtk_print_operation_get_default_page_setup(
17583        op: *mut GtkPrintOperation,
17584    ) -> *mut GtkPageSetup;
17585    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17586    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17587    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17588    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17589    pub fn gtk_print_operation_get_print_settings(
17590        op: *mut GtkPrintOperation,
17591    ) -> *mut GtkPrintSettings;
17592    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17593    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17594    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17595    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17596    pub fn gtk_print_operation_run(
17597        op: *mut GtkPrintOperation,
17598        action: GtkPrintOperationAction,
17599        parent: *mut GtkWindow,
17600        error: *mut *mut glib::GError,
17601    ) -> GtkPrintOperationResult;
17602    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17603    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17604    pub fn gtk_print_operation_set_custom_tab_label(
17605        op: *mut GtkPrintOperation,
17606        label: *const c_char,
17607    );
17608    pub fn gtk_print_operation_set_default_page_setup(
17609        op: *mut GtkPrintOperation,
17610        default_page_setup: *mut GtkPageSetup,
17611    );
17612    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17613    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17614    pub fn gtk_print_operation_set_export_filename(
17615        op: *mut GtkPrintOperation,
17616        filename: *const c_char,
17617    );
17618    pub fn gtk_print_operation_set_has_selection(
17619        op: *mut GtkPrintOperation,
17620        has_selection: gboolean,
17621    );
17622    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17623    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17624    pub fn gtk_print_operation_set_print_settings(
17625        op: *mut GtkPrintOperation,
17626        print_settings: *mut GtkPrintSettings,
17627    );
17628    pub fn gtk_print_operation_set_show_progress(
17629        op: *mut GtkPrintOperation,
17630        show_progress: gboolean,
17631    );
17632    pub fn gtk_print_operation_set_support_selection(
17633        op: *mut GtkPrintOperation,
17634        support_selection: gboolean,
17635    );
17636    pub fn gtk_print_operation_set_track_print_status(
17637        op: *mut GtkPrintOperation,
17638        track_status: gboolean,
17639    );
17640    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17641    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17642
17643    //=========================================================================
17644    // GtkPrintSettings
17645    //=========================================================================
17646    pub fn gtk_print_settings_get_type() -> GType;
17647    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17648    pub fn gtk_print_settings_new_from_file(
17649        file_name: *const c_char,
17650        error: *mut *mut glib::GError,
17651    ) -> *mut GtkPrintSettings;
17652    pub fn gtk_print_settings_new_from_gvariant(
17653        variant: *mut glib::GVariant,
17654    ) -> *mut GtkPrintSettings;
17655    pub fn gtk_print_settings_new_from_key_file(
17656        key_file: *mut glib::GKeyFile,
17657        group_name: *const c_char,
17658        error: *mut *mut glib::GError,
17659    ) -> *mut GtkPrintSettings;
17660    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17661    pub fn gtk_print_settings_foreach(
17662        settings: *mut GtkPrintSettings,
17663        func: GtkPrintSettingsFunc,
17664        user_data: gpointer,
17665    );
17666    pub fn gtk_print_settings_get(
17667        settings: *mut GtkPrintSettings,
17668        key: *const c_char,
17669    ) -> *const c_char;
17670    pub fn gtk_print_settings_get_bool(
17671        settings: *mut GtkPrintSettings,
17672        key: *const c_char,
17673    ) -> gboolean;
17674    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17675    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17676    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17677    pub fn gtk_print_settings_get_double(
17678        settings: *mut GtkPrintSettings,
17679        key: *const c_char,
17680    ) -> c_double;
17681    pub fn gtk_print_settings_get_double_with_default(
17682        settings: *mut GtkPrintSettings,
17683        key: *const c_char,
17684        def: c_double,
17685    ) -> c_double;
17686    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17687    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17688    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17689    -> c_int;
17690    pub fn gtk_print_settings_get_int_with_default(
17691        settings: *mut GtkPrintSettings,
17692        key: *const c_char,
17693        def: c_int,
17694    ) -> c_int;
17695    pub fn gtk_print_settings_get_length(
17696        settings: *mut GtkPrintSettings,
17697        key: *const c_char,
17698        unit: GtkUnit,
17699    ) -> c_double;
17700    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17701    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17702    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17703    pub fn gtk_print_settings_get_number_up_layout(
17704        settings: *mut GtkPrintSettings,
17705    ) -> GtkNumberUpLayout;
17706    pub fn gtk_print_settings_get_orientation(
17707        settings: *mut GtkPrintSettings,
17708    ) -> GtkPageOrientation;
17709    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17710    pub fn gtk_print_settings_get_page_ranges(
17711        settings: *mut GtkPrintSettings,
17712        num_ranges: *mut c_int,
17713    ) -> *mut GtkPageRange;
17714    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17715    pub fn gtk_print_settings_get_paper_height(
17716        settings: *mut GtkPrintSettings,
17717        unit: GtkUnit,
17718    ) -> c_double;
17719    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17720    pub fn gtk_print_settings_get_paper_width(
17721        settings: *mut GtkPrintSettings,
17722        unit: GtkUnit,
17723    ) -> c_double;
17724    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17725    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17726    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17727    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17728    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17729    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17730    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17731    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17732    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17733    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17734    pub fn gtk_print_settings_has_key(
17735        settings: *mut GtkPrintSettings,
17736        key: *const c_char,
17737    ) -> gboolean;
17738    pub fn gtk_print_settings_load_file(
17739        settings: *mut GtkPrintSettings,
17740        file_name: *const c_char,
17741        error: *mut *mut glib::GError,
17742    ) -> gboolean;
17743    pub fn gtk_print_settings_load_key_file(
17744        settings: *mut GtkPrintSettings,
17745        key_file: *mut glib::GKeyFile,
17746        group_name: *const c_char,
17747        error: *mut *mut glib::GError,
17748    ) -> gboolean;
17749    pub fn gtk_print_settings_set(
17750        settings: *mut GtkPrintSettings,
17751        key: *const c_char,
17752        value: *const c_char,
17753    );
17754    pub fn gtk_print_settings_set_bool(
17755        settings: *mut GtkPrintSettings,
17756        key: *const c_char,
17757        value: gboolean,
17758    );
17759    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17760    pub fn gtk_print_settings_set_default_source(
17761        settings: *mut GtkPrintSettings,
17762        default_source: *const c_char,
17763    );
17764    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17765    pub fn gtk_print_settings_set_double(
17766        settings: *mut GtkPrintSettings,
17767        key: *const c_char,
17768        value: c_double,
17769    );
17770    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17771    pub fn gtk_print_settings_set_finishings(
17772        settings: *mut GtkPrintSettings,
17773        finishings: *const c_char,
17774    );
17775    pub fn gtk_print_settings_set_int(
17776        settings: *mut GtkPrintSettings,
17777        key: *const c_char,
17778        value: c_int,
17779    );
17780    pub fn gtk_print_settings_set_length(
17781        settings: *mut GtkPrintSettings,
17782        key: *const c_char,
17783        value: c_double,
17784        unit: GtkUnit,
17785    );
17786    pub fn gtk_print_settings_set_media_type(
17787        settings: *mut GtkPrintSettings,
17788        media_type: *const c_char,
17789    );
17790    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17791    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17792    pub fn gtk_print_settings_set_number_up_layout(
17793        settings: *mut GtkPrintSettings,
17794        number_up_layout: GtkNumberUpLayout,
17795    );
17796    pub fn gtk_print_settings_set_orientation(
17797        settings: *mut GtkPrintSettings,
17798        orientation: GtkPageOrientation,
17799    );
17800    pub fn gtk_print_settings_set_output_bin(
17801        settings: *mut GtkPrintSettings,
17802        output_bin: *const c_char,
17803    );
17804    pub fn gtk_print_settings_set_page_ranges(
17805        settings: *mut GtkPrintSettings,
17806        page_ranges: *mut GtkPageRange,
17807        num_ranges: c_int,
17808    );
17809    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17810    pub fn gtk_print_settings_set_paper_height(
17811        settings: *mut GtkPrintSettings,
17812        height: c_double,
17813        unit: GtkUnit,
17814    );
17815    pub fn gtk_print_settings_set_paper_size(
17816        settings: *mut GtkPrintSettings,
17817        paper_size: *mut GtkPaperSize,
17818    );
17819    pub fn gtk_print_settings_set_paper_width(
17820        settings: *mut GtkPrintSettings,
17821        width: c_double,
17822        unit: GtkUnit,
17823    );
17824    pub fn gtk_print_settings_set_print_pages(
17825        settings: *mut GtkPrintSettings,
17826        pages: GtkPrintPages,
17827    );
17828    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17829    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17830    pub fn gtk_print_settings_set_quality(
17831        settings: *mut GtkPrintSettings,
17832        quality: GtkPrintQuality,
17833    );
17834    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17835    pub fn gtk_print_settings_set_resolution_xy(
17836        settings: *mut GtkPrintSettings,
17837        resolution_x: c_int,
17838        resolution_y: c_int,
17839    );
17840    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17841    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17842    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17843    pub fn gtk_print_settings_to_file(
17844        settings: *mut GtkPrintSettings,
17845        file_name: *const c_char,
17846        error: *mut *mut glib::GError,
17847    ) -> gboolean;
17848    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17849    pub fn gtk_print_settings_to_key_file(
17850        settings: *mut GtkPrintSettings,
17851        key_file: *mut glib::GKeyFile,
17852        group_name: *const c_char,
17853    );
17854    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17855
17856    //=========================================================================
17857    // GtkPrintUnixDialog
17858    //=========================================================================
17859    pub fn gtk_print_unix_dialog_get_type() -> GType;
17860    pub fn gtk_print_unix_dialog_new(
17861        title: *const c_char,
17862        parent: *mut GtkWindow,
17863    ) -> *mut GtkWidget;
17864    pub fn gtk_print_unix_dialog_add_custom_tab(
17865        dialog: *mut GtkPrintUnixDialog,
17866        child: *mut GtkWidget,
17867        tab_label: *mut GtkWidget,
17868    );
17869    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17870    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17871    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17872    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17873        dialog: *mut GtkPrintUnixDialog,
17874    ) -> GtkPrintCapabilities;
17875    pub fn gtk_print_unix_dialog_get_page_setup(
17876        dialog: *mut GtkPrintUnixDialog,
17877    ) -> *mut GtkPageSetup;
17878    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17879    pub fn gtk_print_unix_dialog_get_selected_printer(
17880        dialog: *mut GtkPrintUnixDialog,
17881    ) -> *mut GtkPrinter;
17882    pub fn gtk_print_unix_dialog_get_settings(
17883        dialog: *mut GtkPrintUnixDialog,
17884    ) -> *mut GtkPrintSettings;
17885    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17886    -> gboolean;
17887    pub fn gtk_print_unix_dialog_set_current_page(
17888        dialog: *mut GtkPrintUnixDialog,
17889        current_page: c_int,
17890    );
17891    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17892        dialog: *mut GtkPrintUnixDialog,
17893        embed: gboolean,
17894    );
17895    pub fn gtk_print_unix_dialog_set_has_selection(
17896        dialog: *mut GtkPrintUnixDialog,
17897        has_selection: gboolean,
17898    );
17899    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17900        dialog: *mut GtkPrintUnixDialog,
17901        capabilities: GtkPrintCapabilities,
17902    );
17903    pub fn gtk_print_unix_dialog_set_page_setup(
17904        dialog: *mut GtkPrintUnixDialog,
17905        page_setup: *mut GtkPageSetup,
17906    );
17907    pub fn gtk_print_unix_dialog_set_settings(
17908        dialog: *mut GtkPrintUnixDialog,
17909        settings: *mut GtkPrintSettings,
17910    );
17911    pub fn gtk_print_unix_dialog_set_support_selection(
17912        dialog: *mut GtkPrintUnixDialog,
17913        support_selection: gboolean,
17914    );
17915
17916    //=========================================================================
17917    // GtkPrinter
17918    //=========================================================================
17919    pub fn gtk_printer_get_type() -> GType;
17920    pub fn gtk_printer_new(
17921        name: *const c_char,
17922        backend: *mut GtkPrintBackend,
17923        virtual_: gboolean,
17924    ) -> *mut GtkPrinter;
17925    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17926    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17927    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17928    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17929    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17930    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17931    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17932    pub fn gtk_printer_get_hard_margins(
17933        printer: *mut GtkPrinter,
17934        top: *mut c_double,
17935        bottom: *mut c_double,
17936        left: *mut c_double,
17937        right: *mut c_double,
17938    ) -> gboolean;
17939    pub fn gtk_printer_get_hard_margins_for_paper_size(
17940        printer: *mut GtkPrinter,
17941        paper_size: *mut GtkPaperSize,
17942        top: *mut c_double,
17943        bottom: *mut c_double,
17944        left: *mut c_double,
17945        right: *mut c_double,
17946    ) -> gboolean;
17947    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17948    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17949    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17950    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17951    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17952    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17953    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17954    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17955    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17956    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17957    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17958    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17959    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17960
17961    //=========================================================================
17962    // GtkProgressBar
17963    //=========================================================================
17964    pub fn gtk_progress_bar_get_type() -> GType;
17965    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17966    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17967    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17968    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17969    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17970    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17971    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17972    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17973    pub fn gtk_progress_bar_set_ellipsize(
17974        pbar: *mut GtkProgressBar,
17975        mode: pango::PangoEllipsizeMode,
17976    );
17977    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17978    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17979    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17980    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17981    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17982
17983    //=========================================================================
17984    // GtkPropertyExpression
17985    //=========================================================================
17986    pub fn gtk_property_expression_get_type() -> GType;
17987    pub fn gtk_property_expression_new(
17988        this_type: GType,
17989        expression: *mut GtkExpression,
17990        property_name: *const c_char,
17991    ) -> *mut GtkPropertyExpression;
17992    pub fn gtk_property_expression_new_for_pspec(
17993        expression: *mut GtkExpression,
17994        pspec: *mut gobject::GParamSpec,
17995    ) -> *mut GtkPropertyExpression;
17996    pub fn gtk_property_expression_get_expression(
17997        expression: *mut GtkPropertyExpression,
17998    ) -> *mut GtkExpression;
17999    pub fn gtk_property_expression_get_pspec(
18000        expression: *mut GtkPropertyExpression,
18001    ) -> *mut gobject::GParamSpec;
18002
18003    //=========================================================================
18004    // GtkRange
18005    //=========================================================================
18006    pub fn gtk_range_get_type() -> GType;
18007    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
18008    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
18009    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
18010    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
18011    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
18012    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
18013    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
18014    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
18015    pub fn gtk_range_get_slider_range(
18016        range: *mut GtkRange,
18017        slider_start: *mut c_int,
18018        slider_end: *mut c_int,
18019    );
18020    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
18021    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
18022    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
18023    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
18024    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
18025    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
18026    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
18027    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
18028    pub fn gtk_range_set_restrict_to_fill_level(
18029        range: *mut GtkRange,
18030        restrict_to_fill_level: gboolean,
18031    );
18032    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
18033    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
18034    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
18035    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
18036
18037    //=========================================================================
18038    // GtkRecentManager
18039    //=========================================================================
18040    pub fn gtk_recent_manager_get_type() -> GType;
18041    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
18042    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
18043    pub fn gtk_recent_manager_add_full(
18044        manager: *mut GtkRecentManager,
18045        uri: *const c_char,
18046        recent_data: *const GtkRecentData,
18047    ) -> gboolean;
18048    pub fn gtk_recent_manager_add_item(
18049        manager: *mut GtkRecentManager,
18050        uri: *const c_char,
18051    ) -> gboolean;
18052    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
18053    pub fn gtk_recent_manager_has_item(
18054        manager: *mut GtkRecentManager,
18055        uri: *const c_char,
18056    ) -> gboolean;
18057    pub fn gtk_recent_manager_lookup_item(
18058        manager: *mut GtkRecentManager,
18059        uri: *const c_char,
18060        error: *mut *mut glib::GError,
18061    ) -> *mut GtkRecentInfo;
18062    pub fn gtk_recent_manager_move_item(
18063        manager: *mut GtkRecentManager,
18064        uri: *const c_char,
18065        new_uri: *const c_char,
18066        error: *mut *mut glib::GError,
18067    ) -> gboolean;
18068    pub fn gtk_recent_manager_purge_items(
18069        manager: *mut GtkRecentManager,
18070        error: *mut *mut glib::GError,
18071    ) -> c_int;
18072    pub fn gtk_recent_manager_remove_item(
18073        manager: *mut GtkRecentManager,
18074        uri: *const c_char,
18075        error: *mut *mut glib::GError,
18076    ) -> gboolean;
18077
18078    //=========================================================================
18079    // GtkRevealer
18080    //=========================================================================
18081    pub fn gtk_revealer_get_type() -> GType;
18082    pub fn gtk_revealer_new() -> *mut GtkWidget;
18083    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
18084    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
18085    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
18086    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
18087    pub fn gtk_revealer_get_transition_type(
18088        revealer: *mut GtkRevealer,
18089    ) -> GtkRevealerTransitionType;
18090    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
18091    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
18092    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
18093    pub fn gtk_revealer_set_transition_type(
18094        revealer: *mut GtkRevealer,
18095        transition: GtkRevealerTransitionType,
18096    );
18097
18098    //=========================================================================
18099    // GtkScale
18100    //=========================================================================
18101    pub fn gtk_scale_get_type() -> GType;
18102    pub fn gtk_scale_new(
18103        orientation: GtkOrientation,
18104        adjustment: *mut GtkAdjustment,
18105    ) -> *mut GtkWidget;
18106    pub fn gtk_scale_new_with_range(
18107        orientation: GtkOrientation,
18108        min: c_double,
18109        max: c_double,
18110        step: c_double,
18111    ) -> *mut GtkWidget;
18112    pub fn gtk_scale_add_mark(
18113        scale: *mut GtkScale,
18114        value: c_double,
18115        position: GtkPositionType,
18116        markup: *const c_char,
18117    );
18118    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
18119    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
18120    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
18121    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18122    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18123    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18124    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18125    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18126    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18127    pub fn gtk_scale_set_format_value_func(
18128        scale: *mut GtkScale,
18129        func: GtkScaleFormatValueFunc,
18130        user_data: gpointer,
18131        destroy_notify: glib::GDestroyNotify,
18132    );
18133    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18134    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18135
18136    //=========================================================================
18137    // GtkScaleButton
18138    //=========================================================================
18139    pub fn gtk_scale_button_get_type() -> GType;
18140    pub fn gtk_scale_button_new(
18141        min: c_double,
18142        max: c_double,
18143        step: c_double,
18144        icons: *mut *const c_char,
18145    ) -> *mut GtkWidget;
18146    #[cfg(feature = "v4_10")]
18147    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18148    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18149    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18150    #[cfg(feature = "v4_14")]
18151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18152    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18153    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18154    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18155    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18156    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18157    pub fn gtk_scale_button_set_adjustment(
18158        button: *mut GtkScaleButton,
18159        adjustment: *mut GtkAdjustment,
18160    );
18161    #[cfg(feature = "v4_14")]
18162    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18163    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18164    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18165    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18166
18167    //=========================================================================
18168    // GtkScrollbar
18169    //=========================================================================
18170    pub fn gtk_scrollbar_get_type() -> GType;
18171    pub fn gtk_scrollbar_new(
18172        orientation: GtkOrientation,
18173        adjustment: *mut GtkAdjustment,
18174    ) -> *mut GtkWidget;
18175    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18176    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18177
18178    //=========================================================================
18179    // GtkScrolledWindow
18180    //=========================================================================
18181    pub fn gtk_scrolled_window_get_type() -> GType;
18182    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18183    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18184    -> *mut GtkWidget;
18185    pub fn gtk_scrolled_window_get_hadjustment(
18186        scrolled_window: *mut GtkScrolledWindow,
18187    ) -> *mut GtkAdjustment;
18188    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18189    pub fn gtk_scrolled_window_get_hscrollbar(
18190        scrolled_window: *mut GtkScrolledWindow,
18191    ) -> *mut GtkWidget;
18192    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18193        scrolled_window: *mut GtkScrolledWindow,
18194    ) -> gboolean;
18195    pub fn gtk_scrolled_window_get_max_content_height(
18196        scrolled_window: *mut GtkScrolledWindow,
18197    ) -> c_int;
18198    pub fn gtk_scrolled_window_get_max_content_width(
18199        scrolled_window: *mut GtkScrolledWindow,
18200    ) -> c_int;
18201    pub fn gtk_scrolled_window_get_min_content_height(
18202        scrolled_window: *mut GtkScrolledWindow,
18203    ) -> c_int;
18204    pub fn gtk_scrolled_window_get_min_content_width(
18205        scrolled_window: *mut GtkScrolledWindow,
18206    ) -> c_int;
18207    pub fn gtk_scrolled_window_get_overlay_scrolling(
18208        scrolled_window: *mut GtkScrolledWindow,
18209    ) -> gboolean;
18210    pub fn gtk_scrolled_window_get_placement(
18211        scrolled_window: *mut GtkScrolledWindow,
18212    ) -> GtkCornerType;
18213    pub fn gtk_scrolled_window_get_policy(
18214        scrolled_window: *mut GtkScrolledWindow,
18215        hscrollbar_policy: *mut GtkPolicyType,
18216        vscrollbar_policy: *mut GtkPolicyType,
18217    );
18218    pub fn gtk_scrolled_window_get_propagate_natural_height(
18219        scrolled_window: *mut GtkScrolledWindow,
18220    ) -> gboolean;
18221    pub fn gtk_scrolled_window_get_propagate_natural_width(
18222        scrolled_window: *mut GtkScrolledWindow,
18223    ) -> gboolean;
18224    pub fn gtk_scrolled_window_get_vadjustment(
18225        scrolled_window: *mut GtkScrolledWindow,
18226    ) -> *mut GtkAdjustment;
18227    pub fn gtk_scrolled_window_get_vscrollbar(
18228        scrolled_window: *mut GtkScrolledWindow,
18229    ) -> *mut GtkWidget;
18230    pub fn gtk_scrolled_window_set_child(
18231        scrolled_window: *mut GtkScrolledWindow,
18232        child: *mut GtkWidget,
18233    );
18234    pub fn gtk_scrolled_window_set_hadjustment(
18235        scrolled_window: *mut GtkScrolledWindow,
18236        hadjustment: *mut GtkAdjustment,
18237    );
18238    pub fn gtk_scrolled_window_set_has_frame(
18239        scrolled_window: *mut GtkScrolledWindow,
18240        has_frame: gboolean,
18241    );
18242    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18243        scrolled_window: *mut GtkScrolledWindow,
18244        kinetic_scrolling: gboolean,
18245    );
18246    pub fn gtk_scrolled_window_set_max_content_height(
18247        scrolled_window: *mut GtkScrolledWindow,
18248        height: c_int,
18249    );
18250    pub fn gtk_scrolled_window_set_max_content_width(
18251        scrolled_window: *mut GtkScrolledWindow,
18252        width: c_int,
18253    );
18254    pub fn gtk_scrolled_window_set_min_content_height(
18255        scrolled_window: *mut GtkScrolledWindow,
18256        height: c_int,
18257    );
18258    pub fn gtk_scrolled_window_set_min_content_width(
18259        scrolled_window: *mut GtkScrolledWindow,
18260        width: c_int,
18261    );
18262    pub fn gtk_scrolled_window_set_overlay_scrolling(
18263        scrolled_window: *mut GtkScrolledWindow,
18264        overlay_scrolling: gboolean,
18265    );
18266    pub fn gtk_scrolled_window_set_placement(
18267        scrolled_window: *mut GtkScrolledWindow,
18268        window_placement: GtkCornerType,
18269    );
18270    pub fn gtk_scrolled_window_set_policy(
18271        scrolled_window: *mut GtkScrolledWindow,
18272        hscrollbar_policy: GtkPolicyType,
18273        vscrollbar_policy: GtkPolicyType,
18274    );
18275    pub fn gtk_scrolled_window_set_propagate_natural_height(
18276        scrolled_window: *mut GtkScrolledWindow,
18277        propagate: gboolean,
18278    );
18279    pub fn gtk_scrolled_window_set_propagate_natural_width(
18280        scrolled_window: *mut GtkScrolledWindow,
18281        propagate: gboolean,
18282    );
18283    pub fn gtk_scrolled_window_set_vadjustment(
18284        scrolled_window: *mut GtkScrolledWindow,
18285        vadjustment: *mut GtkAdjustment,
18286    );
18287    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18288
18289    //=========================================================================
18290    // GtkSearchBar
18291    //=========================================================================
18292    pub fn gtk_search_bar_get_type() -> GType;
18293    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18294    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18295    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18296    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18297    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18298    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18299    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18300    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18301    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18302    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18303
18304    //=========================================================================
18305    // GtkSearchEntry
18306    //=========================================================================
18307    pub fn gtk_search_entry_get_type() -> GType;
18308    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18309    #[cfg(feature = "v4_14")]
18310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18311    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18312    #[cfg(feature = "v4_14")]
18313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18314    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18315    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18316    #[cfg(feature = "v4_10")]
18317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18318    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18319    #[cfg(feature = "v4_8")]
18320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18321    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18322    #[cfg(feature = "v4_14")]
18323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18324    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18325    #[cfg(feature = "v4_14")]
18326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18327    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18328    pub fn gtk_search_entry_set_key_capture_widget(
18329        entry: *mut GtkSearchEntry,
18330        widget: *mut GtkWidget,
18331    );
18332    #[cfg(feature = "v4_10")]
18333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18334    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18335    #[cfg(feature = "v4_8")]
18336    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18337    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18338
18339    //=========================================================================
18340    // GtkSelectionFilterModel
18341    //=========================================================================
18342    pub fn gtk_selection_filter_model_get_type() -> GType;
18343    pub fn gtk_selection_filter_model_new(
18344        model: *mut GtkSelectionModel,
18345    ) -> *mut GtkSelectionFilterModel;
18346    pub fn gtk_selection_filter_model_get_model(
18347        self_: *mut GtkSelectionFilterModel,
18348    ) -> *mut GtkSelectionModel;
18349    pub fn gtk_selection_filter_model_set_model(
18350        self_: *mut GtkSelectionFilterModel,
18351        model: *mut GtkSelectionModel,
18352    );
18353
18354    //=========================================================================
18355    // GtkSeparator
18356    //=========================================================================
18357    pub fn gtk_separator_get_type() -> GType;
18358    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18359
18360    //=========================================================================
18361    // GtkSettings
18362    //=========================================================================
18363    pub fn gtk_settings_get_type() -> GType;
18364    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18365    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18366    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18367
18368    //=========================================================================
18369    // GtkShortcut
18370    //=========================================================================
18371    pub fn gtk_shortcut_get_type() -> GType;
18372    pub fn gtk_shortcut_new(
18373        trigger: *mut GtkShortcutTrigger,
18374        action: *mut GtkShortcutAction,
18375    ) -> *mut GtkShortcut;
18376    pub fn gtk_shortcut_new_with_arguments(
18377        trigger: *mut GtkShortcutTrigger,
18378        action: *mut GtkShortcutAction,
18379        format_string: *const c_char,
18380        ...
18381    ) -> *mut GtkShortcut;
18382    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18383    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18384    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18385    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18386    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18387    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18388
18389    //=========================================================================
18390    // GtkShortcutAction
18391    //=========================================================================
18392    pub fn gtk_shortcut_action_get_type() -> GType;
18393    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18394    pub fn gtk_shortcut_action_activate(
18395        self_: *mut GtkShortcutAction,
18396        flags: GtkShortcutActionFlags,
18397        widget: *mut GtkWidget,
18398        args: *mut glib::GVariant,
18399    ) -> gboolean;
18400    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18401    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18402
18403    //=========================================================================
18404    // GtkShortcutController
18405    //=========================================================================
18406    pub fn gtk_shortcut_controller_get_type() -> GType;
18407    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18408    pub fn gtk_shortcut_controller_new_for_model(
18409        model: *mut gio::GListModel,
18410    ) -> *mut GtkEventController;
18411    pub fn gtk_shortcut_controller_add_shortcut(
18412        self_: *mut GtkShortcutController,
18413        shortcut: *mut GtkShortcut,
18414    );
18415    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18416        self_: *mut GtkShortcutController,
18417    ) -> gdk::GdkModifierType;
18418    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18419    -> GtkShortcutScope;
18420    pub fn gtk_shortcut_controller_remove_shortcut(
18421        self_: *mut GtkShortcutController,
18422        shortcut: *mut GtkShortcut,
18423    );
18424    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18425        self_: *mut GtkShortcutController,
18426        modifiers: gdk::GdkModifierType,
18427    );
18428    pub fn gtk_shortcut_controller_set_scope(
18429        self_: *mut GtkShortcutController,
18430        scope: GtkShortcutScope,
18431    );
18432
18433    //=========================================================================
18434    // GtkShortcutLabel
18435    //=========================================================================
18436    pub fn gtk_shortcut_label_get_type() -> GType;
18437    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18438    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18439    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18440    pub fn gtk_shortcut_label_set_accelerator(
18441        self_: *mut GtkShortcutLabel,
18442        accelerator: *const c_char,
18443    );
18444    pub fn gtk_shortcut_label_set_disabled_text(
18445        self_: *mut GtkShortcutLabel,
18446        disabled_text: *const c_char,
18447    );
18448
18449    //=========================================================================
18450    // GtkShortcutTrigger
18451    //=========================================================================
18452    pub fn gtk_shortcut_trigger_get_type() -> GType;
18453    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18454    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18455    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18456    -> gboolean;
18457    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18458    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18459    pub fn gtk_shortcut_trigger_print_label(
18460        self_: *mut GtkShortcutTrigger,
18461        display: *mut gdk::GdkDisplay,
18462        string: *mut glib::GString,
18463    ) -> gboolean;
18464    pub fn gtk_shortcut_trigger_to_label(
18465        self_: *mut GtkShortcutTrigger,
18466        display: *mut gdk::GdkDisplay,
18467    ) -> *mut c_char;
18468    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18469    pub fn gtk_shortcut_trigger_trigger(
18470        self_: *mut GtkShortcutTrigger,
18471        event: *mut gdk::GdkEvent,
18472        enable_mnemonics: gboolean,
18473    ) -> gdk::GdkKeyMatch;
18474
18475    //=========================================================================
18476    // GtkShortcutsGroup
18477    //=========================================================================
18478    pub fn gtk_shortcuts_group_get_type() -> GType;
18479    #[cfg(feature = "v4_14")]
18480    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18481    pub fn gtk_shortcuts_group_add_shortcut(
18482        self_: *mut GtkShortcutsGroup,
18483        shortcut: *mut GtkShortcutsShortcut,
18484    );
18485
18486    //=========================================================================
18487    // GtkShortcutsSection
18488    //=========================================================================
18489    pub fn gtk_shortcuts_section_get_type() -> GType;
18490    #[cfg(feature = "v4_14")]
18491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18492    pub fn gtk_shortcuts_section_add_group(
18493        self_: *mut GtkShortcutsSection,
18494        group: *mut GtkShortcutsGroup,
18495    );
18496
18497    //=========================================================================
18498    // GtkShortcutsShortcut
18499    //=========================================================================
18500    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18501
18502    //=========================================================================
18503    // GtkShortcutsWindow
18504    //=========================================================================
18505    pub fn gtk_shortcuts_window_get_type() -> GType;
18506    #[cfg(feature = "v4_14")]
18507    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18508    pub fn gtk_shortcuts_window_add_section(
18509        self_: *mut GtkShortcutsWindow,
18510        section: *mut GtkShortcutsSection,
18511    );
18512
18513    //=========================================================================
18514    // GtkSignalAction
18515    //=========================================================================
18516    pub fn gtk_signal_action_get_type() -> GType;
18517    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18518    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18519
18520    //=========================================================================
18521    // GtkSignalListItemFactory
18522    //=========================================================================
18523    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18524    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18525
18526    //=========================================================================
18527    // GtkSingleSelection
18528    //=========================================================================
18529    pub fn gtk_single_selection_get_type() -> GType;
18530    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18531    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18532    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18533    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18534    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18535    pub fn gtk_single_selection_get_selected_item(
18536        self_: *mut GtkSingleSelection,
18537    ) -> *mut gobject::GObject;
18538    pub fn gtk_single_selection_set_autoselect(
18539        self_: *mut GtkSingleSelection,
18540        autoselect: gboolean,
18541    );
18542    pub fn gtk_single_selection_set_can_unselect(
18543        self_: *mut GtkSingleSelection,
18544        can_unselect: gboolean,
18545    );
18546    pub fn gtk_single_selection_set_model(
18547        self_: *mut GtkSingleSelection,
18548        model: *mut gio::GListModel,
18549    );
18550    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18551
18552    //=========================================================================
18553    // GtkSizeGroup
18554    //=========================================================================
18555    pub fn gtk_size_group_get_type() -> GType;
18556    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18557    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18558    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18559    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18560    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18561    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18562
18563    //=========================================================================
18564    // GtkSliceListModel
18565    //=========================================================================
18566    pub fn gtk_slice_list_model_get_type() -> GType;
18567    pub fn gtk_slice_list_model_new(
18568        model: *mut gio::GListModel,
18569        offset: c_uint,
18570        size: c_uint,
18571    ) -> *mut GtkSliceListModel;
18572    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18573    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18574    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18575    pub fn gtk_slice_list_model_set_model(
18576        self_: *mut GtkSliceListModel,
18577        model: *mut gio::GListModel,
18578    );
18579    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18580    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18581
18582    //=========================================================================
18583    // GtkSnapshot
18584    //=========================================================================
18585    pub fn gtk_snapshot_get_type() -> GType;
18586    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18587    pub fn gtk_snapshot_append_border(
18588        snapshot: *mut GtkSnapshot,
18589        outline: *const gsk::GskRoundedRect,
18590        border_width: *const [c_float; 4],
18591        border_color: *const [gdk::GdkRGBA; 4],
18592    );
18593    pub fn gtk_snapshot_append_cairo(
18594        snapshot: *mut GtkSnapshot,
18595        bounds: *const graphene::graphene_rect_t,
18596    ) -> *mut cairo::cairo_t;
18597    pub fn gtk_snapshot_append_color(
18598        snapshot: *mut GtkSnapshot,
18599        color: *const gdk::GdkRGBA,
18600        bounds: *const graphene::graphene_rect_t,
18601    );
18602    pub fn gtk_snapshot_append_conic_gradient(
18603        snapshot: *mut GtkSnapshot,
18604        bounds: *const graphene::graphene_rect_t,
18605        center: *const graphene::graphene_point_t,
18606        rotation: c_float,
18607        stops: *const gsk::GskColorStop,
18608        n_stops: size_t,
18609    );
18610    #[cfg(feature = "v4_14")]
18611    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18612    pub fn gtk_snapshot_append_fill(
18613        snapshot: *mut GtkSnapshot,
18614        path: *mut gsk::GskPath,
18615        fill_rule: gsk::GskFillRule,
18616        color: *const gdk::GdkRGBA,
18617    );
18618    pub fn gtk_snapshot_append_inset_shadow(
18619        snapshot: *mut GtkSnapshot,
18620        outline: *const gsk::GskRoundedRect,
18621        color: *const gdk::GdkRGBA,
18622        dx: c_float,
18623        dy: c_float,
18624        spread: c_float,
18625        blur_radius: c_float,
18626    );
18627    pub fn gtk_snapshot_append_layout(
18628        snapshot: *mut GtkSnapshot,
18629        layout: *mut pango::PangoLayout,
18630        color: *const gdk::GdkRGBA,
18631    );
18632    pub fn gtk_snapshot_append_linear_gradient(
18633        snapshot: *mut GtkSnapshot,
18634        bounds: *const graphene::graphene_rect_t,
18635        start_point: *const graphene::graphene_point_t,
18636        end_point: *const graphene::graphene_point_t,
18637        stops: *const gsk::GskColorStop,
18638        n_stops: size_t,
18639    );
18640    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18641    pub fn gtk_snapshot_append_outset_shadow(
18642        snapshot: *mut GtkSnapshot,
18643        outline: *const gsk::GskRoundedRect,
18644        color: *const gdk::GdkRGBA,
18645        dx: c_float,
18646        dy: c_float,
18647        spread: c_float,
18648        blur_radius: c_float,
18649    );
18650    #[cfg(feature = "v4_22")]
18651    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18652    pub fn gtk_snapshot_append_paste(
18653        snapshot: *mut GtkSnapshot,
18654        bounds: *const graphene::graphene_rect_t,
18655        nth: size_t,
18656    );
18657    pub fn gtk_snapshot_append_radial_gradient(
18658        snapshot: *mut GtkSnapshot,
18659        bounds: *const graphene::graphene_rect_t,
18660        center: *const graphene::graphene_point_t,
18661        hradius: c_float,
18662        vradius: c_float,
18663        start: c_float,
18664        end: c_float,
18665        stops: *const gsk::GskColorStop,
18666        n_stops: size_t,
18667    );
18668    pub fn gtk_snapshot_append_repeating_linear_gradient(
18669        snapshot: *mut GtkSnapshot,
18670        bounds: *const graphene::graphene_rect_t,
18671        start_point: *const graphene::graphene_point_t,
18672        end_point: *const graphene::graphene_point_t,
18673        stops: *const gsk::GskColorStop,
18674        n_stops: size_t,
18675    );
18676    pub fn gtk_snapshot_append_repeating_radial_gradient(
18677        snapshot: *mut GtkSnapshot,
18678        bounds: *const graphene::graphene_rect_t,
18679        center: *const graphene::graphene_point_t,
18680        hradius: c_float,
18681        vradius: c_float,
18682        start: c_float,
18683        end: c_float,
18684        stops: *const gsk::GskColorStop,
18685        n_stops: size_t,
18686    );
18687    #[cfg(feature = "v4_10")]
18688    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18689    pub fn gtk_snapshot_append_scaled_texture(
18690        snapshot: *mut GtkSnapshot,
18691        texture: *mut gdk::GdkTexture,
18692        filter: gsk::GskScalingFilter,
18693        bounds: *const graphene::graphene_rect_t,
18694    );
18695    #[cfg(feature = "v4_14")]
18696    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18697    pub fn gtk_snapshot_append_stroke(
18698        snapshot: *mut GtkSnapshot,
18699        path: *mut gsk::GskPath,
18700        stroke: *const gsk::GskStroke,
18701        color: *const gdk::GdkRGBA,
18702    );
18703    pub fn gtk_snapshot_append_texture(
18704        snapshot: *mut GtkSnapshot,
18705        texture: *mut gdk::GdkTexture,
18706        bounds: *const graphene::graphene_rect_t,
18707    );
18708    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18709    pub fn gtk_snapshot_free_to_paintable(
18710        snapshot: *mut GtkSnapshot,
18711        size: *const graphene::graphene_size_t,
18712    ) -> *mut gdk::GdkPaintable;
18713    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18714    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18715    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18716    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18717    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18718    pub fn gtk_snapshot_push_clip(
18719        snapshot: *mut GtkSnapshot,
18720        bounds: *const graphene::graphene_rect_t,
18721    );
18722    pub fn gtk_snapshot_push_color_matrix(
18723        snapshot: *mut GtkSnapshot,
18724        color_matrix: *const graphene::graphene_matrix_t,
18725        color_offset: *const graphene::graphene_vec4_t,
18726    );
18727    #[cfg(feature = "v4_20")]
18728    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18729    pub fn gtk_snapshot_push_component_transfer(
18730        snapshot: *mut GtkSnapshot,
18731        red: *const gsk::GskComponentTransfer,
18732        green: *const gsk::GskComponentTransfer,
18733        blue: *const gsk::GskComponentTransfer,
18734        alpha: *const gsk::GskComponentTransfer,
18735    );
18736    #[cfg(feature = "v4_22")]
18737    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18738    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18739    #[cfg(feature = "v4_22")]
18740    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18741    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18742    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18743    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18744    #[cfg(feature = "v4_14")]
18745    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18746    pub fn gtk_snapshot_push_fill(
18747        snapshot: *mut GtkSnapshot,
18748        path: *mut gsk::GskPath,
18749        fill_rule: gsk::GskFillRule,
18750    );
18751    pub fn gtk_snapshot_push_gl_shader(
18752        snapshot: *mut GtkSnapshot,
18753        shader: *mut gsk::GskGLShader,
18754        bounds: *const graphene::graphene_rect_t,
18755        take_args: *mut glib::GBytes,
18756    );
18757    #[cfg(feature = "v4_22")]
18758    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18759    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18760    #[cfg(feature = "v4_10")]
18761    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18762    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18763    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18764    pub fn gtk_snapshot_push_repeat(
18765        snapshot: *mut GtkSnapshot,
18766        bounds: *const graphene::graphene_rect_t,
18767        child_bounds: *const graphene::graphene_rect_t,
18768    );
18769    pub fn gtk_snapshot_push_rounded_clip(
18770        snapshot: *mut GtkSnapshot,
18771        bounds: *const gsk::GskRoundedRect,
18772    );
18773    pub fn gtk_snapshot_push_shadow(
18774        snapshot: *mut GtkSnapshot,
18775        shadow: *const gsk::GskShadow,
18776        n_shadows: size_t,
18777    );
18778    #[cfg(feature = "v4_14")]
18779    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18780    pub fn gtk_snapshot_push_stroke(
18781        snapshot: *mut GtkSnapshot,
18782        path: *mut gsk::GskPath,
18783        stroke: *const gsk::GskStroke,
18784    );
18785    pub fn gtk_snapshot_render_background(
18786        snapshot: *mut GtkSnapshot,
18787        context: *mut GtkStyleContext,
18788        x: c_double,
18789        y: c_double,
18790        width: c_double,
18791        height: c_double,
18792    );
18793    pub fn gtk_snapshot_render_focus(
18794        snapshot: *mut GtkSnapshot,
18795        context: *mut GtkStyleContext,
18796        x: c_double,
18797        y: c_double,
18798        width: c_double,
18799        height: c_double,
18800    );
18801    pub fn gtk_snapshot_render_frame(
18802        snapshot: *mut GtkSnapshot,
18803        context: *mut GtkStyleContext,
18804        x: c_double,
18805        y: c_double,
18806        width: c_double,
18807        height: c_double,
18808    );
18809    pub fn gtk_snapshot_render_insertion_cursor(
18810        snapshot: *mut GtkSnapshot,
18811        context: *mut GtkStyleContext,
18812        x: c_double,
18813        y: c_double,
18814        layout: *mut pango::PangoLayout,
18815        index: c_int,
18816        direction: pango::PangoDirection,
18817    );
18818    pub fn gtk_snapshot_render_layout(
18819        snapshot: *mut GtkSnapshot,
18820        context: *mut GtkStyleContext,
18821        x: c_double,
18822        y: c_double,
18823        layout: *mut pango::PangoLayout,
18824    );
18825    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18826    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18827    pub fn gtk_snapshot_rotate_3d(
18828        snapshot: *mut GtkSnapshot,
18829        angle: c_float,
18830        axis: *const graphene::graphene_vec3_t,
18831    );
18832    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18833    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18834    pub fn gtk_snapshot_scale_3d(
18835        snapshot: *mut GtkSnapshot,
18836        factor_x: c_float,
18837        factor_y: c_float,
18838        factor_z: c_float,
18839    );
18840    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18841    pub fn gtk_snapshot_to_paintable(
18842        snapshot: *mut GtkSnapshot,
18843        size: *const graphene::graphene_size_t,
18844    ) -> *mut gdk::GdkPaintable;
18845    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18846    pub fn gtk_snapshot_transform_matrix(
18847        snapshot: *mut GtkSnapshot,
18848        matrix: *const graphene::graphene_matrix_t,
18849    );
18850    pub fn gtk_snapshot_translate(
18851        snapshot: *mut GtkSnapshot,
18852        point: *const graphene::graphene_point_t,
18853    );
18854    pub fn gtk_snapshot_translate_3d(
18855        snapshot: *mut GtkSnapshot,
18856        point: *const graphene::graphene_point3d_t,
18857    );
18858
18859    //=========================================================================
18860    // GtkSortListModel
18861    //=========================================================================
18862    pub fn gtk_sort_list_model_get_type() -> GType;
18863    pub fn gtk_sort_list_model_new(
18864        model: *mut gio::GListModel,
18865        sorter: *mut GtkSorter,
18866    ) -> *mut GtkSortListModel;
18867    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18868    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18869    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18870    #[cfg(feature = "v4_12")]
18871    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18872    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18873    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18874    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18875    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18876    #[cfg(feature = "v4_12")]
18877    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18878    pub fn gtk_sort_list_model_set_section_sorter(
18879        self_: *mut GtkSortListModel,
18880        sorter: *mut GtkSorter,
18881    );
18882    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18883
18884    //=========================================================================
18885    // GtkSorter
18886    //=========================================================================
18887    pub fn gtk_sorter_get_type() -> GType;
18888    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18889    pub fn gtk_sorter_compare(
18890        self_: *mut GtkSorter,
18891        item1: *mut gobject::GObject,
18892        item2: *mut gobject::GObject,
18893    ) -> GtkOrdering;
18894    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18895
18896    //=========================================================================
18897    // GtkSpinButton
18898    //=========================================================================
18899    pub fn gtk_spin_button_get_type() -> GType;
18900    pub fn gtk_spin_button_new(
18901        adjustment: *mut GtkAdjustment,
18902        climb_rate: c_double,
18903        digits: c_uint,
18904    ) -> *mut GtkWidget;
18905    pub fn gtk_spin_button_new_with_range(
18906        min: c_double,
18907        max: c_double,
18908        step: c_double,
18909    ) -> *mut GtkWidget;
18910    pub fn gtk_spin_button_configure(
18911        spin_button: *mut GtkSpinButton,
18912        adjustment: *mut GtkAdjustment,
18913        climb_rate: c_double,
18914        digits: c_uint,
18915    );
18916    #[cfg(feature = "v4_14")]
18917    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18918    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18919    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18920    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18921    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18922    pub fn gtk_spin_button_get_increments(
18923        spin_button: *mut GtkSpinButton,
18924        step: *mut c_double,
18925        page: *mut c_double,
18926    );
18927    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18928    pub fn gtk_spin_button_get_range(
18929        spin_button: *mut GtkSpinButton,
18930        min: *mut c_double,
18931        max: *mut c_double,
18932    );
18933    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18934    pub fn gtk_spin_button_get_update_policy(
18935        spin_button: *mut GtkSpinButton,
18936    ) -> GtkSpinButtonUpdatePolicy;
18937    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18938    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18939    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18940    #[cfg(feature = "v4_14")]
18941    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18942    pub fn gtk_spin_button_set_activates_default(
18943        spin_button: *mut GtkSpinButton,
18944        activates_default: gboolean,
18945    );
18946    pub fn gtk_spin_button_set_adjustment(
18947        spin_button: *mut GtkSpinButton,
18948        adjustment: *mut GtkAdjustment,
18949    );
18950    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18951    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18952    pub fn gtk_spin_button_set_increments(
18953        spin_button: *mut GtkSpinButton,
18954        step: c_double,
18955        page: c_double,
18956    );
18957    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18958    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18959    pub fn gtk_spin_button_set_snap_to_ticks(
18960        spin_button: *mut GtkSpinButton,
18961        snap_to_ticks: gboolean,
18962    );
18963    pub fn gtk_spin_button_set_update_policy(
18964        spin_button: *mut GtkSpinButton,
18965        policy: GtkSpinButtonUpdatePolicy,
18966    );
18967    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18968    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18969    pub fn gtk_spin_button_spin(
18970        spin_button: *mut GtkSpinButton,
18971        direction: GtkSpinType,
18972        increment: c_double,
18973    );
18974    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18975
18976    //=========================================================================
18977    // GtkSpinner
18978    //=========================================================================
18979    pub fn gtk_spinner_get_type() -> GType;
18980    pub fn gtk_spinner_new() -> *mut GtkWidget;
18981    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18982    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18983    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18984    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18985
18986    //=========================================================================
18987    // GtkStack
18988    //=========================================================================
18989    pub fn gtk_stack_get_type() -> GType;
18990    pub fn gtk_stack_new() -> *mut GtkWidget;
18991    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18992    pub fn gtk_stack_add_named(
18993        stack: *mut GtkStack,
18994        child: *mut GtkWidget,
18995        name: *const c_char,
18996    ) -> *mut GtkStackPage;
18997    pub fn gtk_stack_add_titled(
18998        stack: *mut GtkStack,
18999        child: *mut GtkWidget,
19000        name: *const c_char,
19001        title: *const c_char,
19002    ) -> *mut GtkStackPage;
19003    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
19004    -> *mut GtkWidget;
19005    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
19006    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
19007    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19008    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
19009    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
19010    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
19011    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
19012    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
19013    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
19014    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
19015    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
19016    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
19017    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
19018    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
19019    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
19020    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
19021    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
19022    pub fn gtk_stack_set_visible_child_full(
19023        stack: *mut GtkStack,
19024        name: *const c_char,
19025        transition: GtkStackTransitionType,
19026    );
19027    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
19028
19029    //=========================================================================
19030    // GtkStackPage
19031    //=========================================================================
19032    pub fn gtk_stack_page_get_type() -> GType;
19033    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
19034    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
19035    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
19036    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
19037    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
19038    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
19039    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
19040    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
19041    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
19042    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
19043    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
19044    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
19045    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
19046
19047    //=========================================================================
19048    // GtkStackSidebar
19049    //=========================================================================
19050    pub fn gtk_stack_sidebar_get_type() -> GType;
19051    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
19052    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
19053    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
19054
19055    //=========================================================================
19056    // GtkStackSwitcher
19057    //=========================================================================
19058    pub fn gtk_stack_switcher_get_type() -> GType;
19059    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
19060    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
19061    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
19062
19063    //=========================================================================
19064    // GtkStatusbar
19065    //=========================================================================
19066    pub fn gtk_statusbar_get_type() -> GType;
19067    pub fn gtk_statusbar_new() -> *mut GtkWidget;
19068    pub fn gtk_statusbar_get_context_id(
19069        statusbar: *mut GtkStatusbar,
19070        context_description: *const c_char,
19071    ) -> c_uint;
19072    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
19073    pub fn gtk_statusbar_push(
19074        statusbar: *mut GtkStatusbar,
19075        context_id: c_uint,
19076        text: *const c_char,
19077    ) -> c_uint;
19078    pub fn gtk_statusbar_remove(
19079        statusbar: *mut GtkStatusbar,
19080        context_id: c_uint,
19081        message_id: c_uint,
19082    );
19083    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
19084
19085    //=========================================================================
19086    // GtkStringFilter
19087    //=========================================================================
19088    pub fn gtk_string_filter_get_type() -> GType;
19089    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
19090    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
19091    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
19092    pub fn gtk_string_filter_get_match_mode(
19093        self_: *mut GtkStringFilter,
19094    ) -> GtkStringFilterMatchMode;
19095    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
19096    pub fn gtk_string_filter_set_expression(
19097        self_: *mut GtkStringFilter,
19098        expression: *mut GtkExpression,
19099    );
19100    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
19101    pub fn gtk_string_filter_set_match_mode(
19102        self_: *mut GtkStringFilter,
19103        mode: GtkStringFilterMatchMode,
19104    );
19105    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
19106
19107    //=========================================================================
19108    // GtkStringList
19109    //=========================================================================
19110    pub fn gtk_string_list_get_type() -> GType;
19111    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
19112    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
19113    #[cfg(feature = "v4_18")]
19114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19115    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
19116    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
19117    -> *const c_char;
19118    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
19119    pub fn gtk_string_list_splice(
19120        self_: *mut GtkStringList,
19121        position: c_uint,
19122        n_removals: c_uint,
19123        additions: *const *const c_char,
19124    );
19125    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19126
19127    //=========================================================================
19128    // GtkStringObject
19129    //=========================================================================
19130    pub fn gtk_string_object_get_type() -> GType;
19131    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19132    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19133
19134    //=========================================================================
19135    // GtkStringSorter
19136    //=========================================================================
19137    pub fn gtk_string_sorter_get_type() -> GType;
19138    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19139    #[cfg(feature = "v4_10")]
19140    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19141    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19142    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19143    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19144    #[cfg(feature = "v4_10")]
19145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19146    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19147    pub fn gtk_string_sorter_set_expression(
19148        self_: *mut GtkStringSorter,
19149        expression: *mut GtkExpression,
19150    );
19151    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19152
19153    //=========================================================================
19154    // GtkStyleContext
19155    //=========================================================================
19156    pub fn gtk_style_context_get_type() -> GType;
19157    pub fn gtk_style_context_add_provider_for_display(
19158        display: *mut gdk::GdkDisplay,
19159        provider: *mut GtkStyleProvider,
19160        priority: c_uint,
19161    );
19162    pub fn gtk_style_context_remove_provider_for_display(
19163        display: *mut gdk::GdkDisplay,
19164        provider: *mut GtkStyleProvider,
19165    );
19166    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19167    pub fn gtk_style_context_add_provider(
19168        context: *mut GtkStyleContext,
19169        provider: *mut GtkStyleProvider,
19170        priority: c_uint,
19171    );
19172    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19173    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19174    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19175    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19176    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19177    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19178    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19179    pub fn gtk_style_context_has_class(
19180        context: *mut GtkStyleContext,
19181        class_name: *const c_char,
19182    ) -> gboolean;
19183    pub fn gtk_style_context_lookup_color(
19184        context: *mut GtkStyleContext,
19185        color_name: *const c_char,
19186        color: *mut gdk::GdkRGBA,
19187    ) -> gboolean;
19188    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19189    pub fn gtk_style_context_remove_provider(
19190        context: *mut GtkStyleContext,
19191        provider: *mut GtkStyleProvider,
19192    );
19193    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19194    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19195    pub fn gtk_style_context_set_display(
19196        context: *mut GtkStyleContext,
19197        display: *mut gdk::GdkDisplay,
19198    );
19199    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19200    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19201    pub fn gtk_style_context_to_string(
19202        context: *mut GtkStyleContext,
19203        flags: GtkStyleContextPrintFlags,
19204    ) -> *mut c_char;
19205
19206    //=========================================================================
19207    // GtkSvg
19208    //=========================================================================
19209    #[cfg(feature = "v4_22")]
19210    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19211    pub fn gtk_svg_get_type() -> GType;
19212    #[cfg(feature = "v4_22")]
19213    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19214    pub fn gtk_svg_new() -> *mut GtkSvg;
19215    #[cfg(feature = "v4_22")]
19216    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19217    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19218    #[cfg(feature = "v4_22")]
19219    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19220    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19221    #[cfg(feature = "v4_22")]
19222    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19223    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19224    #[cfg(feature = "v4_24")]
19225    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19226    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19227    #[cfg(feature = "v4_22")]
19228    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19229    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19230    #[cfg(feature = "v4_22")]
19231    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19232    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19233    #[cfg(feature = "v4_24")]
19234    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19235    pub fn gtk_svg_get_stylesheet(self_: *mut GtkSvg) -> *mut glib::GBytes;
19236    #[cfg(feature = "v4_22")]
19237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19238    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19239    #[cfg(feature = "v4_22")]
19240    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19241    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19242    #[cfg(feature = "v4_22")]
19243    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19244    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19245    #[cfg(feature = "v4_22")]
19246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19247    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19248    #[cfg(feature = "v4_22")]
19249    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19250    pub fn gtk_svg_play(self_: *mut GtkSvg);
19251    #[cfg(feature = "v4_22")]
19252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19253    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19254    #[cfg(feature = "v4_22")]
19255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19256    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19257    #[cfg(feature = "v4_22")]
19258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19259    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19260    #[cfg(feature = "v4_24")]
19261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19262    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19263    #[cfg(feature = "v4_22")]
19264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19265    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19266    #[cfg(feature = "v4_24")]
19267    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19268    pub fn gtk_svg_set_stylesheet(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19269    #[cfg(feature = "v4_22")]
19270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19271    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19272    #[cfg(feature = "v4_22")]
19273    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19274    pub fn gtk_svg_write_to_file(
19275        self_: *mut GtkSvg,
19276        filename: *const c_char,
19277        error: *mut *mut glib::GError,
19278    ) -> gboolean;
19279
19280    //=========================================================================
19281    // GtkSvgWidget
19282    //=========================================================================
19283    #[cfg(feature = "v4_24")]
19284    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19285    pub fn gtk_svg_widget_get_type() -> GType;
19286    #[cfg(feature = "v4_24")]
19287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19288    pub fn gtk_svg_widget_new() -> *mut GtkSvgWidget;
19289    #[cfg(feature = "v4_24")]
19290    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19291    pub fn gtk_svg_widget_get_state(self_: *mut GtkSvgWidget) -> c_uint;
19292    #[cfg(feature = "v4_24")]
19293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19294    pub fn gtk_svg_widget_get_stylesheet(self_: *mut GtkSvgWidget) -> *mut glib::GBytes;
19295    #[cfg(feature = "v4_24")]
19296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19297    pub fn gtk_svg_widget_load_from_bytes(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19298    #[cfg(feature = "v4_24")]
19299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19300    pub fn gtk_svg_widget_set_state(self_: *mut GtkSvgWidget, state: c_uint);
19301    #[cfg(feature = "v4_24")]
19302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19303    pub fn gtk_svg_widget_set_stylesheet(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19304
19305    //=========================================================================
19306    // GtkSwitch
19307    //=========================================================================
19308    pub fn gtk_switch_get_type() -> GType;
19309    pub fn gtk_switch_new() -> *mut GtkWidget;
19310    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19311    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19312    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19313    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19314
19315    //=========================================================================
19316    // GtkText
19317    //=========================================================================
19318    pub fn gtk_text_get_type() -> GType;
19319    pub fn gtk_text_new() -> *mut GtkWidget;
19320    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19321    #[cfg(feature = "v4_4")]
19322    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19323    pub fn gtk_text_compute_cursor_extents(
19324        self_: *mut GtkText,
19325        position: size_t,
19326        strong: *mut graphene::graphene_rect_t,
19327        weak: *mut graphene::graphene_rect_t,
19328    );
19329    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19330    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19331    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19332    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19333    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19334    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19335    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19336    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19337    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19338    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19339    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19340    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19341    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19342    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19343    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19344    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19345    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19346    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19347    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19348    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19349    pub fn gtk_text_set_enable_emoji_completion(
19350        self_: *mut GtkText,
19351        enable_emoji_completion: gboolean,
19352    );
19353    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19354    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19355    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19356    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19357    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19358    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19359    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19360    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19361    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19362    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19363    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19364    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19365
19366    //=========================================================================
19367    // GtkTextBuffer
19368    //=========================================================================
19369    pub fn gtk_text_buffer_get_type() -> GType;
19370    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19371    #[cfg(feature = "v4_16")]
19372    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19373    pub fn gtk_text_buffer_add_commit_notify(
19374        buffer: *mut GtkTextBuffer,
19375        flags: GtkTextBufferNotifyFlags,
19376        commit_notify: GtkTextBufferCommitNotify,
19377        user_data: gpointer,
19378        destroy: glib::GDestroyNotify,
19379    ) -> c_uint;
19380    pub fn gtk_text_buffer_add_mark(
19381        buffer: *mut GtkTextBuffer,
19382        mark: *mut GtkTextMark,
19383        where_: *const GtkTextIter,
19384    );
19385    pub fn gtk_text_buffer_add_selection_clipboard(
19386        buffer: *mut GtkTextBuffer,
19387        clipboard: *mut gdk::GdkClipboard,
19388    );
19389    pub fn gtk_text_buffer_apply_tag(
19390        buffer: *mut GtkTextBuffer,
19391        tag: *mut GtkTextTag,
19392        start: *const GtkTextIter,
19393        end: *const GtkTextIter,
19394    );
19395    pub fn gtk_text_buffer_apply_tag_by_name(
19396        buffer: *mut GtkTextBuffer,
19397        name: *const c_char,
19398        start: *const GtkTextIter,
19399        end: *const GtkTextIter,
19400    );
19401    pub fn gtk_text_buffer_backspace(
19402        buffer: *mut GtkTextBuffer,
19403        iter: *mut GtkTextIter,
19404        interactive: gboolean,
19405        default_editable: gboolean,
19406    ) -> gboolean;
19407    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19408    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19409    pub fn gtk_text_buffer_copy_clipboard(
19410        buffer: *mut GtkTextBuffer,
19411        clipboard: *mut gdk::GdkClipboard,
19412    );
19413    pub fn gtk_text_buffer_create_child_anchor(
19414        buffer: *mut GtkTextBuffer,
19415        iter: *mut GtkTextIter,
19416    ) -> *mut GtkTextChildAnchor;
19417    pub fn gtk_text_buffer_create_mark(
19418        buffer: *mut GtkTextBuffer,
19419        mark_name: *const c_char,
19420        where_: *const GtkTextIter,
19421        left_gravity: gboolean,
19422    ) -> *mut GtkTextMark;
19423    pub fn gtk_text_buffer_create_tag(
19424        buffer: *mut GtkTextBuffer,
19425        tag_name: *const c_char,
19426        first_property_name: *const c_char,
19427        ...
19428    ) -> *mut GtkTextTag;
19429    pub fn gtk_text_buffer_cut_clipboard(
19430        buffer: *mut GtkTextBuffer,
19431        clipboard: *mut gdk::GdkClipboard,
19432        default_editable: gboolean,
19433    );
19434    pub fn gtk_text_buffer_delete(
19435        buffer: *mut GtkTextBuffer,
19436        start: *mut GtkTextIter,
19437        end: *mut GtkTextIter,
19438    );
19439    pub fn gtk_text_buffer_delete_interactive(
19440        buffer: *mut GtkTextBuffer,
19441        start_iter: *mut GtkTextIter,
19442        end_iter: *mut GtkTextIter,
19443        default_editable: gboolean,
19444    ) -> gboolean;
19445    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19446    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19447    pub fn gtk_text_buffer_delete_selection(
19448        buffer: *mut GtkTextBuffer,
19449        interactive: gboolean,
19450        default_editable: gboolean,
19451    ) -> gboolean;
19452    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19453    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19454    pub fn gtk_text_buffer_get_bounds(
19455        buffer: *mut GtkTextBuffer,
19456        start: *mut GtkTextIter,
19457        end: *mut GtkTextIter,
19458    );
19459    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19460    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19461    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19462    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19463    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19464    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19465    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19466    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19467        buffer: *mut GtkTextBuffer,
19468        iter: *mut GtkTextIter,
19469        anchor: *mut GtkTextChildAnchor,
19470    );
19471    pub fn gtk_text_buffer_get_iter_at_line(
19472        buffer: *mut GtkTextBuffer,
19473        iter: *mut GtkTextIter,
19474        line_number: c_int,
19475    ) -> gboolean;
19476    pub fn gtk_text_buffer_get_iter_at_line_index(
19477        buffer: *mut GtkTextBuffer,
19478        iter: *mut GtkTextIter,
19479        line_number: c_int,
19480        byte_index: c_int,
19481    ) -> gboolean;
19482    pub fn gtk_text_buffer_get_iter_at_line_offset(
19483        buffer: *mut GtkTextBuffer,
19484        iter: *mut GtkTextIter,
19485        line_number: c_int,
19486        char_offset: c_int,
19487    ) -> gboolean;
19488    pub fn gtk_text_buffer_get_iter_at_mark(
19489        buffer: *mut GtkTextBuffer,
19490        iter: *mut GtkTextIter,
19491        mark: *mut GtkTextMark,
19492    );
19493    pub fn gtk_text_buffer_get_iter_at_offset(
19494        buffer: *mut GtkTextBuffer,
19495        iter: *mut GtkTextIter,
19496        char_offset: c_int,
19497    );
19498    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19499    pub fn gtk_text_buffer_get_mark(
19500        buffer: *mut GtkTextBuffer,
19501        name: *const c_char,
19502    ) -> *mut GtkTextMark;
19503    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19504    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19505    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19506    pub fn gtk_text_buffer_get_selection_bounds(
19507        buffer: *mut GtkTextBuffer,
19508        start: *mut GtkTextIter,
19509        end: *mut GtkTextIter,
19510    ) -> gboolean;
19511    pub fn gtk_text_buffer_get_selection_content(
19512        buffer: *mut GtkTextBuffer,
19513    ) -> *mut gdk::GdkContentProvider;
19514    pub fn gtk_text_buffer_get_slice(
19515        buffer: *mut GtkTextBuffer,
19516        start: *const GtkTextIter,
19517        end: *const GtkTextIter,
19518        include_hidden_chars: gboolean,
19519    ) -> *mut c_char;
19520    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19521    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19522    pub fn gtk_text_buffer_get_text(
19523        buffer: *mut GtkTextBuffer,
19524        start: *const GtkTextIter,
19525        end: *const GtkTextIter,
19526        include_hidden_chars: gboolean,
19527    ) -> *mut c_char;
19528    pub fn gtk_text_buffer_insert(
19529        buffer: *mut GtkTextBuffer,
19530        iter: *mut GtkTextIter,
19531        text: *const c_char,
19532        len: c_int,
19533    );
19534    pub fn gtk_text_buffer_insert_at_cursor(
19535        buffer: *mut GtkTextBuffer,
19536        text: *const c_char,
19537        len: c_int,
19538    );
19539    pub fn gtk_text_buffer_insert_child_anchor(
19540        buffer: *mut GtkTextBuffer,
19541        iter: *mut GtkTextIter,
19542        anchor: *mut GtkTextChildAnchor,
19543    );
19544    pub fn gtk_text_buffer_insert_interactive(
19545        buffer: *mut GtkTextBuffer,
19546        iter: *mut GtkTextIter,
19547        text: *const c_char,
19548        len: c_int,
19549        default_editable: gboolean,
19550    ) -> gboolean;
19551    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19552        buffer: *mut GtkTextBuffer,
19553        text: *const c_char,
19554        len: c_int,
19555        default_editable: gboolean,
19556    ) -> gboolean;
19557    pub fn gtk_text_buffer_insert_markup(
19558        buffer: *mut GtkTextBuffer,
19559        iter: *mut GtkTextIter,
19560        markup: *const c_char,
19561        len: c_int,
19562    );
19563    pub fn gtk_text_buffer_insert_paintable(
19564        buffer: *mut GtkTextBuffer,
19565        iter: *mut GtkTextIter,
19566        paintable: *mut gdk::GdkPaintable,
19567    );
19568    pub fn gtk_text_buffer_insert_range(
19569        buffer: *mut GtkTextBuffer,
19570        iter: *mut GtkTextIter,
19571        start: *const GtkTextIter,
19572        end: *const GtkTextIter,
19573    );
19574    pub fn gtk_text_buffer_insert_range_interactive(
19575        buffer: *mut GtkTextBuffer,
19576        iter: *mut GtkTextIter,
19577        start: *const GtkTextIter,
19578        end: *const GtkTextIter,
19579        default_editable: gboolean,
19580    ) -> gboolean;
19581    pub fn gtk_text_buffer_insert_with_tags(
19582        buffer: *mut GtkTextBuffer,
19583        iter: *mut GtkTextIter,
19584        text: *const c_char,
19585        len: c_int,
19586        first_tag: *mut GtkTextTag,
19587        ...
19588    );
19589    pub fn gtk_text_buffer_insert_with_tags_by_name(
19590        buffer: *mut GtkTextBuffer,
19591        iter: *mut GtkTextIter,
19592        text: *const c_char,
19593        len: c_int,
19594        first_tag_name: *const c_char,
19595        ...
19596    );
19597    pub fn gtk_text_buffer_move_mark(
19598        buffer: *mut GtkTextBuffer,
19599        mark: *mut GtkTextMark,
19600        where_: *const GtkTextIter,
19601    );
19602    pub fn gtk_text_buffer_move_mark_by_name(
19603        buffer: *mut GtkTextBuffer,
19604        name: *const c_char,
19605        where_: *const GtkTextIter,
19606    );
19607    pub fn gtk_text_buffer_paste_clipboard(
19608        buffer: *mut GtkTextBuffer,
19609        clipboard: *mut gdk::GdkClipboard,
19610        override_location: *mut GtkTextIter,
19611        default_editable: gboolean,
19612    );
19613    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19614    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19615    pub fn gtk_text_buffer_remove_all_tags(
19616        buffer: *mut GtkTextBuffer,
19617        start: *const GtkTextIter,
19618        end: *const GtkTextIter,
19619    );
19620    #[cfg(feature = "v4_16")]
19621    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19622    pub fn gtk_text_buffer_remove_commit_notify(
19623        buffer: *mut GtkTextBuffer,
19624        commit_notify_handler: c_uint,
19625    );
19626    pub fn gtk_text_buffer_remove_selection_clipboard(
19627        buffer: *mut GtkTextBuffer,
19628        clipboard: *mut gdk::GdkClipboard,
19629    );
19630    pub fn gtk_text_buffer_remove_tag(
19631        buffer: *mut GtkTextBuffer,
19632        tag: *mut GtkTextTag,
19633        start: *const GtkTextIter,
19634        end: *const GtkTextIter,
19635    );
19636    pub fn gtk_text_buffer_remove_tag_by_name(
19637        buffer: *mut GtkTextBuffer,
19638        name: *const c_char,
19639        start: *const GtkTextIter,
19640        end: *const GtkTextIter,
19641    );
19642    pub fn gtk_text_buffer_select_range(
19643        buffer: *mut GtkTextBuffer,
19644        ins: *const GtkTextIter,
19645        bound: *const GtkTextIter,
19646    );
19647    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19648    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19649    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19650    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19651    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19652
19653    //=========================================================================
19654    // GtkTextChildAnchor
19655    //=========================================================================
19656    pub fn gtk_text_child_anchor_get_type() -> GType;
19657    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19658    #[cfg(feature = "v4_6")]
19659    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19660    pub fn gtk_text_child_anchor_new_with_replacement(
19661        character: *const c_char,
19662    ) -> *mut GtkTextChildAnchor;
19663    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19664    pub fn gtk_text_child_anchor_get_widgets(
19665        anchor: *mut GtkTextChildAnchor,
19666        out_len: *mut c_uint,
19667    ) -> *mut *mut GtkWidget;
19668
19669    //=========================================================================
19670    // GtkTextMark
19671    //=========================================================================
19672    pub fn gtk_text_mark_get_type() -> GType;
19673    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19674    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19675    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19676    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19677    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19678    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19679    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19680
19681    //=========================================================================
19682    // GtkTextTag
19683    //=========================================================================
19684    pub fn gtk_text_tag_get_type() -> GType;
19685    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19686    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19687    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19688    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19689
19690    //=========================================================================
19691    // GtkTextTagTable
19692    //=========================================================================
19693    pub fn gtk_text_tag_table_get_type() -> GType;
19694    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19695    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19696    pub fn gtk_text_tag_table_foreach(
19697        table: *mut GtkTextTagTable,
19698        func: GtkTextTagTableForeach,
19699        data: gpointer,
19700    );
19701    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19702    pub fn gtk_text_tag_table_lookup(
19703        table: *mut GtkTextTagTable,
19704        name: *const c_char,
19705    ) -> *mut GtkTextTag;
19706    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19707
19708    //=========================================================================
19709    // GtkTextView
19710    //=========================================================================
19711    pub fn gtk_text_view_get_type() -> GType;
19712    pub fn gtk_text_view_new() -> *mut GtkWidget;
19713    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19714    pub fn gtk_text_view_add_child_at_anchor(
19715        text_view: *mut GtkTextView,
19716        child: *mut GtkWidget,
19717        anchor: *mut GtkTextChildAnchor,
19718    );
19719    pub fn gtk_text_view_add_overlay(
19720        text_view: *mut GtkTextView,
19721        child: *mut GtkWidget,
19722        xpos: c_int,
19723        ypos: c_int,
19724    );
19725    pub fn gtk_text_view_backward_display_line(
19726        text_view: *mut GtkTextView,
19727        iter: *mut GtkTextIter,
19728    ) -> gboolean;
19729    pub fn gtk_text_view_backward_display_line_start(
19730        text_view: *mut GtkTextView,
19731        iter: *mut GtkTextIter,
19732    ) -> gboolean;
19733    pub fn gtk_text_view_buffer_to_window_coords(
19734        text_view: *mut GtkTextView,
19735        win: GtkTextWindowType,
19736        buffer_x: c_int,
19737        buffer_y: c_int,
19738        window_x: *mut c_int,
19739        window_y: *mut c_int,
19740    );
19741    pub fn gtk_text_view_forward_display_line(
19742        text_view: *mut GtkTextView,
19743        iter: *mut GtkTextIter,
19744    ) -> gboolean;
19745    pub fn gtk_text_view_forward_display_line_end(
19746        text_view: *mut GtkTextView,
19747        iter: *mut GtkTextIter,
19748    ) -> gboolean;
19749    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19750    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19751    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19752    pub fn gtk_text_view_get_cursor_locations(
19753        text_view: *mut GtkTextView,
19754        iter: *const GtkTextIter,
19755        strong: *mut gdk::GdkRectangle,
19756        weak: *mut gdk::GdkRectangle,
19757    );
19758    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19759    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19760    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19761    pub fn gtk_text_view_get_gutter(
19762        text_view: *mut GtkTextView,
19763        win: GtkTextWindowType,
19764    ) -> *mut GtkWidget;
19765    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19766    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19767    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19768    pub fn gtk_text_view_get_iter_at_location(
19769        text_view: *mut GtkTextView,
19770        iter: *mut GtkTextIter,
19771        x: c_int,
19772        y: c_int,
19773    ) -> gboolean;
19774    pub fn gtk_text_view_get_iter_at_position(
19775        text_view: *mut GtkTextView,
19776        iter: *mut GtkTextIter,
19777        trailing: *mut c_int,
19778        x: c_int,
19779        y: c_int,
19780    ) -> gboolean;
19781    pub fn gtk_text_view_get_iter_location(
19782        text_view: *mut GtkTextView,
19783        iter: *const GtkTextIter,
19784        location: *mut gdk::GdkRectangle,
19785    );
19786    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19787    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19788    pub fn gtk_text_view_get_line_at_y(
19789        text_view: *mut GtkTextView,
19790        target_iter: *mut GtkTextIter,
19791        y: c_int,
19792        line_top: *mut c_int,
19793    );
19794    pub fn gtk_text_view_get_line_yrange(
19795        text_view: *mut GtkTextView,
19796        iter: *const GtkTextIter,
19797        y: *mut c_int,
19798        height: *mut c_int,
19799    );
19800    #[cfg(feature = "v4_4")]
19801    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19802    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19803    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19804    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19805    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19806    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19807    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19808    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19809    #[cfg(feature = "v4_4")]
19810    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19811    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19812    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19813    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19814    #[cfg(feature = "v4_18")]
19815    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19816    pub fn gtk_text_view_get_visible_offset(
19817        text_view: *mut GtkTextView,
19818        x_offset: *mut c_double,
19819        y_offset: *mut c_double,
19820    );
19821    pub fn gtk_text_view_get_visible_rect(
19822        text_view: *mut GtkTextView,
19823        visible_rect: *mut gdk::GdkRectangle,
19824    );
19825    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19826    pub fn gtk_text_view_im_context_filter_keypress(
19827        text_view: *mut GtkTextView,
19828        event: *mut gdk::GdkEvent,
19829    ) -> gboolean;
19830    pub fn gtk_text_view_move_mark_onscreen(
19831        text_view: *mut GtkTextView,
19832        mark: *mut GtkTextMark,
19833    ) -> gboolean;
19834    pub fn gtk_text_view_move_overlay(
19835        text_view: *mut GtkTextView,
19836        child: *mut GtkWidget,
19837        xpos: c_int,
19838        ypos: c_int,
19839    );
19840    pub fn gtk_text_view_move_visually(
19841        text_view: *mut GtkTextView,
19842        iter: *mut GtkTextIter,
19843        count: c_int,
19844    ) -> gboolean;
19845    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19846    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19847    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19848    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19849    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19850    pub fn gtk_text_view_scroll_to_iter(
19851        text_view: *mut GtkTextView,
19852        iter: *mut GtkTextIter,
19853        within_margin: c_double,
19854        use_align: gboolean,
19855        xalign: c_double,
19856        yalign: c_double,
19857    ) -> gboolean;
19858    pub fn gtk_text_view_scroll_to_mark(
19859        text_view: *mut GtkTextView,
19860        mark: *mut GtkTextMark,
19861        within_margin: c_double,
19862        use_align: gboolean,
19863        xalign: c_double,
19864        yalign: c_double,
19865    );
19866    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19867    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19868    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19869    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19870    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19871    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19872    pub fn gtk_text_view_set_gutter(
19873        text_view: *mut GtkTextView,
19874        win: GtkTextWindowType,
19875        widget: *mut GtkWidget,
19876    );
19877    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19878    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19879    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19880    pub fn gtk_text_view_set_justification(
19881        text_view: *mut GtkTextView,
19882        justification: GtkJustification,
19883    );
19884    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19885    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19886    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19887    pub fn gtk_text_view_set_pixels_above_lines(
19888        text_view: *mut GtkTextView,
19889        pixels_above_lines: c_int,
19890    );
19891    pub fn gtk_text_view_set_pixels_below_lines(
19892        text_view: *mut GtkTextView,
19893        pixels_below_lines: c_int,
19894    );
19895    pub fn gtk_text_view_set_pixels_inside_wrap(
19896        text_view: *mut GtkTextView,
19897        pixels_inside_wrap: c_int,
19898    );
19899    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19900    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19901    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19902    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19903    pub fn gtk_text_view_starts_display_line(
19904        text_view: *mut GtkTextView,
19905        iter: *const GtkTextIter,
19906    ) -> gboolean;
19907    pub fn gtk_text_view_window_to_buffer_coords(
19908        text_view: *mut GtkTextView,
19909        win: GtkTextWindowType,
19910        window_x: c_int,
19911        window_y: c_int,
19912        buffer_x: *mut c_int,
19913        buffer_y: *mut c_int,
19914    );
19915
19916    //=========================================================================
19917    // GtkToggleButton
19918    //=========================================================================
19919    pub fn gtk_toggle_button_get_type() -> GType;
19920    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19921    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19922    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19923    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19924    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19925    pub fn gtk_toggle_button_set_group(
19926        toggle_button: *mut GtkToggleButton,
19927        group: *mut GtkToggleButton,
19928    );
19929    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19930
19931    //=========================================================================
19932    // GtkTooltip
19933    //=========================================================================
19934    pub fn gtk_tooltip_get_type() -> GType;
19935    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19936    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19937    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19938    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19939    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19940    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19941    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19942
19943    //=========================================================================
19944    // GtkTreeExpander
19945    //=========================================================================
19946    pub fn gtk_tree_expander_get_type() -> GType;
19947    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19948    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19949    #[cfg(feature = "v4_10")]
19950    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19951    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19952    #[cfg(feature = "v4_10")]
19953    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19954    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19955    #[cfg(feature = "v4_6")]
19956    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19957    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19958    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19959    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19960    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19961    #[cfg(feature = "v4_10")]
19962    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19963    pub fn gtk_tree_expander_set_hide_expander(
19964        self_: *mut GtkTreeExpander,
19965        hide_expander: gboolean,
19966    );
19967    #[cfg(feature = "v4_10")]
19968    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19969    pub fn gtk_tree_expander_set_indent_for_depth(
19970        self_: *mut GtkTreeExpander,
19971        indent_for_depth: gboolean,
19972    );
19973    #[cfg(feature = "v4_6")]
19974    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19975    pub fn gtk_tree_expander_set_indent_for_icon(
19976        self_: *mut GtkTreeExpander,
19977        indent_for_icon: gboolean,
19978    );
19979    pub fn gtk_tree_expander_set_list_row(
19980        self_: *mut GtkTreeExpander,
19981        list_row: *mut GtkTreeListRow,
19982    );
19983
19984    //=========================================================================
19985    // GtkTreeListModel
19986    //=========================================================================
19987    pub fn gtk_tree_list_model_get_type() -> GType;
19988    pub fn gtk_tree_list_model_new(
19989        root: *mut gio::GListModel,
19990        passthrough: gboolean,
19991        autoexpand: gboolean,
19992        create_func: GtkTreeListModelCreateModelFunc,
19993        user_data: gpointer,
19994        user_destroy: glib::GDestroyNotify,
19995    ) -> *mut GtkTreeListModel;
19996    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
19997    pub fn gtk_tree_list_model_get_child_row(
19998        self_: *mut GtkTreeListModel,
19999        position: c_uint,
20000    ) -> *mut GtkTreeListRow;
20001    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
20002    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
20003    pub fn gtk_tree_list_model_get_row(
20004        self_: *mut GtkTreeListModel,
20005        position: c_uint,
20006    ) -> *mut GtkTreeListRow;
20007    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
20008
20009    //=========================================================================
20010    // GtkTreeListRow
20011    //=========================================================================
20012    pub fn gtk_tree_list_row_get_type() -> GType;
20013    pub fn gtk_tree_list_row_get_child_row(
20014        self_: *mut GtkTreeListRow,
20015        position: c_uint,
20016    ) -> *mut GtkTreeListRow;
20017    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
20018    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
20019    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
20020    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
20021    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
20022    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
20023    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
20024    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
20025
20026    //=========================================================================
20027    // GtkTreeListRowSorter
20028    //=========================================================================
20029    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
20030    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
20031    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
20032    pub fn gtk_tree_list_row_sorter_set_sorter(
20033        self_: *mut GtkTreeListRowSorter,
20034        sorter: *mut GtkSorter,
20035    );
20036
20037    //=========================================================================
20038    // GtkTreeModelFilter
20039    //=========================================================================
20040    pub fn gtk_tree_model_filter_get_type() -> GType;
20041    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
20042    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
20043        filter: *mut GtkTreeModelFilter,
20044        filter_iter: *mut GtkTreeIter,
20045        child_iter: *mut GtkTreeIter,
20046    ) -> gboolean;
20047    pub fn gtk_tree_model_filter_convert_child_path_to_path(
20048        filter: *mut GtkTreeModelFilter,
20049        child_path: *mut GtkTreePath,
20050    ) -> *mut GtkTreePath;
20051    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
20052        filter: *mut GtkTreeModelFilter,
20053        child_iter: *mut GtkTreeIter,
20054        filter_iter: *mut GtkTreeIter,
20055    );
20056    pub fn gtk_tree_model_filter_convert_path_to_child_path(
20057        filter: *mut GtkTreeModelFilter,
20058        filter_path: *mut GtkTreePath,
20059    ) -> *mut GtkTreePath;
20060    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
20061    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
20062    pub fn gtk_tree_model_filter_set_modify_func(
20063        filter: *mut GtkTreeModelFilter,
20064        n_columns: c_int,
20065        types: *mut GType,
20066        func: GtkTreeModelFilterModifyFunc,
20067        data: gpointer,
20068        destroy: glib::GDestroyNotify,
20069    );
20070    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
20071    pub fn gtk_tree_model_filter_set_visible_func(
20072        filter: *mut GtkTreeModelFilter,
20073        func: GtkTreeModelFilterVisibleFunc,
20074        data: gpointer,
20075        destroy: glib::GDestroyNotify,
20076    );
20077
20078    //=========================================================================
20079    // GtkTreeModelSort
20080    //=========================================================================
20081    pub fn gtk_tree_model_sort_get_type() -> GType;
20082    pub fn gtk_tree_model_sort_new_with_model(
20083        child_model: *mut GtkTreeModel,
20084    ) -> *mut GtkTreeModelSort;
20085    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
20086    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
20087        tree_model_sort: *mut GtkTreeModelSort,
20088        sort_iter: *mut GtkTreeIter,
20089        child_iter: *mut GtkTreeIter,
20090    ) -> gboolean;
20091    pub fn gtk_tree_model_sort_convert_child_path_to_path(
20092        tree_model_sort: *mut GtkTreeModelSort,
20093        child_path: *mut GtkTreePath,
20094    ) -> *mut GtkTreePath;
20095    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
20096        tree_model_sort: *mut GtkTreeModelSort,
20097        child_iter: *mut GtkTreeIter,
20098        sorted_iter: *mut GtkTreeIter,
20099    );
20100    pub fn gtk_tree_model_sort_convert_path_to_child_path(
20101        tree_model_sort: *mut GtkTreeModelSort,
20102        sorted_path: *mut GtkTreePath,
20103    ) -> *mut GtkTreePath;
20104    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
20105    pub fn gtk_tree_model_sort_iter_is_valid(
20106        tree_model_sort: *mut GtkTreeModelSort,
20107        iter: *mut GtkTreeIter,
20108    ) -> gboolean;
20109    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
20110
20111    //=========================================================================
20112    // GtkTreeSelection
20113    //=========================================================================
20114    pub fn gtk_tree_selection_get_type() -> GType;
20115    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
20116    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
20117    pub fn gtk_tree_selection_get_select_function(
20118        selection: *mut GtkTreeSelection,
20119    ) -> GtkTreeSelectionFunc;
20120    pub fn gtk_tree_selection_get_selected(
20121        selection: *mut GtkTreeSelection,
20122        model: *mut *mut GtkTreeModel,
20123        iter: *mut GtkTreeIter,
20124    ) -> gboolean;
20125    pub fn gtk_tree_selection_get_selected_rows(
20126        selection: *mut GtkTreeSelection,
20127        model: *mut *mut GtkTreeModel,
20128    ) -> *mut glib::GList;
20129    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
20130    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
20131    pub fn gtk_tree_selection_iter_is_selected(
20132        selection: *mut GtkTreeSelection,
20133        iter: *mut GtkTreeIter,
20134    ) -> gboolean;
20135    pub fn gtk_tree_selection_path_is_selected(
20136        selection: *mut GtkTreeSelection,
20137        path: *mut GtkTreePath,
20138    ) -> gboolean;
20139    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
20140    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
20141    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
20142    pub fn gtk_tree_selection_select_range(
20143        selection: *mut GtkTreeSelection,
20144        start_path: *mut GtkTreePath,
20145        end_path: *mut GtkTreePath,
20146    );
20147    pub fn gtk_tree_selection_selected_foreach(
20148        selection: *mut GtkTreeSelection,
20149        func: GtkTreeSelectionForeachFunc,
20150        data: gpointer,
20151    );
20152    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20153    pub fn gtk_tree_selection_set_select_function(
20154        selection: *mut GtkTreeSelection,
20155        func: GtkTreeSelectionFunc,
20156        data: gpointer,
20157        destroy: glib::GDestroyNotify,
20158    );
20159    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20160    pub fn gtk_tree_selection_unselect_iter(
20161        selection: *mut GtkTreeSelection,
20162        iter: *mut GtkTreeIter,
20163    );
20164    pub fn gtk_tree_selection_unselect_path(
20165        selection: *mut GtkTreeSelection,
20166        path: *mut GtkTreePath,
20167    );
20168    pub fn gtk_tree_selection_unselect_range(
20169        selection: *mut GtkTreeSelection,
20170        start_path: *mut GtkTreePath,
20171        end_path: *mut GtkTreePath,
20172    );
20173
20174    //=========================================================================
20175    // GtkTreeStore
20176    //=========================================================================
20177    pub fn gtk_tree_store_get_type() -> GType;
20178    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20179    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20180    pub fn gtk_tree_store_append(
20181        tree_store: *mut GtkTreeStore,
20182        iter: *mut GtkTreeIter,
20183        parent: *mut GtkTreeIter,
20184    );
20185    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20186    pub fn gtk_tree_store_insert(
20187        tree_store: *mut GtkTreeStore,
20188        iter: *mut GtkTreeIter,
20189        parent: *mut GtkTreeIter,
20190        position: c_int,
20191    );
20192    pub fn gtk_tree_store_insert_after(
20193        tree_store: *mut GtkTreeStore,
20194        iter: *mut GtkTreeIter,
20195        parent: *mut GtkTreeIter,
20196        sibling: *mut GtkTreeIter,
20197    );
20198    pub fn gtk_tree_store_insert_before(
20199        tree_store: *mut GtkTreeStore,
20200        iter: *mut GtkTreeIter,
20201        parent: *mut GtkTreeIter,
20202        sibling: *mut GtkTreeIter,
20203    );
20204    pub fn gtk_tree_store_insert_with_values(
20205        tree_store: *mut GtkTreeStore,
20206        iter: *mut GtkTreeIter,
20207        parent: *mut GtkTreeIter,
20208        position: c_int,
20209        ...
20210    );
20211    pub fn gtk_tree_store_insert_with_valuesv(
20212        tree_store: *mut GtkTreeStore,
20213        iter: *mut GtkTreeIter,
20214        parent: *mut GtkTreeIter,
20215        position: c_int,
20216        columns: *mut c_int,
20217        values: *mut gobject::GValue,
20218        n_values: c_int,
20219    );
20220    pub fn gtk_tree_store_is_ancestor(
20221        tree_store: *mut GtkTreeStore,
20222        iter: *mut GtkTreeIter,
20223        descendant: *mut GtkTreeIter,
20224    ) -> gboolean;
20225    pub fn gtk_tree_store_iter_depth(
20226        tree_store: *mut GtkTreeStore,
20227        iter: *mut GtkTreeIter,
20228    ) -> c_int;
20229    pub fn gtk_tree_store_iter_is_valid(
20230        tree_store: *mut GtkTreeStore,
20231        iter: *mut GtkTreeIter,
20232    ) -> gboolean;
20233    pub fn gtk_tree_store_move_after(
20234        tree_store: *mut GtkTreeStore,
20235        iter: *mut GtkTreeIter,
20236        position: *mut GtkTreeIter,
20237    );
20238    pub fn gtk_tree_store_move_before(
20239        tree_store: *mut GtkTreeStore,
20240        iter: *mut GtkTreeIter,
20241        position: *mut GtkTreeIter,
20242    );
20243    pub fn gtk_tree_store_prepend(
20244        tree_store: *mut GtkTreeStore,
20245        iter: *mut GtkTreeIter,
20246        parent: *mut GtkTreeIter,
20247    );
20248    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20249    -> gboolean;
20250    pub fn gtk_tree_store_reorder(
20251        tree_store: *mut GtkTreeStore,
20252        parent: *mut GtkTreeIter,
20253        new_order: *mut c_int,
20254    );
20255    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20256    pub fn gtk_tree_store_set_column_types(
20257        tree_store: *mut GtkTreeStore,
20258        n_columns: c_int,
20259        types: *mut GType,
20260    );
20261    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20262    pub fn gtk_tree_store_set_value(
20263        tree_store: *mut GtkTreeStore,
20264        iter: *mut GtkTreeIter,
20265        column: c_int,
20266        value: *mut gobject::GValue,
20267    );
20268    pub fn gtk_tree_store_set_valuesv(
20269        tree_store: *mut GtkTreeStore,
20270        iter: *mut GtkTreeIter,
20271        columns: *mut c_int,
20272        values: *mut gobject::GValue,
20273        n_values: c_int,
20274    );
20275    pub fn gtk_tree_store_swap(
20276        tree_store: *mut GtkTreeStore,
20277        a: *mut GtkTreeIter,
20278        b: *mut GtkTreeIter,
20279    );
20280
20281    //=========================================================================
20282    // GtkTreeView
20283    //=========================================================================
20284    pub fn gtk_tree_view_get_type() -> GType;
20285    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20286    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20287    pub fn gtk_tree_view_append_column(
20288        tree_view: *mut GtkTreeView,
20289        column: *mut GtkTreeViewColumn,
20290    ) -> c_int;
20291    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20292    pub fn gtk_tree_view_collapse_row(
20293        tree_view: *mut GtkTreeView,
20294        path: *mut GtkTreePath,
20295    ) -> gboolean;
20296    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20297    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20298        tree_view: *mut GtkTreeView,
20299        bx: c_int,
20300        by: c_int,
20301        tx: *mut c_int,
20302        ty: *mut c_int,
20303    );
20304    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20305        tree_view: *mut GtkTreeView,
20306        bx: c_int,
20307        by: c_int,
20308        wx: *mut c_int,
20309        wy: *mut c_int,
20310    );
20311    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20312        tree_view: *mut GtkTreeView,
20313        tx: c_int,
20314        ty: c_int,
20315        bx: *mut c_int,
20316        by: *mut c_int,
20317    );
20318    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20319        tree_view: *mut GtkTreeView,
20320        tx: c_int,
20321        ty: c_int,
20322        wx: *mut c_int,
20323        wy: *mut c_int,
20324    );
20325    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20326        tree_view: *mut GtkTreeView,
20327        wx: c_int,
20328        wy: c_int,
20329        bx: *mut c_int,
20330        by: *mut c_int,
20331    );
20332    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20333        tree_view: *mut GtkTreeView,
20334        wx: c_int,
20335        wy: c_int,
20336        tx: *mut c_int,
20337        ty: *mut c_int,
20338    );
20339    pub fn gtk_tree_view_create_row_drag_icon(
20340        tree_view: *mut GtkTreeView,
20341        path: *mut GtkTreePath,
20342    ) -> *mut gdk::GdkPaintable;
20343    pub fn gtk_tree_view_enable_model_drag_dest(
20344        tree_view: *mut GtkTreeView,
20345        formats: *mut gdk::GdkContentFormats,
20346        actions: gdk::GdkDragAction,
20347    );
20348    pub fn gtk_tree_view_enable_model_drag_source(
20349        tree_view: *mut GtkTreeView,
20350        start_button_mask: gdk::GdkModifierType,
20351        formats: *mut gdk::GdkContentFormats,
20352        actions: gdk::GdkDragAction,
20353    );
20354    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20355    pub fn gtk_tree_view_expand_row(
20356        tree_view: *mut GtkTreeView,
20357        path: *mut GtkTreePath,
20358        open_all: gboolean,
20359    ) -> gboolean;
20360    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20361    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20362    pub fn gtk_tree_view_get_background_area(
20363        tree_view: *mut GtkTreeView,
20364        path: *mut GtkTreePath,
20365        column: *mut GtkTreeViewColumn,
20366        rect: *mut gdk::GdkRectangle,
20367    );
20368    pub fn gtk_tree_view_get_cell_area(
20369        tree_view: *mut GtkTreeView,
20370        path: *mut GtkTreePath,
20371        column: *mut GtkTreeViewColumn,
20372        rect: *mut gdk::GdkRectangle,
20373    );
20374    pub fn gtk_tree_view_get_column(
20375        tree_view: *mut GtkTreeView,
20376        n: c_int,
20377    ) -> *mut GtkTreeViewColumn;
20378    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20379    pub fn gtk_tree_view_get_cursor(
20380        tree_view: *mut GtkTreeView,
20381        path: *mut *mut GtkTreePath,
20382        focus_column: *mut *mut GtkTreeViewColumn,
20383    );
20384    pub fn gtk_tree_view_get_dest_row_at_pos(
20385        tree_view: *mut GtkTreeView,
20386        drag_x: c_int,
20387        drag_y: c_int,
20388        path: *mut *mut GtkTreePath,
20389        pos: *mut GtkTreeViewDropPosition,
20390    ) -> gboolean;
20391    pub fn gtk_tree_view_get_drag_dest_row(
20392        tree_view: *mut GtkTreeView,
20393        path: *mut *mut GtkTreePath,
20394        pos: *mut GtkTreeViewDropPosition,
20395    );
20396    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20397    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20398    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20399    -> *mut GtkTreeViewColumn;
20400    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20401    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20402    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20403    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20404    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20405    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20406    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20407    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20408    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20409    pub fn gtk_tree_view_get_path_at_pos(
20410        tree_view: *mut GtkTreeView,
20411        x: c_int,
20412        y: c_int,
20413        path: *mut *mut GtkTreePath,
20414        column: *mut *mut GtkTreeViewColumn,
20415        cell_x: *mut c_int,
20416        cell_y: *mut c_int,
20417    ) -> gboolean;
20418    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20419    pub fn gtk_tree_view_get_row_separator_func(
20420        tree_view: *mut GtkTreeView,
20421    ) -> GtkTreeViewRowSeparatorFunc;
20422    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20423    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20424    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20425    pub fn gtk_tree_view_get_search_equal_func(
20426        tree_view: *mut GtkTreeView,
20427    ) -> GtkTreeViewSearchEqualFunc;
20428    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20429    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20430    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20431    pub fn gtk_tree_view_get_tooltip_context(
20432        tree_view: *mut GtkTreeView,
20433        x: c_int,
20434        y: c_int,
20435        keyboard_tip: gboolean,
20436        model: *mut *mut GtkTreeModel,
20437        path: *mut *mut GtkTreePath,
20438        iter: *mut GtkTreeIter,
20439    ) -> gboolean;
20440    pub fn gtk_tree_view_get_visible_range(
20441        tree_view: *mut GtkTreeView,
20442        start_path: *mut *mut GtkTreePath,
20443        end_path: *mut *mut GtkTreePath,
20444    ) -> gboolean;
20445    pub fn gtk_tree_view_get_visible_rect(
20446        tree_view: *mut GtkTreeView,
20447        visible_rect: *mut gdk::GdkRectangle,
20448    );
20449    pub fn gtk_tree_view_insert_column(
20450        tree_view: *mut GtkTreeView,
20451        column: *mut GtkTreeViewColumn,
20452        position: c_int,
20453    ) -> c_int;
20454    pub fn gtk_tree_view_insert_column_with_attributes(
20455        tree_view: *mut GtkTreeView,
20456        position: c_int,
20457        title: *const c_char,
20458        cell: *mut GtkCellRenderer,
20459        ...
20460    ) -> c_int;
20461    pub fn gtk_tree_view_insert_column_with_data_func(
20462        tree_view: *mut GtkTreeView,
20463        position: c_int,
20464        title: *const c_char,
20465        cell: *mut GtkCellRenderer,
20466        func: GtkTreeCellDataFunc,
20467        data: gpointer,
20468        dnotify: glib::GDestroyNotify,
20469    ) -> c_int;
20470    pub fn gtk_tree_view_is_blank_at_pos(
20471        tree_view: *mut GtkTreeView,
20472        x: c_int,
20473        y: c_int,
20474        path: *mut *mut GtkTreePath,
20475        column: *mut *mut GtkTreeViewColumn,
20476        cell_x: *mut c_int,
20477        cell_y: *mut c_int,
20478    ) -> gboolean;
20479    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20480    pub fn gtk_tree_view_map_expanded_rows(
20481        tree_view: *mut GtkTreeView,
20482        func: GtkTreeViewMappingFunc,
20483        data: gpointer,
20484    );
20485    pub fn gtk_tree_view_move_column_after(
20486        tree_view: *mut GtkTreeView,
20487        column: *mut GtkTreeViewColumn,
20488        base_column: *mut GtkTreeViewColumn,
20489    );
20490    pub fn gtk_tree_view_remove_column(
20491        tree_view: *mut GtkTreeView,
20492        column: *mut GtkTreeViewColumn,
20493    ) -> c_int;
20494    pub fn gtk_tree_view_row_activated(
20495        tree_view: *mut GtkTreeView,
20496        path: *mut GtkTreePath,
20497        column: *mut GtkTreeViewColumn,
20498    );
20499    pub fn gtk_tree_view_row_expanded(
20500        tree_view: *mut GtkTreeView,
20501        path: *mut GtkTreePath,
20502    ) -> gboolean;
20503    pub fn gtk_tree_view_scroll_to_cell(
20504        tree_view: *mut GtkTreeView,
20505        path: *mut GtkTreePath,
20506        column: *mut GtkTreeViewColumn,
20507        use_align: gboolean,
20508        row_align: c_float,
20509        col_align: c_float,
20510    );
20511    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20512    pub fn gtk_tree_view_set_activate_on_single_click(
20513        tree_view: *mut GtkTreeView,
20514        single: gboolean,
20515    );
20516    pub fn gtk_tree_view_set_column_drag_function(
20517        tree_view: *mut GtkTreeView,
20518        func: GtkTreeViewColumnDropFunc,
20519        user_data: gpointer,
20520        destroy: glib::GDestroyNotify,
20521    );
20522    pub fn gtk_tree_view_set_cursor(
20523        tree_view: *mut GtkTreeView,
20524        path: *mut GtkTreePath,
20525        focus_column: *mut GtkTreeViewColumn,
20526        start_editing: gboolean,
20527    );
20528    pub fn gtk_tree_view_set_cursor_on_cell(
20529        tree_view: *mut GtkTreeView,
20530        path: *mut GtkTreePath,
20531        focus_column: *mut GtkTreeViewColumn,
20532        focus_cell: *mut GtkCellRenderer,
20533        start_editing: gboolean,
20534    );
20535    pub fn gtk_tree_view_set_drag_dest_row(
20536        tree_view: *mut GtkTreeView,
20537        path: *mut GtkTreePath,
20538        pos: GtkTreeViewDropPosition,
20539    );
20540    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20541    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20542    pub fn gtk_tree_view_set_expander_column(
20543        tree_view: *mut GtkTreeView,
20544        column: *mut GtkTreeViewColumn,
20545    );
20546    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20547    pub fn gtk_tree_view_set_grid_lines(
20548        tree_view: *mut GtkTreeView,
20549        grid_lines: GtkTreeViewGridLines,
20550    );
20551    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20552    pub fn gtk_tree_view_set_headers_visible(
20553        tree_view: *mut GtkTreeView,
20554        headers_visible: gboolean,
20555    );
20556    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20557    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20558    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20559    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20560    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20561    pub fn gtk_tree_view_set_row_separator_func(
20562        tree_view: *mut GtkTreeView,
20563        func: GtkTreeViewRowSeparatorFunc,
20564        data: gpointer,
20565        destroy: glib::GDestroyNotify,
20566    );
20567    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20568    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20569    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20570    pub fn gtk_tree_view_set_search_equal_func(
20571        tree_view: *mut GtkTreeView,
20572        search_equal_func: GtkTreeViewSearchEqualFunc,
20573        search_user_data: gpointer,
20574        search_destroy: glib::GDestroyNotify,
20575    );
20576    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20577    pub fn gtk_tree_view_set_tooltip_cell(
20578        tree_view: *mut GtkTreeView,
20579        tooltip: *mut GtkTooltip,
20580        path: *mut GtkTreePath,
20581        column: *mut GtkTreeViewColumn,
20582        cell: *mut GtkCellRenderer,
20583    );
20584    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20585    pub fn gtk_tree_view_set_tooltip_row(
20586        tree_view: *mut GtkTreeView,
20587        tooltip: *mut GtkTooltip,
20588        path: *mut GtkTreePath,
20589    );
20590    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20591    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20592
20593    //=========================================================================
20594    // GtkTreeViewColumn
20595    //=========================================================================
20596    pub fn gtk_tree_view_column_get_type() -> GType;
20597    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20598    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20599    pub fn gtk_tree_view_column_new_with_attributes(
20600        title: *const c_char,
20601        cell: *mut GtkCellRenderer,
20602        ...
20603    ) -> *mut GtkTreeViewColumn;
20604    pub fn gtk_tree_view_column_add_attribute(
20605        tree_column: *mut GtkTreeViewColumn,
20606        cell_renderer: *mut GtkCellRenderer,
20607        attribute: *const c_char,
20608        column: c_int,
20609    );
20610    pub fn gtk_tree_view_column_cell_get_position(
20611        tree_column: *mut GtkTreeViewColumn,
20612        cell_renderer: *mut GtkCellRenderer,
20613        x_offset: *mut c_int,
20614        width: *mut c_int,
20615    ) -> gboolean;
20616    pub fn gtk_tree_view_column_cell_get_size(
20617        tree_column: *mut GtkTreeViewColumn,
20618        x_offset: *mut c_int,
20619        y_offset: *mut c_int,
20620        width: *mut c_int,
20621        height: *mut c_int,
20622    );
20623    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20624    pub fn gtk_tree_view_column_cell_set_cell_data(
20625        tree_column: *mut GtkTreeViewColumn,
20626        tree_model: *mut GtkTreeModel,
20627        iter: *mut GtkTreeIter,
20628        is_expander: gboolean,
20629        is_expanded: gboolean,
20630    );
20631    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20632    pub fn gtk_tree_view_column_clear_attributes(
20633        tree_column: *mut GtkTreeViewColumn,
20634        cell_renderer: *mut GtkCellRenderer,
20635    );
20636    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20637    pub fn gtk_tree_view_column_focus_cell(
20638        tree_column: *mut GtkTreeViewColumn,
20639        cell: *mut GtkCellRenderer,
20640    );
20641    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20642    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20643    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20644    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20645    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20646    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20647    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20648    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20649    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20650    pub fn gtk_tree_view_column_get_sizing(
20651        tree_column: *mut GtkTreeViewColumn,
20652    ) -> GtkTreeViewColumnSizing;
20653    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20654    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20655    -> gboolean;
20656    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20657    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20658    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20659    pub fn gtk_tree_view_column_get_tree_view(
20660        tree_column: *mut GtkTreeViewColumn,
20661    ) -> *mut GtkWidget;
20662    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20663    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20664    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20665    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20666    pub fn gtk_tree_view_column_pack_end(
20667        tree_column: *mut GtkTreeViewColumn,
20668        cell: *mut GtkCellRenderer,
20669        expand: gboolean,
20670    );
20671    pub fn gtk_tree_view_column_pack_start(
20672        tree_column: *mut GtkTreeViewColumn,
20673        cell: *mut GtkCellRenderer,
20674        expand: gboolean,
20675    );
20676    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20677    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20678    pub fn gtk_tree_view_column_set_attributes(
20679        tree_column: *mut GtkTreeViewColumn,
20680        cell_renderer: *mut GtkCellRenderer,
20681        ...
20682    );
20683    pub fn gtk_tree_view_column_set_cell_data_func(
20684        tree_column: *mut GtkTreeViewColumn,
20685        cell_renderer: *mut GtkCellRenderer,
20686        func: GtkTreeCellDataFunc,
20687        func_data: gpointer,
20688        destroy: glib::GDestroyNotify,
20689    );
20690    pub fn gtk_tree_view_column_set_clickable(
20691        tree_column: *mut GtkTreeViewColumn,
20692        clickable: gboolean,
20693    );
20694    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20695    pub fn gtk_tree_view_column_set_fixed_width(
20696        tree_column: *mut GtkTreeViewColumn,
20697        fixed_width: c_int,
20698    );
20699    pub fn gtk_tree_view_column_set_max_width(
20700        tree_column: *mut GtkTreeViewColumn,
20701        max_width: c_int,
20702    );
20703    pub fn gtk_tree_view_column_set_min_width(
20704        tree_column: *mut GtkTreeViewColumn,
20705        min_width: c_int,
20706    );
20707    pub fn gtk_tree_view_column_set_reorderable(
20708        tree_column: *mut GtkTreeViewColumn,
20709        reorderable: gboolean,
20710    );
20711    pub fn gtk_tree_view_column_set_resizable(
20712        tree_column: *mut GtkTreeViewColumn,
20713        resizable: gboolean,
20714    );
20715    pub fn gtk_tree_view_column_set_sizing(
20716        tree_column: *mut GtkTreeViewColumn,
20717        type_: GtkTreeViewColumnSizing,
20718    );
20719    pub fn gtk_tree_view_column_set_sort_column_id(
20720        tree_column: *mut GtkTreeViewColumn,
20721        sort_column_id: c_int,
20722    );
20723    pub fn gtk_tree_view_column_set_sort_indicator(
20724        tree_column: *mut GtkTreeViewColumn,
20725        setting: gboolean,
20726    );
20727    pub fn gtk_tree_view_column_set_sort_order(
20728        tree_column: *mut GtkTreeViewColumn,
20729        order: GtkSortType,
20730    );
20731    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20732    pub fn gtk_tree_view_column_set_title(
20733        tree_column: *mut GtkTreeViewColumn,
20734        title: *const c_char,
20735    );
20736    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20737    pub fn gtk_tree_view_column_set_widget(
20738        tree_column: *mut GtkTreeViewColumn,
20739        widget: *mut GtkWidget,
20740    );
20741
20742    //=========================================================================
20743    // GtkTryExpression
20744    //=========================================================================
20745    #[cfg(feature = "v4_22")]
20746    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20747    pub fn gtk_try_expression_get_type() -> GType;
20748    #[cfg(feature = "v4_22")]
20749    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20750    pub fn gtk_try_expression_new(
20751        n_expressions: c_uint,
20752        expressions: *mut *mut GtkExpression,
20753    ) -> *mut GtkTryExpression;
20754
20755    //=========================================================================
20756    // GtkUriLauncher
20757    //=========================================================================
20758    #[cfg(feature = "v4_10")]
20759    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20760    pub fn gtk_uri_launcher_get_type() -> GType;
20761    #[cfg(feature = "v4_10")]
20762    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20763    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20764    #[cfg(feature = "v4_20")]
20765    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20766    pub fn gtk_uri_launcher_can_launch(
20767        self_: *mut GtkUriLauncher,
20768        parent: *mut GtkWindow,
20769    ) -> gboolean;
20770    #[cfg(feature = "v4_10")]
20771    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20772    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20773    #[cfg(feature = "v4_10")]
20774    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20775    pub fn gtk_uri_launcher_launch(
20776        self_: *mut GtkUriLauncher,
20777        parent: *mut GtkWindow,
20778        cancellable: *mut gio::GCancellable,
20779        callback: gio::GAsyncReadyCallback,
20780        user_data: gpointer,
20781    );
20782    #[cfg(feature = "v4_10")]
20783    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20784    pub fn gtk_uri_launcher_launch_finish(
20785        self_: *mut GtkUriLauncher,
20786        result: *mut gio::GAsyncResult,
20787        error: *mut *mut glib::GError,
20788    ) -> gboolean;
20789    #[cfg(feature = "v4_10")]
20790    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20791    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20792
20793    //=========================================================================
20794    // GtkVideo
20795    //=========================================================================
20796    pub fn gtk_video_get_type() -> GType;
20797    pub fn gtk_video_new() -> *mut GtkWidget;
20798    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20799    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20800    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20801    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20802    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20803    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20804    #[cfg(feature = "v4_14")]
20805    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20806    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20807    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20808    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20809    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20810    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20811    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20812    #[cfg(feature = "v4_14")]
20813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20814    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20815    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20816    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20817    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20818
20819    //=========================================================================
20820    // GtkViewport
20821    //=========================================================================
20822    pub fn gtk_viewport_get_type() -> GType;
20823    pub fn gtk_viewport_new(
20824        hadjustment: *mut GtkAdjustment,
20825        vadjustment: *mut GtkAdjustment,
20826    ) -> *mut GtkWidget;
20827    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20828    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20829    #[cfg(feature = "v4_12")]
20830    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20831    pub fn gtk_viewport_scroll_to(
20832        viewport: *mut GtkViewport,
20833        descendant: *mut GtkWidget,
20834        scroll: *mut GtkScrollInfo,
20835    );
20836    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20837    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20838
20839    //=========================================================================
20840    // GtkVolumeButton
20841    //=========================================================================
20842    pub fn gtk_volume_button_get_type() -> GType;
20843    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20844
20845    //=========================================================================
20846    // GtkWidget
20847    //=========================================================================
20848    pub fn gtk_widget_get_type() -> GType;
20849    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20850    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20851    pub fn gtk_widget_action_set_enabled(
20852        widget: *mut GtkWidget,
20853        action_name: *const c_char,
20854        enabled: gboolean,
20855    );
20856    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20857    pub fn gtk_widget_activate_action(
20858        widget: *mut GtkWidget,
20859        name: *const c_char,
20860        format_string: *const c_char,
20861        ...
20862    ) -> gboolean;
20863    pub fn gtk_widget_activate_action_variant(
20864        widget: *mut GtkWidget,
20865        name: *const c_char,
20866        args: *mut glib::GVariant,
20867    ) -> gboolean;
20868    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20869    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20870    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20871    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20872    pub fn gtk_widget_add_tick_callback(
20873        widget: *mut GtkWidget,
20874        callback: GtkTickCallback,
20875        user_data: gpointer,
20876        notify: glib::GDestroyNotify,
20877    ) -> c_uint;
20878    pub fn gtk_widget_allocate(
20879        widget: *mut GtkWidget,
20880        width: c_int,
20881        height: c_int,
20882        baseline: c_int,
20883        transform: *mut gsk::GskTransform,
20884    );
20885    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20886    pub fn gtk_widget_compute_bounds(
20887        widget: *mut GtkWidget,
20888        target: *mut GtkWidget,
20889        out_bounds: *mut graphene::graphene_rect_t,
20890    ) -> gboolean;
20891    pub fn gtk_widget_compute_expand(
20892        widget: *mut GtkWidget,
20893        orientation: GtkOrientation,
20894    ) -> gboolean;
20895    pub fn gtk_widget_compute_point(
20896        widget: *mut GtkWidget,
20897        target: *mut GtkWidget,
20898        point: *const graphene::graphene_point_t,
20899        out_point: *mut graphene::graphene_point_t,
20900    ) -> gboolean;
20901    pub fn gtk_widget_compute_transform(
20902        widget: *mut GtkWidget,
20903        target: *mut GtkWidget,
20904        out_transform: *mut graphene::graphene_matrix_t,
20905    ) -> gboolean;
20906    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20907    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20908    pub fn gtk_widget_create_pango_layout(
20909        widget: *mut GtkWidget,
20910        text: *const c_char,
20911    ) -> *mut pango::PangoLayout;
20912    #[cfg(feature = "v4_8")]
20913    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20914    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20915    pub fn gtk_drag_check_threshold(
20916        widget: *mut GtkWidget,
20917        start_x: c_int,
20918        start_y: c_int,
20919        current_x: c_int,
20920        current_y: c_int,
20921    ) -> gboolean;
20922    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20923    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20924    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20925    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20926    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20927    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20928    #[cfg(feature = "v4_12")]
20929    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20930    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20931    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20932    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20933    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20934    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20935    #[cfg(feature = "v4_10")]
20936    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20937    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20938    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20939    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20940    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20941    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20942    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20943    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20944    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20945    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20946    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20947    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20948    pub fn gtk_widget_get_font_options(
20949        widget: *mut GtkWidget,
20950    ) -> *const cairo::cairo_font_options_t;
20951    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20952    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20953    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20954    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20955    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20956    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20957    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20958    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20959    #[cfg(feature = "v4_18")]
20960    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20961    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20962    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20963    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20964    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20965    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20966    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20967    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20968    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20969    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20970    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20971    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20972    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20973    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20974    pub fn gtk_widget_get_preferred_size(
20975        widget: *mut GtkWidget,
20976        minimum_size: *mut GtkRequisition,
20977        natural_size: *mut GtkRequisition,
20978    );
20979    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20980    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20981    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20982    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20983    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20984    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20985    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20986    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20987    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20988    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
20989    pub fn gtk_widget_get_size_request(
20990        widget: *mut GtkWidget,
20991        width: *mut c_int,
20992        height: *mut c_int,
20993    );
20994    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
20995    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
20996    pub fn gtk_widget_get_template_child(
20997        widget: *mut GtkWidget,
20998        widget_type: GType,
20999        name: *const c_char,
21000    ) -> *mut gobject::GObject;
21001    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
21002    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
21003    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
21004    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
21005    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
21006    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
21007    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
21008    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
21009    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
21010    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
21011    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
21012    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
21013    pub fn gtk_widget_hide(widget: *mut GtkWidget);
21014    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
21015    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
21016    pub fn gtk_widget_insert_action_group(
21017        widget: *mut GtkWidget,
21018        name: *const c_char,
21019        group: *mut gio::GActionGroup,
21020    );
21021    pub fn gtk_widget_insert_after(
21022        widget: *mut GtkWidget,
21023        parent: *mut GtkWidget,
21024        previous_sibling: *mut GtkWidget,
21025    );
21026    pub fn gtk_widget_insert_before(
21027        widget: *mut GtkWidget,
21028        parent: *mut GtkWidget,
21029        next_sibling: *mut GtkWidget,
21030    );
21031    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
21032    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
21033    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
21034    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
21035    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
21036    pub fn gtk_widget_keynav_failed(
21037        widget: *mut GtkWidget,
21038        direction: GtkDirectionType,
21039    ) -> gboolean;
21040    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
21041    pub fn gtk_widget_map(widget: *mut GtkWidget);
21042    pub fn gtk_widget_measure(
21043        widget: *mut GtkWidget,
21044        orientation: GtkOrientation,
21045        for_size: c_int,
21046        minimum: *mut c_int,
21047        natural: *mut c_int,
21048        minimum_baseline: *mut c_int,
21049        natural_baseline: *mut c_int,
21050    );
21051    pub fn gtk_widget_mnemonic_activate(
21052        widget: *mut GtkWidget,
21053        group_cycling: gboolean,
21054    ) -> gboolean;
21055    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
21056    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
21057    pub fn gtk_widget_pick(
21058        widget: *mut GtkWidget,
21059        x: c_double,
21060        y: c_double,
21061        flags: GtkPickFlags,
21062    ) -> *mut GtkWidget;
21063    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
21064    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
21065    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
21066    pub fn gtk_widget_realize(widget: *mut GtkWidget);
21067    pub fn gtk_widget_remove_controller(
21068        widget: *mut GtkWidget,
21069        controller: *mut GtkEventController,
21070    );
21071    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
21072    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
21073    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
21074    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
21075    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
21076    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
21077    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
21078    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
21079    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
21080    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
21081    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
21082    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
21083    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
21084    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
21085    pub fn gtk_widget_set_font_options(
21086        widget: *mut GtkWidget,
21087        options: *const cairo::cairo_font_options_t,
21088    );
21089    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
21090    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
21091    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
21092    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
21093    pub fn gtk_widget_set_layout_manager(
21094        widget: *mut GtkWidget,
21095        layout_manager: *mut GtkLayoutManager,
21096    );
21097    #[cfg(feature = "v4_18")]
21098    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21099    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
21100    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
21101    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
21102    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
21103    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
21104    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
21105    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
21106    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
21107    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
21108    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
21109    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
21110    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
21111    pub fn gtk_widget_set_state_flags(
21112        widget: *mut GtkWidget,
21113        flags: GtkStateFlags,
21114        clear: gboolean,
21115    );
21116    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
21117    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
21118    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
21119    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
21120    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
21121    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
21122    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
21123    pub fn gtk_widget_show(widget: *mut GtkWidget);
21124    pub fn gtk_widget_size_allocate(
21125        widget: *mut GtkWidget,
21126        allocation: *const GtkAllocation,
21127        baseline: c_int,
21128    );
21129    pub fn gtk_widget_snapshot_child(
21130        widget: *mut GtkWidget,
21131        child: *mut GtkWidget,
21132        snapshot: *mut GtkSnapshot,
21133    );
21134    pub fn gtk_widget_translate_coordinates(
21135        src_widget: *mut GtkWidget,
21136        dest_widget: *mut GtkWidget,
21137        src_x: c_double,
21138        src_y: c_double,
21139        dest_x: *mut c_double,
21140        dest_y: *mut c_double,
21141    ) -> gboolean;
21142    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
21143    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
21144    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
21145    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
21146    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
21147
21148    //=========================================================================
21149    // GtkWidgetPaintable
21150    //=========================================================================
21151    pub fn gtk_widget_paintable_get_type() -> GType;
21152    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21153    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21154    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21155
21156    //=========================================================================
21157    // GtkWindow
21158    //=========================================================================
21159    pub fn gtk_window_get_type() -> GType;
21160    pub fn gtk_window_new() -> *mut GtkWidget;
21161    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21162    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21163    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21164    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21165    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21166    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21167    pub fn gtk_window_close(window: *mut GtkWindow);
21168    pub fn gtk_window_destroy(window: *mut GtkWindow);
21169    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21170    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21171    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21172    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21173    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21174    pub fn gtk_window_get_default_size(
21175        window: *mut GtkWindow,
21176        width: *mut c_int,
21177        height: *mut c_int,
21178    );
21179    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21180    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21181    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21182    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21183    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21184    #[cfg(feature = "v4_20")]
21185    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21186    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21187    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21188    #[cfg(feature = "v4_2")]
21189    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21190    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21191    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21192    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21193    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21194    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21195    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21196    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21197    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21198    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21199    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21200    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21201    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21202    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21203    #[cfg(feature = "v4_12")]
21204    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21205    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21206    pub fn gtk_window_maximize(window: *mut GtkWindow);
21207    pub fn gtk_window_minimize(window: *mut GtkWindow);
21208    pub fn gtk_window_present(window: *mut GtkWindow);
21209    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21210    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21211    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21212    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21213    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21214    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21215    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21216    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21217    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21218    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21219    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21220    #[cfg(feature = "v4_20")]
21221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21222    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21223    #[cfg(feature = "v4_2")]
21224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21225    pub fn gtk_window_set_handle_menubar_accel(
21226        window: *mut GtkWindow,
21227        handle_menubar_accel: gboolean,
21228    );
21229    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21230    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21231    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21232    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21233    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21234    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21235    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21236    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21237    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21238    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21239    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21240    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21241
21242    //=========================================================================
21243    // GtkWindowControls
21244    //=========================================================================
21245    pub fn gtk_window_controls_get_type() -> GType;
21246    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21247    pub fn gtk_window_controls_get_decoration_layout(
21248        self_: *mut GtkWindowControls,
21249    ) -> *const c_char;
21250    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21251    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21252    #[cfg(feature = "v4_18")]
21253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21254    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21255    pub fn gtk_window_controls_set_decoration_layout(
21256        self_: *mut GtkWindowControls,
21257        layout: *const c_char,
21258    );
21259    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21260    #[cfg(feature = "v4_18")]
21261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21262    pub fn gtk_window_controls_set_use_native_controls(
21263        self_: *mut GtkWindowControls,
21264        setting: gboolean,
21265    );
21266
21267    //=========================================================================
21268    // GtkWindowGroup
21269    //=========================================================================
21270    pub fn gtk_window_group_get_type() -> GType;
21271    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21272    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21273    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21274    pub fn gtk_window_group_remove_window(
21275        window_group: *mut GtkWindowGroup,
21276        window: *mut GtkWindow,
21277    );
21278
21279    //=========================================================================
21280    // GtkWindowHandle
21281    //=========================================================================
21282    pub fn gtk_window_handle_get_type() -> GType;
21283    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21284    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21285    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21286
21287    //=========================================================================
21288    // GtkAccessible
21289    //=========================================================================
21290    pub fn gtk_accessible_get_type() -> GType;
21291    #[cfg(feature = "v4_14")]
21292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21293    pub fn gtk_accessible_announce(
21294        self_: *mut GtkAccessible,
21295        message: *const c_char,
21296        priority: GtkAccessibleAnnouncementPriority,
21297    );
21298    #[cfg(feature = "v4_22")]
21299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21300    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21301    #[cfg(feature = "v4_10")]
21302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21303    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21304    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21305    #[cfg(feature = "v4_10")]
21306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21307    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21308    #[cfg(feature = "v4_10")]
21309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21310    pub fn gtk_accessible_get_bounds(
21311        self_: *mut GtkAccessible,
21312        x: *mut c_int,
21313        y: *mut c_int,
21314        width: *mut c_int,
21315        height: *mut c_int,
21316    ) -> gboolean;
21317    #[cfg(feature = "v4_10")]
21318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21319    pub fn gtk_accessible_get_first_accessible_child(
21320        self_: *mut GtkAccessible,
21321    ) -> *mut GtkAccessible;
21322    #[cfg(feature = "v4_10")]
21323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21324    pub fn gtk_accessible_get_next_accessible_sibling(
21325        self_: *mut GtkAccessible,
21326    ) -> *mut GtkAccessible;
21327    #[cfg(feature = "v4_10")]
21328    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21329    pub fn gtk_accessible_get_platform_state(
21330        self_: *mut GtkAccessible,
21331        state: GtkAccessiblePlatformState,
21332    ) -> gboolean;
21333    pub fn gtk_accessible_reset_property(
21334        self_: *mut GtkAccessible,
21335        property: GtkAccessibleProperty,
21336    );
21337    pub fn gtk_accessible_reset_relation(
21338        self_: *mut GtkAccessible,
21339        relation: GtkAccessibleRelation,
21340    );
21341    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21342    #[cfg(feature = "v4_10")]
21343    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21344    pub fn gtk_accessible_set_accessible_parent(
21345        self_: *mut GtkAccessible,
21346        parent: *mut GtkAccessible,
21347        next_sibling: *mut GtkAccessible,
21348    );
21349    #[cfg(feature = "v4_10")]
21350    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21351    pub fn gtk_accessible_update_next_accessible_sibling(
21352        self_: *mut GtkAccessible,
21353        new_sibling: *mut GtkAccessible,
21354    );
21355    #[cfg(feature = "v4_18")]
21356    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21357    pub fn gtk_accessible_update_platform_state(
21358        self_: *mut GtkAccessible,
21359        state: GtkAccessiblePlatformState,
21360    );
21361    pub fn gtk_accessible_update_property(
21362        self_: *mut GtkAccessible,
21363        first_property: GtkAccessibleProperty,
21364        ...
21365    );
21366    pub fn gtk_accessible_update_property_value(
21367        self_: *mut GtkAccessible,
21368        n_properties: c_int,
21369        properties: *mut GtkAccessibleProperty,
21370        values: *const gobject::GValue,
21371    );
21372    pub fn gtk_accessible_update_relation(
21373        self_: *mut GtkAccessible,
21374        first_relation: GtkAccessibleRelation,
21375        ...
21376    );
21377    pub fn gtk_accessible_update_relation_value(
21378        self_: *mut GtkAccessible,
21379        n_relations: c_int,
21380        relations: *mut GtkAccessibleRelation,
21381        values: *const gobject::GValue,
21382    );
21383    pub fn gtk_accessible_update_state(
21384        self_: *mut GtkAccessible,
21385        first_state: GtkAccessibleState,
21386        ...
21387    );
21388    pub fn gtk_accessible_update_state_value(
21389        self_: *mut GtkAccessible,
21390        n_states: c_int,
21391        states: *mut GtkAccessibleState,
21392        values: *const gobject::GValue,
21393    );
21394
21395    //=========================================================================
21396    // GtkAccessibleHypertext
21397    //=========================================================================
21398    #[cfg(feature = "v4_22")]
21399    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21400    pub fn gtk_accessible_hypertext_get_type() -> GType;
21401
21402    //=========================================================================
21403    // GtkAccessibleRange
21404    //=========================================================================
21405    #[cfg(feature = "v4_10")]
21406    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21407    pub fn gtk_accessible_range_get_type() -> GType;
21408
21409    //=========================================================================
21410    // GtkAccessibleText
21411    //=========================================================================
21412    #[cfg(feature = "v4_14")]
21413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21414    pub fn gtk_accessible_text_get_type() -> GType;
21415    #[cfg(feature = "v4_14")]
21416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21417    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21418    #[cfg(feature = "v4_14")]
21419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21420    pub fn gtk_accessible_text_update_contents(
21421        self_: *mut GtkAccessibleText,
21422        change: GtkAccessibleTextContentChange,
21423        start: c_uint,
21424        end: c_uint,
21425    );
21426    #[cfg(feature = "v4_14")]
21427    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21428    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21429
21430    //=========================================================================
21431    // GtkActionable
21432    //=========================================================================
21433    pub fn gtk_actionable_get_type() -> GType;
21434    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21435    pub fn gtk_actionable_get_action_target_value(
21436        actionable: *mut GtkActionable,
21437    ) -> *mut glib::GVariant;
21438    pub fn gtk_actionable_set_action_name(
21439        actionable: *mut GtkActionable,
21440        action_name: *const c_char,
21441    );
21442    pub fn gtk_actionable_set_action_target(
21443        actionable: *mut GtkActionable,
21444        format_string: *const c_char,
21445        ...
21446    );
21447    pub fn gtk_actionable_set_action_target_value(
21448        actionable: *mut GtkActionable,
21449        target_value: *mut glib::GVariant,
21450    );
21451    pub fn gtk_actionable_set_detailed_action_name(
21452        actionable: *mut GtkActionable,
21453        detailed_action_name: *const c_char,
21454    );
21455
21456    //=========================================================================
21457    // GtkAppChooser
21458    //=========================================================================
21459    pub fn gtk_app_chooser_get_type() -> GType;
21460    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21461    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21462    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21463
21464    //=========================================================================
21465    // GtkBuildable
21466    //=========================================================================
21467    pub fn gtk_buildable_get_type() -> GType;
21468    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21469
21470    //=========================================================================
21471    // GtkBuilderScope
21472    //=========================================================================
21473    pub fn gtk_builder_scope_get_type() -> GType;
21474
21475    //=========================================================================
21476    // GtkCellEditable
21477    //=========================================================================
21478    pub fn gtk_cell_editable_get_type() -> GType;
21479    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21480    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21481    pub fn gtk_cell_editable_start_editing(
21482        cell_editable: *mut GtkCellEditable,
21483        event: *mut gdk::GdkEvent,
21484    );
21485
21486    //=========================================================================
21487    // GtkCellLayout
21488    //=========================================================================
21489    pub fn gtk_cell_layout_get_type() -> GType;
21490    pub fn gtk_cell_layout_add_attribute(
21491        cell_layout: *mut GtkCellLayout,
21492        cell: *mut GtkCellRenderer,
21493        attribute: *const c_char,
21494        column: c_int,
21495    );
21496    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21497    pub fn gtk_cell_layout_clear_attributes(
21498        cell_layout: *mut GtkCellLayout,
21499        cell: *mut GtkCellRenderer,
21500    );
21501    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21502    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21503    pub fn gtk_cell_layout_pack_end(
21504        cell_layout: *mut GtkCellLayout,
21505        cell: *mut GtkCellRenderer,
21506        expand: gboolean,
21507    );
21508    pub fn gtk_cell_layout_pack_start(
21509        cell_layout: *mut GtkCellLayout,
21510        cell: *mut GtkCellRenderer,
21511        expand: gboolean,
21512    );
21513    pub fn gtk_cell_layout_reorder(
21514        cell_layout: *mut GtkCellLayout,
21515        cell: *mut GtkCellRenderer,
21516        position: c_int,
21517    );
21518    pub fn gtk_cell_layout_set_attributes(
21519        cell_layout: *mut GtkCellLayout,
21520        cell: *mut GtkCellRenderer,
21521        ...
21522    );
21523    pub fn gtk_cell_layout_set_cell_data_func(
21524        cell_layout: *mut GtkCellLayout,
21525        cell: *mut GtkCellRenderer,
21526        func: GtkCellLayoutDataFunc,
21527        func_data: gpointer,
21528        destroy: glib::GDestroyNotify,
21529    );
21530
21531    //=========================================================================
21532    // GtkColorChooser
21533    //=========================================================================
21534    pub fn gtk_color_chooser_get_type() -> GType;
21535    pub fn gtk_color_chooser_add_palette(
21536        chooser: *mut GtkColorChooser,
21537        orientation: GtkOrientation,
21538        colors_per_line: c_int,
21539        n_colors: c_int,
21540        colors: *mut gdk::GdkRGBA,
21541    );
21542    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21543    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21544    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21545    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21546
21547    //=========================================================================
21548    // GtkConstraintTarget
21549    //=========================================================================
21550    pub fn gtk_constraint_target_get_type() -> GType;
21551
21552    //=========================================================================
21553    // GtkEditable
21554    //=========================================================================
21555    pub fn gtk_editable_get_type() -> GType;
21556    pub fn gtk_editable_delegate_get_property(
21557        object: *mut gobject::GObject,
21558        prop_id: c_uint,
21559        value: *mut gobject::GValue,
21560        pspec: *mut gobject::GParamSpec,
21561    ) -> gboolean;
21562    pub fn gtk_editable_delegate_set_property(
21563        object: *mut gobject::GObject,
21564        prop_id: c_uint,
21565        value: *const gobject::GValue,
21566        pspec: *mut gobject::GParamSpec,
21567    ) -> gboolean;
21568    pub fn gtk_editable_install_properties(
21569        object_class: *mut gobject::GObjectClass,
21570        first_prop: c_uint,
21571    ) -> c_uint;
21572    #[cfg(feature = "v4_10")]
21573    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21574    pub fn gtk_editable_delegate_get_accessible_platform_state(
21575        editable: *mut GtkEditable,
21576        state: GtkAccessiblePlatformState,
21577    ) -> gboolean;
21578    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21579    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21580    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21581    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21582    pub fn gtk_editable_get_chars(
21583        editable: *mut GtkEditable,
21584        start_pos: c_int,
21585        end_pos: c_int,
21586    ) -> *mut c_char;
21587    #[cfg(feature = "v4_24")]
21588    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21589    pub fn gtk_editable_get_complete_text(editable: *mut GtkEditable) -> *mut c_char;
21590    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21591    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21592    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21593    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21594    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21595    pub fn gtk_editable_get_selection_bounds(
21596        editable: *mut GtkEditable,
21597        start_pos: *mut c_int,
21598        end_pos: *mut c_int,
21599    ) -> gboolean;
21600    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21601    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21602    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21603    pub fn gtk_editable_insert_text(
21604        editable: *mut GtkEditable,
21605        text: *const c_char,
21606        length: c_int,
21607        position: *mut c_int,
21608    );
21609    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21610    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21611    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21612    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21613    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21614    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21615    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21616    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21617
21618    //=========================================================================
21619    // GtkFileChooser
21620    //=========================================================================
21621    pub fn gtk_file_chooser_get_type() -> GType;
21622    pub fn gtk_file_chooser_add_choice(
21623        chooser: *mut GtkFileChooser,
21624        id: *const c_char,
21625        label: *const c_char,
21626        options: *mut *const c_char,
21627        option_labels: *mut *const c_char,
21628    );
21629    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21630    pub fn gtk_file_chooser_add_shortcut_folder(
21631        chooser: *mut GtkFileChooser,
21632        folder: *mut gio::GFile,
21633        error: *mut *mut glib::GError,
21634    ) -> gboolean;
21635    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21636    pub fn gtk_file_chooser_get_choice(
21637        chooser: *mut GtkFileChooser,
21638        id: *const c_char,
21639    ) -> *const c_char;
21640    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21641    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21642    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21643    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21644    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21645    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21646    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21647    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21648    pub fn gtk_file_chooser_get_shortcut_folders(
21649        chooser: *mut GtkFileChooser,
21650    ) -> *mut gio::GListModel;
21651    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21652    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21653    pub fn gtk_file_chooser_remove_shortcut_folder(
21654        chooser: *mut GtkFileChooser,
21655        folder: *mut gio::GFile,
21656        error: *mut *mut glib::GError,
21657    ) -> gboolean;
21658    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21659    pub fn gtk_file_chooser_set_choice(
21660        chooser: *mut GtkFileChooser,
21661        id: *const c_char,
21662        option: *const c_char,
21663    );
21664    pub fn gtk_file_chooser_set_create_folders(
21665        chooser: *mut GtkFileChooser,
21666        create_folders: gboolean,
21667    );
21668    pub fn gtk_file_chooser_set_current_folder(
21669        chooser: *mut GtkFileChooser,
21670        file: *mut gio::GFile,
21671        error: *mut *mut glib::GError,
21672    ) -> gboolean;
21673    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21674    pub fn gtk_file_chooser_set_file(
21675        chooser: *mut GtkFileChooser,
21676        file: *mut gio::GFile,
21677        error: *mut *mut glib::GError,
21678    ) -> gboolean;
21679    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21680    pub fn gtk_file_chooser_set_select_multiple(
21681        chooser: *mut GtkFileChooser,
21682        select_multiple: gboolean,
21683    );
21684
21685    //=========================================================================
21686    // GtkFontChooser
21687    //=========================================================================
21688    pub fn gtk_font_chooser_get_type() -> GType;
21689    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21690    pub fn gtk_font_chooser_get_font_desc(
21691        fontchooser: *mut GtkFontChooser,
21692    ) -> *mut pango::PangoFontDescription;
21693    pub fn gtk_font_chooser_get_font_face(
21694        fontchooser: *mut GtkFontChooser,
21695    ) -> *mut pango::PangoFontFace;
21696    pub fn gtk_font_chooser_get_font_family(
21697        fontchooser: *mut GtkFontChooser,
21698    ) -> *mut pango::PangoFontFamily;
21699    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21700    pub fn gtk_font_chooser_get_font_map(
21701        fontchooser: *mut GtkFontChooser,
21702    ) -> *mut pango::PangoFontMap;
21703    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21704    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21705    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21706    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21707    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21708    pub fn gtk_font_chooser_set_filter_func(
21709        fontchooser: *mut GtkFontChooser,
21710        filter: GtkFontFilterFunc,
21711        user_data: gpointer,
21712        destroy: glib::GDestroyNotify,
21713    );
21714    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21715    pub fn gtk_font_chooser_set_font_desc(
21716        fontchooser: *mut GtkFontChooser,
21717        font_desc: *const pango::PangoFontDescription,
21718    );
21719    pub fn gtk_font_chooser_set_font_map(
21720        fontchooser: *mut GtkFontChooser,
21721        fontmap: *mut pango::PangoFontMap,
21722    );
21723    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21724    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21725    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21726    pub fn gtk_font_chooser_set_show_preview_entry(
21727        fontchooser: *mut GtkFontChooser,
21728        show_preview_entry: gboolean,
21729    );
21730
21731    //=========================================================================
21732    // GtkNative
21733    //=========================================================================
21734    pub fn gtk_native_get_type() -> GType;
21735    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21736    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21737    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21738    pub fn gtk_native_get_surface_transform(
21739        self_: *mut GtkNative,
21740        x: *mut c_double,
21741        y: *mut c_double,
21742    );
21743    pub fn gtk_native_realize(self_: *mut GtkNative);
21744    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21745
21746    //=========================================================================
21747    // GtkOrientable
21748    //=========================================================================
21749    pub fn gtk_orientable_get_type() -> GType;
21750    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21751    pub fn gtk_orientable_set_orientation(
21752        orientable: *mut GtkOrientable,
21753        orientation: GtkOrientation,
21754    );
21755
21756    //=========================================================================
21757    // GtkPrintOperationPreview
21758    //=========================================================================
21759    pub fn gtk_print_operation_preview_get_type() -> GType;
21760    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21761    pub fn gtk_print_operation_preview_is_selected(
21762        preview: *mut GtkPrintOperationPreview,
21763        page_nr: c_int,
21764    ) -> gboolean;
21765    pub fn gtk_print_operation_preview_render_page(
21766        preview: *mut GtkPrintOperationPreview,
21767        page_nr: c_int,
21768    );
21769
21770    //=========================================================================
21771    // GtkRoot
21772    //=========================================================================
21773    pub fn gtk_root_get_type() -> GType;
21774    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21775    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21776    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21777
21778    //=========================================================================
21779    // GtkScrollable
21780    //=========================================================================
21781    pub fn gtk_scrollable_get_type() -> GType;
21782    pub fn gtk_scrollable_get_border(
21783        scrollable: *mut GtkScrollable,
21784        border: *mut GtkBorder,
21785    ) -> gboolean;
21786    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21787    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21788    -> GtkScrollablePolicy;
21789    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21790    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21791    -> GtkScrollablePolicy;
21792    pub fn gtk_scrollable_set_hadjustment(
21793        scrollable: *mut GtkScrollable,
21794        hadjustment: *mut GtkAdjustment,
21795    );
21796    pub fn gtk_scrollable_set_hscroll_policy(
21797        scrollable: *mut GtkScrollable,
21798        policy: GtkScrollablePolicy,
21799    );
21800    pub fn gtk_scrollable_set_vadjustment(
21801        scrollable: *mut GtkScrollable,
21802        vadjustment: *mut GtkAdjustment,
21803    );
21804    pub fn gtk_scrollable_set_vscroll_policy(
21805        scrollable: *mut GtkScrollable,
21806        policy: GtkScrollablePolicy,
21807    );
21808
21809    //=========================================================================
21810    // GtkSectionModel
21811    //=========================================================================
21812    #[cfg(feature = "v4_12")]
21813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21814    pub fn gtk_section_model_get_type() -> GType;
21815    #[cfg(feature = "v4_12")]
21816    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21817    pub fn gtk_section_model_get_section(
21818        self_: *mut GtkSectionModel,
21819        position: c_uint,
21820        out_start: *mut c_uint,
21821        out_end: *mut c_uint,
21822    );
21823    #[cfg(feature = "v4_12")]
21824    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21825    pub fn gtk_section_model_sections_changed(
21826        self_: *mut GtkSectionModel,
21827        position: c_uint,
21828        n_items: c_uint,
21829    );
21830
21831    //=========================================================================
21832    // GtkSelectionModel
21833    //=========================================================================
21834    pub fn gtk_selection_model_get_type() -> GType;
21835    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21836    pub fn gtk_selection_model_get_selection_in_range(
21837        model: *mut GtkSelectionModel,
21838        position: c_uint,
21839        n_items: c_uint,
21840    ) -> *mut GtkBitset;
21841    pub fn gtk_selection_model_is_selected(
21842        model: *mut GtkSelectionModel,
21843        position: c_uint,
21844    ) -> gboolean;
21845    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21846    pub fn gtk_selection_model_select_item(
21847        model: *mut GtkSelectionModel,
21848        position: c_uint,
21849        unselect_rest: gboolean,
21850    ) -> gboolean;
21851    pub fn gtk_selection_model_select_range(
21852        model: *mut GtkSelectionModel,
21853        position: c_uint,
21854        n_items: c_uint,
21855        unselect_rest: gboolean,
21856    ) -> gboolean;
21857    pub fn gtk_selection_model_selection_changed(
21858        model: *mut GtkSelectionModel,
21859        position: c_uint,
21860        n_items: c_uint,
21861    );
21862    pub fn gtk_selection_model_set_selection(
21863        model: *mut GtkSelectionModel,
21864        selected: *mut GtkBitset,
21865        mask: *mut GtkBitset,
21866    ) -> gboolean;
21867    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21868    pub fn gtk_selection_model_unselect_item(
21869        model: *mut GtkSelectionModel,
21870        position: c_uint,
21871    ) -> gboolean;
21872    pub fn gtk_selection_model_unselect_range(
21873        model: *mut GtkSelectionModel,
21874        position: c_uint,
21875        n_items: c_uint,
21876    ) -> gboolean;
21877
21878    //=========================================================================
21879    // GtkShortcutManager
21880    //=========================================================================
21881    pub fn gtk_shortcut_manager_get_type() -> GType;
21882
21883    //=========================================================================
21884    // GtkStyleProvider
21885    //=========================================================================
21886    pub fn gtk_style_provider_get_type() -> GType;
21887
21888    //=========================================================================
21889    // GtkSymbolicPaintable
21890    //=========================================================================
21891    #[cfg(feature = "v4_6")]
21892    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21893    pub fn gtk_symbolic_paintable_get_type() -> GType;
21894    #[cfg(feature = "v4_6")]
21895    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21896    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21897        paintable: *mut GtkSymbolicPaintable,
21898        snapshot: *mut gdk::GdkSnapshot,
21899        width: c_double,
21900        height: c_double,
21901        colors: *const gdk::GdkRGBA,
21902        n_colors: size_t,
21903    );
21904    #[cfg(feature = "v4_22")]
21905    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21906    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21907        paintable: *mut GtkSymbolicPaintable,
21908        snapshot: *mut gdk::GdkSnapshot,
21909        width: c_double,
21910        height: c_double,
21911        colors: *const gdk::GdkRGBA,
21912        n_colors: size_t,
21913        weight: c_double,
21914    );
21915
21916    //=========================================================================
21917    // GtkTreeDragDest
21918    //=========================================================================
21919    pub fn gtk_tree_drag_dest_get_type() -> GType;
21920    pub fn gtk_tree_drag_dest_drag_data_received(
21921        drag_dest: *mut GtkTreeDragDest,
21922        dest: *mut GtkTreePath,
21923        value: *const gobject::GValue,
21924    ) -> gboolean;
21925    pub fn gtk_tree_drag_dest_row_drop_possible(
21926        drag_dest: *mut GtkTreeDragDest,
21927        dest_path: *mut GtkTreePath,
21928        value: *const gobject::GValue,
21929    ) -> gboolean;
21930
21931    //=========================================================================
21932    // GtkTreeDragSource
21933    //=========================================================================
21934    pub fn gtk_tree_drag_source_get_type() -> GType;
21935    pub fn gtk_tree_drag_source_drag_data_delete(
21936        drag_source: *mut GtkTreeDragSource,
21937        path: *mut GtkTreePath,
21938    ) -> gboolean;
21939    pub fn gtk_tree_drag_source_drag_data_get(
21940        drag_source: *mut GtkTreeDragSource,
21941        path: *mut GtkTreePath,
21942    ) -> *mut gdk::GdkContentProvider;
21943    pub fn gtk_tree_drag_source_row_draggable(
21944        drag_source: *mut GtkTreeDragSource,
21945        path: *mut GtkTreePath,
21946    ) -> gboolean;
21947
21948    //=========================================================================
21949    // GtkTreeModel
21950    //=========================================================================
21951    pub fn gtk_tree_model_get_type() -> GType;
21952    pub fn gtk_tree_model_filter_new(
21953        child_model: *mut GtkTreeModel,
21954        root: *mut GtkTreePath,
21955    ) -> *mut GtkTreeModel;
21956    pub fn gtk_tree_model_foreach(
21957        model: *mut GtkTreeModel,
21958        func: GtkTreeModelForeachFunc,
21959        user_data: gpointer,
21960    );
21961    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
21962    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
21963    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
21964    pub fn gtk_tree_model_get_iter(
21965        tree_model: *mut GtkTreeModel,
21966        iter: *mut GtkTreeIter,
21967        path: *mut GtkTreePath,
21968    ) -> gboolean;
21969    pub fn gtk_tree_model_get_iter_first(
21970        tree_model: *mut GtkTreeModel,
21971        iter: *mut GtkTreeIter,
21972    ) -> gboolean;
21973    pub fn gtk_tree_model_get_iter_from_string(
21974        tree_model: *mut GtkTreeModel,
21975        iter: *mut GtkTreeIter,
21976        path_string: *const c_char,
21977    ) -> gboolean;
21978    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
21979    pub fn gtk_tree_model_get_path(
21980        tree_model: *mut GtkTreeModel,
21981        iter: *mut GtkTreeIter,
21982    ) -> *mut GtkTreePath;
21983    pub fn gtk_tree_model_get_string_from_iter(
21984        tree_model: *mut GtkTreeModel,
21985        iter: *mut GtkTreeIter,
21986    ) -> *mut c_char;
21987    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
21988    pub fn gtk_tree_model_get_value(
21989        tree_model: *mut GtkTreeModel,
21990        iter: *mut GtkTreeIter,
21991        column: c_int,
21992        value: *mut gobject::GValue,
21993    );
21994    pub fn gtk_tree_model_iter_children(
21995        tree_model: *mut GtkTreeModel,
21996        iter: *mut GtkTreeIter,
21997        parent: *mut GtkTreeIter,
21998    ) -> gboolean;
21999    pub fn gtk_tree_model_iter_has_child(
22000        tree_model: *mut GtkTreeModel,
22001        iter: *mut GtkTreeIter,
22002    ) -> gboolean;
22003    pub fn gtk_tree_model_iter_n_children(
22004        tree_model: *mut GtkTreeModel,
22005        iter: *mut GtkTreeIter,
22006    ) -> c_int;
22007    pub fn gtk_tree_model_iter_next(
22008        tree_model: *mut GtkTreeModel,
22009        iter: *mut GtkTreeIter,
22010    ) -> gboolean;
22011    pub fn gtk_tree_model_iter_nth_child(
22012        tree_model: *mut GtkTreeModel,
22013        iter: *mut GtkTreeIter,
22014        parent: *mut GtkTreeIter,
22015        n: c_int,
22016    ) -> gboolean;
22017    pub fn gtk_tree_model_iter_parent(
22018        tree_model: *mut GtkTreeModel,
22019        iter: *mut GtkTreeIter,
22020        child: *mut GtkTreeIter,
22021    ) -> gboolean;
22022    pub fn gtk_tree_model_iter_previous(
22023        tree_model: *mut GtkTreeModel,
22024        iter: *mut GtkTreeIter,
22025    ) -> gboolean;
22026    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22027    pub fn gtk_tree_model_row_changed(
22028        tree_model: *mut GtkTreeModel,
22029        path: *mut GtkTreePath,
22030        iter: *mut GtkTreeIter,
22031    );
22032    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
22033    pub fn gtk_tree_model_row_has_child_toggled(
22034        tree_model: *mut GtkTreeModel,
22035        path: *mut GtkTreePath,
22036        iter: *mut GtkTreeIter,
22037    );
22038    pub fn gtk_tree_model_row_inserted(
22039        tree_model: *mut GtkTreeModel,
22040        path: *mut GtkTreePath,
22041        iter: *mut GtkTreeIter,
22042    );
22043    pub fn gtk_tree_model_rows_reordered(
22044        tree_model: *mut GtkTreeModel,
22045        path: *mut GtkTreePath,
22046        iter: *mut GtkTreeIter,
22047        new_order: *mut c_int,
22048    );
22049    pub fn gtk_tree_model_rows_reordered_with_length(
22050        tree_model: *mut GtkTreeModel,
22051        path: *mut GtkTreePath,
22052        iter: *mut GtkTreeIter,
22053        new_order: *mut c_int,
22054        length: c_int,
22055    );
22056    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22057
22058    //=========================================================================
22059    // GtkTreeSortable
22060    //=========================================================================
22061    pub fn gtk_tree_sortable_get_type() -> GType;
22062    pub fn gtk_tree_sortable_get_sort_column_id(
22063        sortable: *mut GtkTreeSortable,
22064        sort_column_id: *mut c_int,
22065        order: *mut GtkSortType,
22066    ) -> gboolean;
22067    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
22068    pub fn gtk_tree_sortable_set_default_sort_func(
22069        sortable: *mut GtkTreeSortable,
22070        sort_func: GtkTreeIterCompareFunc,
22071        user_data: gpointer,
22072        destroy: glib::GDestroyNotify,
22073    );
22074    pub fn gtk_tree_sortable_set_sort_column_id(
22075        sortable: *mut GtkTreeSortable,
22076        sort_column_id: c_int,
22077        order: GtkSortType,
22078    );
22079    pub fn gtk_tree_sortable_set_sort_func(
22080        sortable: *mut GtkTreeSortable,
22081        sort_column_id: c_int,
22082        sort_func: GtkTreeIterCompareFunc,
22083        user_data: gpointer,
22084        destroy: glib::GDestroyNotify,
22085    );
22086    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
22087
22088    //=========================================================================
22089    // Other functions
22090    //=========================================================================
22091    #[cfg(feature = "v4_22")]
22092    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22093    pub fn gtk_accelerator_get_accessible_label(
22094        accelerator_key: c_uint,
22095        accelerator_mods: gdk::GdkModifierType,
22096    ) -> *mut c_char;
22097    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
22098    pub fn gtk_accelerator_get_label(
22099        accelerator_key: c_uint,
22100        accelerator_mods: gdk::GdkModifierType,
22101    ) -> *mut c_char;
22102    pub fn gtk_accelerator_get_label_with_keycode(
22103        display: *mut gdk::GdkDisplay,
22104        accelerator_key: c_uint,
22105        keycode: c_uint,
22106        accelerator_mods: gdk::GdkModifierType,
22107    ) -> *mut c_char;
22108    pub fn gtk_accelerator_name(
22109        accelerator_key: c_uint,
22110        accelerator_mods: gdk::GdkModifierType,
22111    ) -> *mut c_char;
22112    pub fn gtk_accelerator_name_with_keycode(
22113        display: *mut gdk::GdkDisplay,
22114        accelerator_key: c_uint,
22115        keycode: c_uint,
22116        accelerator_mods: gdk::GdkModifierType,
22117    ) -> *mut c_char;
22118    pub fn gtk_accelerator_parse(
22119        accelerator: *const c_char,
22120        accelerator_key: *mut c_uint,
22121        accelerator_mods: *mut gdk::GdkModifierType,
22122    ) -> gboolean;
22123    pub fn gtk_accelerator_parse_with_keycode(
22124        accelerator: *const c_char,
22125        display: *mut gdk::GdkDisplay,
22126        accelerator_key: *mut c_uint,
22127        accelerator_codes: *mut *mut c_uint,
22128        accelerator_mods: *mut gdk::GdkModifierType,
22129    ) -> gboolean;
22130    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
22131    pub fn gtk_check_version(
22132        required_major: c_uint,
22133        required_minor: c_uint,
22134        required_micro: c_uint,
22135    ) -> *const c_char;
22136    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
22137    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
22138    #[cfg(feature = "v4_22")]
22139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22140    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
22141    #[cfg(feature = "v4_18")]
22142    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
22143    pub fn gtk_disable_portals();
22144    pub fn gtk_disable_setlocale();
22145    pub fn gtk_distribute_natural_allocation(
22146        extra_space: c_int,
22147        n_requested_sizes: c_uint,
22148        sizes: *mut GtkRequestedSize,
22149    ) -> c_int;
22150    pub fn gtk_enumerate_printers(
22151        func: GtkPrinterFunc,
22152        data: gpointer,
22153        destroy: glib::GDestroyNotify,
22154        wait: gboolean,
22155    );
22156    pub fn gtk_get_binary_age() -> c_uint;
22157    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22158    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22159    pub fn gtk_get_interface_age() -> c_uint;
22160    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22161    pub fn gtk_get_major_version() -> c_uint;
22162    pub fn gtk_get_micro_version() -> c_uint;
22163    pub fn gtk_get_minor_version() -> c_uint;
22164    pub fn gtk_hsv_to_rgb(
22165        h: c_float,
22166        s: c_float,
22167        v: c_float,
22168        r: *mut c_float,
22169        g: *mut c_float,
22170        b: *mut c_float,
22171    );
22172    pub fn gtk_init();
22173    pub fn gtk_init_check() -> gboolean;
22174    pub fn gtk_is_initialized() -> gboolean;
22175    pub fn gtk_param_spec_expression(
22176        name: *const c_char,
22177        nick: *const c_char,
22178        blurb: *const c_char,
22179        flags: gobject::GParamFlags,
22180    ) -> *mut gobject::GParamSpec;
22181    pub fn gtk_print_run_page_setup_dialog(
22182        parent: *mut GtkWindow,
22183        page_setup: *mut GtkPageSetup,
22184        settings: *mut GtkPrintSettings,
22185    ) -> *mut GtkPageSetup;
22186    pub fn gtk_print_run_page_setup_dialog_async(
22187        parent: *mut GtkWindow,
22188        page_setup: *mut GtkPageSetup,
22189        settings: *mut GtkPrintSettings,
22190        done_cb: GtkPageSetupDoneFunc,
22191        data: gpointer,
22192    );
22193    pub fn gtk_render_activity(
22194        context: *mut GtkStyleContext,
22195        cr: *mut cairo::cairo_t,
22196        x: c_double,
22197        y: c_double,
22198        width: c_double,
22199        height: c_double,
22200    );
22201    pub fn gtk_render_arrow(
22202        context: *mut GtkStyleContext,
22203        cr: *mut cairo::cairo_t,
22204        angle: c_double,
22205        x: c_double,
22206        y: c_double,
22207        size: c_double,
22208    );
22209    pub fn gtk_render_background(
22210        context: *mut GtkStyleContext,
22211        cr: *mut cairo::cairo_t,
22212        x: c_double,
22213        y: c_double,
22214        width: c_double,
22215        height: c_double,
22216    );
22217    pub fn gtk_render_check(
22218        context: *mut GtkStyleContext,
22219        cr: *mut cairo::cairo_t,
22220        x: c_double,
22221        y: c_double,
22222        width: c_double,
22223        height: c_double,
22224    );
22225    pub fn gtk_render_expander(
22226        context: *mut GtkStyleContext,
22227        cr: *mut cairo::cairo_t,
22228        x: c_double,
22229        y: c_double,
22230        width: c_double,
22231        height: c_double,
22232    );
22233    pub fn gtk_render_focus(
22234        context: *mut GtkStyleContext,
22235        cr: *mut cairo::cairo_t,
22236        x: c_double,
22237        y: c_double,
22238        width: c_double,
22239        height: c_double,
22240    );
22241    pub fn gtk_render_frame(
22242        context: *mut GtkStyleContext,
22243        cr: *mut cairo::cairo_t,
22244        x: c_double,
22245        y: c_double,
22246        width: c_double,
22247        height: c_double,
22248    );
22249    pub fn gtk_render_handle(
22250        context: *mut GtkStyleContext,
22251        cr: *mut cairo::cairo_t,
22252        x: c_double,
22253        y: c_double,
22254        width: c_double,
22255        height: c_double,
22256    );
22257    pub fn gtk_render_icon(
22258        context: *mut GtkStyleContext,
22259        cr: *mut cairo::cairo_t,
22260        texture: *mut gdk::GdkTexture,
22261        x: c_double,
22262        y: c_double,
22263    );
22264    pub fn gtk_render_layout(
22265        context: *mut GtkStyleContext,
22266        cr: *mut cairo::cairo_t,
22267        x: c_double,
22268        y: c_double,
22269        layout: *mut pango::PangoLayout,
22270    );
22271    pub fn gtk_render_line(
22272        context: *mut GtkStyleContext,
22273        cr: *mut cairo::cairo_t,
22274        x0: c_double,
22275        y0: c_double,
22276        x1: c_double,
22277        y1: c_double,
22278    );
22279    pub fn gtk_render_option(
22280        context: *mut GtkStyleContext,
22281        cr: *mut cairo::cairo_t,
22282        x: c_double,
22283        y: c_double,
22284        width: c_double,
22285        height: c_double,
22286    );
22287    pub fn gtk_rgb_to_hsv(
22288        r: c_float,
22289        g: c_float,
22290        b: c_float,
22291        h: *mut c_float,
22292        s: *mut c_float,
22293        v: *mut c_float,
22294    );
22295    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22296    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22297    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22298    pub fn gtk_show_uri_full(
22299        parent: *mut GtkWindow,
22300        uri: *const c_char,
22301        timestamp: u32,
22302        cancellable: *mut gio::GCancellable,
22303        callback: gio::GAsyncReadyCallback,
22304        user_data: gpointer,
22305    );
22306    pub fn gtk_show_uri_full_finish(
22307        parent: *mut GtkWindow,
22308        result: *mut gio::GAsyncResult,
22309        error: *mut *mut glib::GError,
22310    ) -> gboolean;
22311    pub fn gtk_test_accessible_assertion_message_role(
22312        domain: *const c_char,
22313        file: *const c_char,
22314        line: c_int,
22315        func: *const c_char,
22316        expr: *const c_char,
22317        accessible: *mut GtkAccessible,
22318        expected_role: GtkAccessibleRole,
22319        actual_role: GtkAccessibleRole,
22320    );
22321    pub fn gtk_test_accessible_check_property(
22322        accessible: *mut GtkAccessible,
22323        property: GtkAccessibleProperty,
22324        ...
22325    ) -> *mut c_char;
22326    pub fn gtk_test_accessible_check_relation(
22327        accessible: *mut GtkAccessible,
22328        relation: GtkAccessibleRelation,
22329        ...
22330    ) -> *mut c_char;
22331    pub fn gtk_test_accessible_check_state(
22332        accessible: *mut GtkAccessible,
22333        state: GtkAccessibleState,
22334        ...
22335    ) -> *mut c_char;
22336    pub fn gtk_test_accessible_has_property(
22337        accessible: *mut GtkAccessible,
22338        property: GtkAccessibleProperty,
22339    ) -> gboolean;
22340    pub fn gtk_test_accessible_has_relation(
22341        accessible: *mut GtkAccessible,
22342        relation: GtkAccessibleRelation,
22343    ) -> gboolean;
22344    pub fn gtk_test_accessible_has_role(
22345        accessible: *mut GtkAccessible,
22346        role: GtkAccessibleRole,
22347    ) -> gboolean;
22348    pub fn gtk_test_accessible_has_state(
22349        accessible: *mut GtkAccessible,
22350        state: GtkAccessibleState,
22351    ) -> gboolean;
22352    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22353    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22354    pub fn gtk_test_register_all_types();
22355    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22356    pub fn gtk_tree_create_row_drag_content(
22357        tree_model: *mut GtkTreeModel,
22358        path: *mut GtkTreePath,
22359    ) -> *mut gdk::GdkContentProvider;
22360    pub fn gtk_tree_get_row_drag_data(
22361        value: *const gobject::GValue,
22362        tree_model: *mut *mut GtkTreeModel,
22363        path: *mut *mut GtkTreePath,
22364    ) -> gboolean;
22365    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22366    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22367    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22368    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22369
22370}