gtk_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
14mod manual;
15
16pub use manual::*;
17
18#[allow(unused_imports)]
19use libc::{
20    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
21    intptr_t, size_t, ssize_t, uintptr_t, FILE,
22};
23
24#[allow(unused_imports)]
25use glib::{gboolean, gconstpointer, gpointer, GType};
26
27pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = ::std::u16::MAX;
28
29// Aliases
30pub type GtkAllocation = gdk::GdkRectangle;
31pub type GtkStock = *mut c_char;
32
33// Enums
34pub type GtkAlign = c_int;
35pub const GTK_ALIGN_FILL: GtkAlign = 0;
36pub const GTK_ALIGN_START: GtkAlign = 1;
37pub const GTK_ALIGN_END: GtkAlign = 2;
38pub const GTK_ALIGN_CENTER: GtkAlign = 3;
39pub const GTK_ALIGN_BASELINE: GtkAlign = 4;
40
41pub type GtkArrowPlacement = c_int;
42pub const GTK_ARROWS_BOTH: GtkArrowPlacement = 0;
43pub const GTK_ARROWS_START: GtkArrowPlacement = 1;
44pub const GTK_ARROWS_END: GtkArrowPlacement = 2;
45
46pub type GtkArrowType = c_int;
47pub const GTK_ARROW_UP: GtkArrowType = 0;
48pub const GTK_ARROW_DOWN: GtkArrowType = 1;
49pub const GTK_ARROW_LEFT: GtkArrowType = 2;
50pub const GTK_ARROW_RIGHT: GtkArrowType = 3;
51pub const GTK_ARROW_NONE: GtkArrowType = 4;
52
53pub type GtkAssistantPageType = c_int;
54pub const GTK_ASSISTANT_PAGE_CONTENT: GtkAssistantPageType = 0;
55pub const GTK_ASSISTANT_PAGE_INTRO: GtkAssistantPageType = 1;
56pub const GTK_ASSISTANT_PAGE_CONFIRM: GtkAssistantPageType = 2;
57pub const GTK_ASSISTANT_PAGE_SUMMARY: GtkAssistantPageType = 3;
58pub const GTK_ASSISTANT_PAGE_PROGRESS: GtkAssistantPageType = 4;
59pub const GTK_ASSISTANT_PAGE_CUSTOM: GtkAssistantPageType = 5;
60
61pub type GtkBaselinePosition = c_int;
62pub const GTK_BASELINE_POSITION_TOP: GtkBaselinePosition = 0;
63pub const GTK_BASELINE_POSITION_CENTER: GtkBaselinePosition = 1;
64pub const GTK_BASELINE_POSITION_BOTTOM: GtkBaselinePosition = 2;
65
66pub type GtkBorderStyle = c_int;
67pub const GTK_BORDER_STYLE_NONE: GtkBorderStyle = 0;
68pub const GTK_BORDER_STYLE_SOLID: GtkBorderStyle = 1;
69pub const GTK_BORDER_STYLE_INSET: GtkBorderStyle = 2;
70pub const GTK_BORDER_STYLE_OUTSET: GtkBorderStyle = 3;
71pub const GTK_BORDER_STYLE_HIDDEN: GtkBorderStyle = 4;
72pub const GTK_BORDER_STYLE_DOTTED: GtkBorderStyle = 5;
73pub const GTK_BORDER_STYLE_DASHED: GtkBorderStyle = 6;
74pub const GTK_BORDER_STYLE_DOUBLE: GtkBorderStyle = 7;
75pub const GTK_BORDER_STYLE_GROOVE: GtkBorderStyle = 8;
76pub const GTK_BORDER_STYLE_RIDGE: GtkBorderStyle = 9;
77
78pub type GtkBuilderError = c_int;
79pub const GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION: GtkBuilderError = 0;
80pub const GTK_BUILDER_ERROR_UNHANDLED_TAG: GtkBuilderError = 1;
81pub const GTK_BUILDER_ERROR_MISSING_ATTRIBUTE: GtkBuilderError = 2;
82pub const GTK_BUILDER_ERROR_INVALID_ATTRIBUTE: GtkBuilderError = 3;
83pub const GTK_BUILDER_ERROR_INVALID_TAG: GtkBuilderError = 4;
84pub const GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE: GtkBuilderError = 5;
85pub const GTK_BUILDER_ERROR_INVALID_VALUE: GtkBuilderError = 6;
86pub const GTK_BUILDER_ERROR_VERSION_MISMATCH: GtkBuilderError = 7;
87pub const GTK_BUILDER_ERROR_DUPLICATE_ID: GtkBuilderError = 8;
88pub const GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED: GtkBuilderError = 9;
89pub const GTK_BUILDER_ERROR_TEMPLATE_MISMATCH: GtkBuilderError = 10;
90pub const GTK_BUILDER_ERROR_INVALID_PROPERTY: GtkBuilderError = 11;
91pub const GTK_BUILDER_ERROR_INVALID_SIGNAL: GtkBuilderError = 12;
92pub const GTK_BUILDER_ERROR_INVALID_ID: GtkBuilderError = 13;
93
94pub type GtkButtonBoxStyle = c_int;
95pub const GTK_BUTTONBOX_SPREAD: GtkButtonBoxStyle = 1;
96pub const GTK_BUTTONBOX_EDGE: GtkButtonBoxStyle = 2;
97pub const GTK_BUTTONBOX_START: GtkButtonBoxStyle = 3;
98pub const GTK_BUTTONBOX_END: GtkButtonBoxStyle = 4;
99pub const GTK_BUTTONBOX_CENTER: GtkButtonBoxStyle = 5;
100pub const GTK_BUTTONBOX_EXPAND: GtkButtonBoxStyle = 6;
101
102pub type GtkButtonRole = c_int;
103pub const GTK_BUTTON_ROLE_NORMAL: GtkButtonRole = 0;
104pub const GTK_BUTTON_ROLE_CHECK: GtkButtonRole = 1;
105pub const GTK_BUTTON_ROLE_RADIO: GtkButtonRole = 2;
106
107pub type GtkButtonsType = c_int;
108pub const GTK_BUTTONS_NONE: GtkButtonsType = 0;
109pub const GTK_BUTTONS_OK: GtkButtonsType = 1;
110pub const GTK_BUTTONS_CLOSE: GtkButtonsType = 2;
111pub const GTK_BUTTONS_CANCEL: GtkButtonsType = 3;
112pub const GTK_BUTTONS_YES_NO: GtkButtonsType = 4;
113pub const GTK_BUTTONS_OK_CANCEL: GtkButtonsType = 5;
114
115pub type GtkCellRendererAccelMode = c_int;
116pub const GTK_CELL_RENDERER_ACCEL_MODE_GTK: GtkCellRendererAccelMode = 0;
117pub const GTK_CELL_RENDERER_ACCEL_MODE_OTHER: GtkCellRendererAccelMode = 1;
118
119pub type GtkCellRendererMode = c_int;
120pub const GTK_CELL_RENDERER_MODE_INERT: GtkCellRendererMode = 0;
121pub const GTK_CELL_RENDERER_MODE_ACTIVATABLE: GtkCellRendererMode = 1;
122pub const GTK_CELL_RENDERER_MODE_EDITABLE: GtkCellRendererMode = 2;
123
124pub type GtkCornerType = c_int;
125pub const GTK_CORNER_TOP_LEFT: GtkCornerType = 0;
126pub const GTK_CORNER_BOTTOM_LEFT: GtkCornerType = 1;
127pub const GTK_CORNER_TOP_RIGHT: GtkCornerType = 2;
128pub const GTK_CORNER_BOTTOM_RIGHT: GtkCornerType = 3;
129
130pub type GtkCssProviderError = c_int;
131pub const GTK_CSS_PROVIDER_ERROR_FAILED: GtkCssProviderError = 0;
132pub const GTK_CSS_PROVIDER_ERROR_SYNTAX: GtkCssProviderError = 1;
133pub const GTK_CSS_PROVIDER_ERROR_IMPORT: GtkCssProviderError = 2;
134pub const GTK_CSS_PROVIDER_ERROR_NAME: GtkCssProviderError = 3;
135pub const GTK_CSS_PROVIDER_ERROR_DEPRECATED: GtkCssProviderError = 4;
136pub const GTK_CSS_PROVIDER_ERROR_UNKNOWN_VALUE: GtkCssProviderError = 5;
137
138pub type GtkCssSectionType = c_int;
139pub const GTK_CSS_SECTION_DOCUMENT: GtkCssSectionType = 0;
140pub const GTK_CSS_SECTION_IMPORT: GtkCssSectionType = 1;
141pub const GTK_CSS_SECTION_COLOR_DEFINITION: GtkCssSectionType = 2;
142pub const GTK_CSS_SECTION_BINDING_SET: GtkCssSectionType = 3;
143pub const GTK_CSS_SECTION_RULESET: GtkCssSectionType = 4;
144pub const GTK_CSS_SECTION_SELECTOR: GtkCssSectionType = 5;
145pub const GTK_CSS_SECTION_DECLARATION: GtkCssSectionType = 6;
146pub const GTK_CSS_SECTION_VALUE: GtkCssSectionType = 7;
147pub const GTK_CSS_SECTION_KEYFRAMES: GtkCssSectionType = 8;
148
149pub type GtkDeleteType = c_int;
150pub const GTK_DELETE_CHARS: GtkDeleteType = 0;
151pub const GTK_DELETE_WORD_ENDS: GtkDeleteType = 1;
152pub const GTK_DELETE_WORDS: GtkDeleteType = 2;
153pub const GTK_DELETE_DISPLAY_LINES: GtkDeleteType = 3;
154pub const GTK_DELETE_DISPLAY_LINE_ENDS: GtkDeleteType = 4;
155pub const GTK_DELETE_PARAGRAPH_ENDS: GtkDeleteType = 5;
156pub const GTK_DELETE_PARAGRAPHS: GtkDeleteType = 6;
157pub const GTK_DELETE_WHITESPACE: GtkDeleteType = 7;
158
159pub type GtkDirectionType = c_int;
160pub const GTK_DIR_TAB_FORWARD: GtkDirectionType = 0;
161pub const GTK_DIR_TAB_BACKWARD: GtkDirectionType = 1;
162pub const GTK_DIR_UP: GtkDirectionType = 2;
163pub const GTK_DIR_DOWN: GtkDirectionType = 3;
164pub const GTK_DIR_LEFT: GtkDirectionType = 4;
165pub const GTK_DIR_RIGHT: GtkDirectionType = 5;
166
167pub type GtkDragResult = c_int;
168pub const GTK_DRAG_RESULT_SUCCESS: GtkDragResult = 0;
169pub const GTK_DRAG_RESULT_NO_TARGET: GtkDragResult = 1;
170pub const GTK_DRAG_RESULT_USER_CANCELLED: GtkDragResult = 2;
171pub const GTK_DRAG_RESULT_TIMEOUT_EXPIRED: GtkDragResult = 3;
172pub const GTK_DRAG_RESULT_GRAB_BROKEN: GtkDragResult = 4;
173pub const GTK_DRAG_RESULT_ERROR: GtkDragResult = 5;
174
175pub type GtkEntryIconPosition = c_int;
176pub const GTK_ENTRY_ICON_PRIMARY: GtkEntryIconPosition = 0;
177pub const GTK_ENTRY_ICON_SECONDARY: GtkEntryIconPosition = 1;
178
179pub type GtkEventSequenceState = c_int;
180pub const GTK_EVENT_SEQUENCE_NONE: GtkEventSequenceState = 0;
181pub const GTK_EVENT_SEQUENCE_CLAIMED: GtkEventSequenceState = 1;
182pub const GTK_EVENT_SEQUENCE_DENIED: GtkEventSequenceState = 2;
183
184pub type GtkExpanderStyle = c_int;
185pub const GTK_EXPANDER_COLLAPSED: GtkExpanderStyle = 0;
186pub const GTK_EXPANDER_SEMI_COLLAPSED: GtkExpanderStyle = 1;
187pub const GTK_EXPANDER_SEMI_EXPANDED: GtkExpanderStyle = 2;
188pub const GTK_EXPANDER_EXPANDED: GtkExpanderStyle = 3;
189
190pub type GtkFileChooserAction = c_int;
191pub const GTK_FILE_CHOOSER_ACTION_OPEN: GtkFileChooserAction = 0;
192pub const GTK_FILE_CHOOSER_ACTION_SAVE: GtkFileChooserAction = 1;
193pub const GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: GtkFileChooserAction = 2;
194pub const GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER: GtkFileChooserAction = 3;
195
196pub type GtkFileChooserConfirmation = c_int;
197pub const GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM: GtkFileChooserConfirmation = 0;
198pub const GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME: GtkFileChooserConfirmation = 1;
199pub const GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN: GtkFileChooserConfirmation = 2;
200
201pub type GtkFileChooserError = c_int;
202pub const GTK_FILE_CHOOSER_ERROR_NONEXISTENT: GtkFileChooserError = 0;
203pub const GTK_FILE_CHOOSER_ERROR_BAD_FILENAME: GtkFileChooserError = 1;
204pub const GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS: GtkFileChooserError = 2;
205pub const GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME: GtkFileChooserError = 3;
206
207pub type GtkIMPreeditStyle = c_int;
208pub const GTK_IM_PREEDIT_NOTHING: GtkIMPreeditStyle = 0;
209pub const GTK_IM_PREEDIT_CALLBACK: GtkIMPreeditStyle = 1;
210pub const GTK_IM_PREEDIT_NONE: GtkIMPreeditStyle = 2;
211
212pub type GtkIMStatusStyle = c_int;
213pub const GTK_IM_STATUS_NOTHING: GtkIMStatusStyle = 0;
214pub const GTK_IM_STATUS_CALLBACK: GtkIMStatusStyle = 1;
215pub const GTK_IM_STATUS_NONE: GtkIMStatusStyle = 2;
216
217pub type GtkIconSize = c_int;
218pub const GTK_ICON_SIZE_INVALID: GtkIconSize = 0;
219pub const GTK_ICON_SIZE_MENU: GtkIconSize = 1;
220pub const GTK_ICON_SIZE_SMALL_TOOLBAR: GtkIconSize = 2;
221pub const GTK_ICON_SIZE_LARGE_TOOLBAR: GtkIconSize = 3;
222pub const GTK_ICON_SIZE_BUTTON: GtkIconSize = 4;
223pub const GTK_ICON_SIZE_DND: GtkIconSize = 5;
224pub const GTK_ICON_SIZE_DIALOG: GtkIconSize = 6;
225
226pub type GtkIconThemeError = c_int;
227pub const GTK_ICON_THEME_NOT_FOUND: GtkIconThemeError = 0;
228pub const GTK_ICON_THEME_FAILED: GtkIconThemeError = 1;
229
230pub type GtkIconViewDropPosition = c_int;
231pub const GTK_ICON_VIEW_NO_DROP: GtkIconViewDropPosition = 0;
232pub const GTK_ICON_VIEW_DROP_INTO: GtkIconViewDropPosition = 1;
233pub const GTK_ICON_VIEW_DROP_LEFT: GtkIconViewDropPosition = 2;
234pub const GTK_ICON_VIEW_DROP_RIGHT: GtkIconViewDropPosition = 3;
235pub const GTK_ICON_VIEW_DROP_ABOVE: GtkIconViewDropPosition = 4;
236pub const GTK_ICON_VIEW_DROP_BELOW: GtkIconViewDropPosition = 5;
237
238pub type GtkImageType = c_int;
239pub const GTK_IMAGE_EMPTY: GtkImageType = 0;
240pub const GTK_IMAGE_PIXBUF: GtkImageType = 1;
241pub const GTK_IMAGE_STOCK: GtkImageType = 2;
242pub const GTK_IMAGE_ICON_SET: GtkImageType = 3;
243pub const GTK_IMAGE_ANIMATION: GtkImageType = 4;
244pub const GTK_IMAGE_ICON_NAME: GtkImageType = 5;
245pub const GTK_IMAGE_GICON: GtkImageType = 6;
246pub const GTK_IMAGE_SURFACE: GtkImageType = 7;
247
248pub type GtkInputPurpose = c_int;
249pub const GTK_INPUT_PURPOSE_FREE_FORM: GtkInputPurpose = 0;
250pub const GTK_INPUT_PURPOSE_ALPHA: GtkInputPurpose = 1;
251pub const GTK_INPUT_PURPOSE_DIGITS: GtkInputPurpose = 2;
252pub const GTK_INPUT_PURPOSE_NUMBER: GtkInputPurpose = 3;
253pub const GTK_INPUT_PURPOSE_PHONE: GtkInputPurpose = 4;
254pub const GTK_INPUT_PURPOSE_URL: GtkInputPurpose = 5;
255pub const GTK_INPUT_PURPOSE_EMAIL: GtkInputPurpose = 6;
256pub const GTK_INPUT_PURPOSE_NAME: GtkInputPurpose = 7;
257pub const GTK_INPUT_PURPOSE_PASSWORD: GtkInputPurpose = 8;
258pub const GTK_INPUT_PURPOSE_PIN: GtkInputPurpose = 9;
259pub const GTK_INPUT_PURPOSE_TERMINAL: GtkInputPurpose = 10;
260
261pub type GtkJustification = c_int;
262pub const GTK_JUSTIFY_LEFT: GtkJustification = 0;
263pub const GTK_JUSTIFY_RIGHT: GtkJustification = 1;
264pub const GTK_JUSTIFY_CENTER: GtkJustification = 2;
265pub const GTK_JUSTIFY_FILL: GtkJustification = 3;
266
267pub type GtkLevelBarMode = c_int;
268pub const GTK_LEVEL_BAR_MODE_CONTINUOUS: GtkLevelBarMode = 0;
269pub const GTK_LEVEL_BAR_MODE_DISCRETE: GtkLevelBarMode = 1;
270
271pub type GtkLicense = c_int;
272pub const GTK_LICENSE_UNKNOWN: GtkLicense = 0;
273pub const GTK_LICENSE_CUSTOM: GtkLicense = 1;
274pub const GTK_LICENSE_GPL_2_0: GtkLicense = 2;
275pub const GTK_LICENSE_GPL_3_0: GtkLicense = 3;
276pub const GTK_LICENSE_LGPL_2_1: GtkLicense = 4;
277pub const GTK_LICENSE_LGPL_3_0: GtkLicense = 5;
278pub const GTK_LICENSE_BSD: GtkLicense = 6;
279pub const GTK_LICENSE_MIT_X11: GtkLicense = 7;
280pub const GTK_LICENSE_ARTISTIC: GtkLicense = 8;
281pub const GTK_LICENSE_GPL_2_0_ONLY: GtkLicense = 9;
282pub const GTK_LICENSE_GPL_3_0_ONLY: GtkLicense = 10;
283pub const GTK_LICENSE_LGPL_2_1_ONLY: GtkLicense = 11;
284pub const GTK_LICENSE_LGPL_3_0_ONLY: GtkLicense = 12;
285pub const GTK_LICENSE_AGPL_3_0: GtkLicense = 13;
286pub const GTK_LICENSE_AGPL_3_0_ONLY: GtkLicense = 14;
287pub const GTK_LICENSE_BSD_3: GtkLicense = 15;
288pub const GTK_LICENSE_APACHE_2_0: GtkLicense = 16;
289pub const GTK_LICENSE_MPL_2_0: GtkLicense = 17;
290
291pub type GtkMenuDirectionType = c_int;
292pub const GTK_MENU_DIR_PARENT: GtkMenuDirectionType = 0;
293pub const GTK_MENU_DIR_CHILD: GtkMenuDirectionType = 1;
294pub const GTK_MENU_DIR_NEXT: GtkMenuDirectionType = 2;
295pub const GTK_MENU_DIR_PREV: GtkMenuDirectionType = 3;
296
297pub type GtkMessageType = c_int;
298pub const GTK_MESSAGE_INFO: GtkMessageType = 0;
299pub const GTK_MESSAGE_WARNING: GtkMessageType = 1;
300pub const GTK_MESSAGE_QUESTION: GtkMessageType = 2;
301pub const GTK_MESSAGE_ERROR: GtkMessageType = 3;
302pub const GTK_MESSAGE_OTHER: GtkMessageType = 4;
303
304pub type GtkMovementStep = c_int;
305pub const GTK_MOVEMENT_LOGICAL_POSITIONS: GtkMovementStep = 0;
306pub const GTK_MOVEMENT_VISUAL_POSITIONS: GtkMovementStep = 1;
307pub const GTK_MOVEMENT_WORDS: GtkMovementStep = 2;
308pub const GTK_MOVEMENT_DISPLAY_LINES: GtkMovementStep = 3;
309pub const GTK_MOVEMENT_DISPLAY_LINE_ENDS: GtkMovementStep = 4;
310pub const GTK_MOVEMENT_PARAGRAPHS: GtkMovementStep = 5;
311pub const GTK_MOVEMENT_PARAGRAPH_ENDS: GtkMovementStep = 6;
312pub const GTK_MOVEMENT_PAGES: GtkMovementStep = 7;
313pub const GTK_MOVEMENT_BUFFER_ENDS: GtkMovementStep = 8;
314pub const GTK_MOVEMENT_HORIZONTAL_PAGES: GtkMovementStep = 9;
315
316pub type GtkNotebookTab = c_int;
317pub const GTK_NOTEBOOK_TAB_FIRST: GtkNotebookTab = 0;
318pub const GTK_NOTEBOOK_TAB_LAST: GtkNotebookTab = 1;
319
320pub type GtkNumberUpLayout = c_int;
321pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM: GtkNumberUpLayout = 0;
322pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP: GtkNumberUpLayout = 1;
323pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM: GtkNumberUpLayout = 2;
324pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP: GtkNumberUpLayout = 3;
325pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT: GtkNumberUpLayout = 4;
326pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT: GtkNumberUpLayout = 5;
327pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT: GtkNumberUpLayout = 6;
328pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT: GtkNumberUpLayout = 7;
329
330pub type GtkOrientation = c_int;
331pub const GTK_ORIENTATION_HORIZONTAL: GtkOrientation = 0;
332pub const GTK_ORIENTATION_VERTICAL: GtkOrientation = 1;
333
334pub type GtkPackDirection = c_int;
335pub const GTK_PACK_DIRECTION_LTR: GtkPackDirection = 0;
336pub const GTK_PACK_DIRECTION_RTL: GtkPackDirection = 1;
337pub const GTK_PACK_DIRECTION_TTB: GtkPackDirection = 2;
338pub const GTK_PACK_DIRECTION_BTT: GtkPackDirection = 3;
339
340pub type GtkPackType = c_int;
341pub const GTK_PACK_START: GtkPackType = 0;
342pub const GTK_PACK_END: GtkPackType = 1;
343
344pub type GtkPadActionType = c_int;
345pub const GTK_PAD_ACTION_BUTTON: GtkPadActionType = 0;
346pub const GTK_PAD_ACTION_RING: GtkPadActionType = 1;
347pub const GTK_PAD_ACTION_STRIP: GtkPadActionType = 2;
348
349pub type GtkPageOrientation = c_int;
350pub const GTK_PAGE_ORIENTATION_PORTRAIT: GtkPageOrientation = 0;
351pub const GTK_PAGE_ORIENTATION_LANDSCAPE: GtkPageOrientation = 1;
352pub const GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: GtkPageOrientation = 2;
353pub const GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: GtkPageOrientation = 3;
354
355pub type GtkPageSet = c_int;
356pub const GTK_PAGE_SET_ALL: GtkPageSet = 0;
357pub const GTK_PAGE_SET_EVEN: GtkPageSet = 1;
358pub const GTK_PAGE_SET_ODD: GtkPageSet = 2;
359
360pub type GtkPanDirection = c_int;
361pub const GTK_PAN_DIRECTION_LEFT: GtkPanDirection = 0;
362pub const GTK_PAN_DIRECTION_RIGHT: GtkPanDirection = 1;
363pub const GTK_PAN_DIRECTION_UP: GtkPanDirection = 2;
364pub const GTK_PAN_DIRECTION_DOWN: GtkPanDirection = 3;
365
366pub type GtkPathPriorityType = c_int;
367pub const GTK_PATH_PRIO_LOWEST: GtkPathPriorityType = 0;
368pub const GTK_PATH_PRIO_GTK: GtkPathPriorityType = 4;
369pub const GTK_PATH_PRIO_APPLICATION: GtkPathPriorityType = 8;
370pub const GTK_PATH_PRIO_THEME: GtkPathPriorityType = 10;
371pub const GTK_PATH_PRIO_RC: GtkPathPriorityType = 12;
372pub const GTK_PATH_PRIO_HIGHEST: GtkPathPriorityType = 15;
373
374pub type GtkPathType = c_int;
375pub const GTK_PATH_WIDGET: GtkPathType = 0;
376pub const GTK_PATH_WIDGET_CLASS: GtkPathType = 1;
377pub const GTK_PATH_CLASS: GtkPathType = 2;
378
379pub type GtkPolicyType = c_int;
380pub const GTK_POLICY_ALWAYS: GtkPolicyType = 0;
381pub const GTK_POLICY_AUTOMATIC: GtkPolicyType = 1;
382pub const GTK_POLICY_NEVER: GtkPolicyType = 2;
383pub const GTK_POLICY_EXTERNAL: GtkPolicyType = 3;
384
385pub type GtkPopoverConstraint = c_int;
386pub const GTK_POPOVER_CONSTRAINT_NONE: GtkPopoverConstraint = 0;
387pub const GTK_POPOVER_CONSTRAINT_WINDOW: GtkPopoverConstraint = 1;
388
389pub type GtkPositionType = c_int;
390pub const GTK_POS_LEFT: GtkPositionType = 0;
391pub const GTK_POS_RIGHT: GtkPositionType = 1;
392pub const GTK_POS_TOP: GtkPositionType = 2;
393pub const GTK_POS_BOTTOM: GtkPositionType = 3;
394
395pub type GtkPrintDuplex = c_int;
396pub const GTK_PRINT_DUPLEX_SIMPLEX: GtkPrintDuplex = 0;
397pub const GTK_PRINT_DUPLEX_HORIZONTAL: GtkPrintDuplex = 1;
398pub const GTK_PRINT_DUPLEX_VERTICAL: GtkPrintDuplex = 2;
399
400pub type GtkPrintError = c_int;
401pub const GTK_PRINT_ERROR_GENERAL: GtkPrintError = 0;
402pub const GTK_PRINT_ERROR_INTERNAL_ERROR: GtkPrintError = 1;
403pub const GTK_PRINT_ERROR_NOMEM: GtkPrintError = 2;
404pub const GTK_PRINT_ERROR_INVALID_FILE: GtkPrintError = 3;
405
406pub type GtkPrintOperationAction = c_int;
407pub const GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: GtkPrintOperationAction = 0;
408pub const GTK_PRINT_OPERATION_ACTION_PRINT: GtkPrintOperationAction = 1;
409pub const GTK_PRINT_OPERATION_ACTION_PREVIEW: GtkPrintOperationAction = 2;
410pub const GTK_PRINT_OPERATION_ACTION_EXPORT: GtkPrintOperationAction = 3;
411
412pub type GtkPrintOperationResult = c_int;
413pub const GTK_PRINT_OPERATION_RESULT_ERROR: GtkPrintOperationResult = 0;
414pub const GTK_PRINT_OPERATION_RESULT_APPLY: GtkPrintOperationResult = 1;
415pub const GTK_PRINT_OPERATION_RESULT_CANCEL: GtkPrintOperationResult = 2;
416pub const GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: GtkPrintOperationResult = 3;
417
418pub type GtkPrintPages = c_int;
419pub const GTK_PRINT_PAGES_ALL: GtkPrintPages = 0;
420pub const GTK_PRINT_PAGES_CURRENT: GtkPrintPages = 1;
421pub const GTK_PRINT_PAGES_RANGES: GtkPrintPages = 2;
422pub const GTK_PRINT_PAGES_SELECTION: GtkPrintPages = 3;
423
424pub type GtkPrintQuality = c_int;
425pub const GTK_PRINT_QUALITY_LOW: GtkPrintQuality = 0;
426pub const GTK_PRINT_QUALITY_NORMAL: GtkPrintQuality = 1;
427pub const GTK_PRINT_QUALITY_HIGH: GtkPrintQuality = 2;
428pub const GTK_PRINT_QUALITY_DRAFT: GtkPrintQuality = 3;
429
430pub type GtkPrintStatus = c_int;
431pub const GTK_PRINT_STATUS_INITIAL: GtkPrintStatus = 0;
432pub const GTK_PRINT_STATUS_PREPARING: GtkPrintStatus = 1;
433pub const GTK_PRINT_STATUS_GENERATING_DATA: GtkPrintStatus = 2;
434pub const GTK_PRINT_STATUS_SENDING_DATA: GtkPrintStatus = 3;
435pub const GTK_PRINT_STATUS_PENDING: GtkPrintStatus = 4;
436pub const GTK_PRINT_STATUS_PENDING_ISSUE: GtkPrintStatus = 5;
437pub const GTK_PRINT_STATUS_PRINTING: GtkPrintStatus = 6;
438pub const GTK_PRINT_STATUS_FINISHED: GtkPrintStatus = 7;
439pub const GTK_PRINT_STATUS_FINISHED_ABORTED: GtkPrintStatus = 8;
440
441pub type GtkPropagationPhase = c_int;
442pub const GTK_PHASE_NONE: GtkPropagationPhase = 0;
443pub const GTK_PHASE_CAPTURE: GtkPropagationPhase = 1;
444pub const GTK_PHASE_BUBBLE: GtkPropagationPhase = 2;
445pub const GTK_PHASE_TARGET: GtkPropagationPhase = 3;
446
447pub type GtkRcTokenType = c_int;
448pub const GTK_RC_TOKEN_INVALID: GtkRcTokenType = 270;
449pub const GTK_RC_TOKEN_INCLUDE: GtkRcTokenType = 271;
450pub const GTK_RC_TOKEN_NORMAL: GtkRcTokenType = 272;
451pub const GTK_RC_TOKEN_ACTIVE: GtkRcTokenType = 273;
452pub const GTK_RC_TOKEN_PRELIGHT: GtkRcTokenType = 274;
453pub const GTK_RC_TOKEN_SELECTED: GtkRcTokenType = 275;
454pub const GTK_RC_TOKEN_INSENSITIVE: GtkRcTokenType = 276;
455pub const GTK_RC_TOKEN_FG: GtkRcTokenType = 277;
456pub const GTK_RC_TOKEN_BG: GtkRcTokenType = 278;
457pub const GTK_RC_TOKEN_TEXT: GtkRcTokenType = 279;
458pub const GTK_RC_TOKEN_BASE: GtkRcTokenType = 280;
459pub const GTK_RC_TOKEN_XTHICKNESS: GtkRcTokenType = 281;
460pub const GTK_RC_TOKEN_YTHICKNESS: GtkRcTokenType = 282;
461pub const GTK_RC_TOKEN_FONT: GtkRcTokenType = 283;
462pub const GTK_RC_TOKEN_FONTSET: GtkRcTokenType = 284;
463pub const GTK_RC_TOKEN_FONT_NAME: GtkRcTokenType = 285;
464pub const GTK_RC_TOKEN_BG_PIXMAP: GtkRcTokenType = 286;
465pub const GTK_RC_TOKEN_PIXMAP_PATH: GtkRcTokenType = 287;
466pub const GTK_RC_TOKEN_STYLE: GtkRcTokenType = 288;
467pub const GTK_RC_TOKEN_BINDING: GtkRcTokenType = 289;
468pub const GTK_RC_TOKEN_BIND: GtkRcTokenType = 290;
469pub const GTK_RC_TOKEN_WIDGET: GtkRcTokenType = 291;
470pub const GTK_RC_TOKEN_WIDGET_CLASS: GtkRcTokenType = 292;
471pub const GTK_RC_TOKEN_CLASS: GtkRcTokenType = 293;
472pub const GTK_RC_TOKEN_LOWEST: GtkRcTokenType = 294;
473pub const GTK_RC_TOKEN_GTK: GtkRcTokenType = 295;
474pub const GTK_RC_TOKEN_APPLICATION: GtkRcTokenType = 296;
475pub const GTK_RC_TOKEN_THEME: GtkRcTokenType = 297;
476pub const GTK_RC_TOKEN_RC: GtkRcTokenType = 298;
477pub const GTK_RC_TOKEN_HIGHEST: GtkRcTokenType = 299;
478pub const GTK_RC_TOKEN_ENGINE: GtkRcTokenType = 300;
479pub const GTK_RC_TOKEN_MODULE_PATH: GtkRcTokenType = 301;
480pub const GTK_RC_TOKEN_IM_MODULE_PATH: GtkRcTokenType = 302;
481pub const GTK_RC_TOKEN_IM_MODULE_FILE: GtkRcTokenType = 303;
482pub const GTK_RC_TOKEN_STOCK: GtkRcTokenType = 304;
483pub const GTK_RC_TOKEN_LTR: GtkRcTokenType = 305;
484pub const GTK_RC_TOKEN_RTL: GtkRcTokenType = 306;
485pub const GTK_RC_TOKEN_COLOR: GtkRcTokenType = 307;
486pub const GTK_RC_TOKEN_UNBIND: GtkRcTokenType = 308;
487pub const GTK_RC_TOKEN_LAST: GtkRcTokenType = 309;
488
489pub type GtkRecentChooserError = c_int;
490pub const GTK_RECENT_CHOOSER_ERROR_NOT_FOUND: GtkRecentChooserError = 0;
491pub const GTK_RECENT_CHOOSER_ERROR_INVALID_URI: GtkRecentChooserError = 1;
492
493pub type GtkRecentManagerError = c_int;
494pub const GTK_RECENT_MANAGER_ERROR_NOT_FOUND: GtkRecentManagerError = 0;
495pub const GTK_RECENT_MANAGER_ERROR_INVALID_URI: GtkRecentManagerError = 1;
496pub const GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: GtkRecentManagerError = 2;
497pub const GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: GtkRecentManagerError = 3;
498pub const GTK_RECENT_MANAGER_ERROR_READ: GtkRecentManagerError = 4;
499pub const GTK_RECENT_MANAGER_ERROR_WRITE: GtkRecentManagerError = 5;
500pub const GTK_RECENT_MANAGER_ERROR_UNKNOWN: GtkRecentManagerError = 6;
501
502pub type GtkRecentSortType = c_int;
503pub const GTK_RECENT_SORT_NONE: GtkRecentSortType = 0;
504pub const GTK_RECENT_SORT_MRU: GtkRecentSortType = 1;
505pub const GTK_RECENT_SORT_LRU: GtkRecentSortType = 2;
506pub const GTK_RECENT_SORT_CUSTOM: GtkRecentSortType = 3;
507
508pub type GtkReliefStyle = c_int;
509pub const GTK_RELIEF_NORMAL: GtkReliefStyle = 0;
510pub const GTK_RELIEF_HALF: GtkReliefStyle = 1;
511pub const GTK_RELIEF_NONE: GtkReliefStyle = 2;
512
513pub type GtkResizeMode = c_int;
514pub const GTK_RESIZE_PARENT: GtkResizeMode = 0;
515pub const GTK_RESIZE_QUEUE: GtkResizeMode = 1;
516pub const GTK_RESIZE_IMMEDIATE: GtkResizeMode = 2;
517
518pub type GtkResponseType = c_int;
519pub const GTK_RESPONSE_NONE: GtkResponseType = -1;
520pub const GTK_RESPONSE_REJECT: GtkResponseType = -2;
521pub const GTK_RESPONSE_ACCEPT: GtkResponseType = -3;
522pub const GTK_RESPONSE_DELETE_EVENT: GtkResponseType = -4;
523pub const GTK_RESPONSE_OK: GtkResponseType = -5;
524pub const GTK_RESPONSE_CANCEL: GtkResponseType = -6;
525pub const GTK_RESPONSE_CLOSE: GtkResponseType = -7;
526pub const GTK_RESPONSE_YES: GtkResponseType = -8;
527pub const GTK_RESPONSE_NO: GtkResponseType = -9;
528pub const GTK_RESPONSE_APPLY: GtkResponseType = -10;
529pub const GTK_RESPONSE_HELP: GtkResponseType = -11;
530
531pub type GtkRevealerTransitionType = c_int;
532pub const GTK_REVEALER_TRANSITION_TYPE_NONE: GtkRevealerTransitionType = 0;
533pub const GTK_REVEALER_TRANSITION_TYPE_CROSSFADE: GtkRevealerTransitionType = 1;
534pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT: GtkRevealerTransitionType = 2;
535pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT: GtkRevealerTransitionType = 3;
536pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP: GtkRevealerTransitionType = 4;
537pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN: GtkRevealerTransitionType = 5;
538
539pub type GtkScrollStep = c_int;
540pub const GTK_SCROLL_STEPS: GtkScrollStep = 0;
541pub const GTK_SCROLL_PAGES: GtkScrollStep = 1;
542pub const GTK_SCROLL_ENDS: GtkScrollStep = 2;
543pub const GTK_SCROLL_HORIZONTAL_STEPS: GtkScrollStep = 3;
544pub const GTK_SCROLL_HORIZONTAL_PAGES: GtkScrollStep = 4;
545pub const GTK_SCROLL_HORIZONTAL_ENDS: GtkScrollStep = 5;
546
547pub type GtkScrollType = c_int;
548pub const GTK_SCROLL_NONE: GtkScrollType = 0;
549pub const GTK_SCROLL_JUMP: GtkScrollType = 1;
550pub const GTK_SCROLL_STEP_BACKWARD: GtkScrollType = 2;
551pub const GTK_SCROLL_STEP_FORWARD: GtkScrollType = 3;
552pub const GTK_SCROLL_PAGE_BACKWARD: GtkScrollType = 4;
553pub const GTK_SCROLL_PAGE_FORWARD: GtkScrollType = 5;
554pub const GTK_SCROLL_STEP_UP: GtkScrollType = 6;
555pub const GTK_SCROLL_STEP_DOWN: GtkScrollType = 7;
556pub const GTK_SCROLL_PAGE_UP: GtkScrollType = 8;
557pub const GTK_SCROLL_PAGE_DOWN: GtkScrollType = 9;
558pub const GTK_SCROLL_STEP_LEFT: GtkScrollType = 10;
559pub const GTK_SCROLL_STEP_RIGHT: GtkScrollType = 11;
560pub const GTK_SCROLL_PAGE_LEFT: GtkScrollType = 12;
561pub const GTK_SCROLL_PAGE_RIGHT: GtkScrollType = 13;
562pub const GTK_SCROLL_START: GtkScrollType = 14;
563pub const GTK_SCROLL_END: GtkScrollType = 15;
564
565pub type GtkScrollablePolicy = c_int;
566pub const GTK_SCROLL_MINIMUM: GtkScrollablePolicy = 0;
567pub const GTK_SCROLL_NATURAL: GtkScrollablePolicy = 1;
568
569pub type GtkSelectionMode = c_int;
570pub const GTK_SELECTION_NONE: GtkSelectionMode = 0;
571pub const GTK_SELECTION_SINGLE: GtkSelectionMode = 1;
572pub const GTK_SELECTION_BROWSE: GtkSelectionMode = 2;
573pub const GTK_SELECTION_MULTIPLE: GtkSelectionMode = 3;
574
575pub type GtkSensitivityType = c_int;
576pub const GTK_SENSITIVITY_AUTO: GtkSensitivityType = 0;
577pub const GTK_SENSITIVITY_ON: GtkSensitivityType = 1;
578pub const GTK_SENSITIVITY_OFF: GtkSensitivityType = 2;
579
580pub type GtkShadowType = c_int;
581pub const GTK_SHADOW_NONE: GtkShadowType = 0;
582pub const GTK_SHADOW_IN: GtkShadowType = 1;
583pub const GTK_SHADOW_OUT: GtkShadowType = 2;
584pub const GTK_SHADOW_ETCHED_IN: GtkShadowType = 3;
585pub const GTK_SHADOW_ETCHED_OUT: GtkShadowType = 4;
586
587pub type GtkShortcutType = c_int;
588pub const GTK_SHORTCUT_ACCELERATOR: GtkShortcutType = 0;
589pub const GTK_SHORTCUT_GESTURE_PINCH: GtkShortcutType = 1;
590pub const GTK_SHORTCUT_GESTURE_STRETCH: GtkShortcutType = 2;
591pub const GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE: GtkShortcutType = 3;
592pub const GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE: GtkShortcutType = 4;
593pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT: GtkShortcutType = 5;
594pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT: GtkShortcutType = 6;
595pub const GTK_SHORTCUT_GESTURE: GtkShortcutType = 7;
596
597pub type GtkSizeGroupMode = c_int;
598pub const GTK_SIZE_GROUP_NONE: GtkSizeGroupMode = 0;
599pub const GTK_SIZE_GROUP_HORIZONTAL: GtkSizeGroupMode = 1;
600pub const GTK_SIZE_GROUP_VERTICAL: GtkSizeGroupMode = 2;
601pub const GTK_SIZE_GROUP_BOTH: GtkSizeGroupMode = 3;
602
603pub type GtkSizeRequestMode = c_int;
604pub const GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: GtkSizeRequestMode = 0;
605pub const GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: GtkSizeRequestMode = 1;
606pub const GTK_SIZE_REQUEST_CONSTANT_SIZE: GtkSizeRequestMode = 2;
607
608pub type GtkSortType = c_int;
609pub const GTK_SORT_ASCENDING: GtkSortType = 0;
610pub const GTK_SORT_DESCENDING: GtkSortType = 1;
611
612pub type GtkSpinButtonUpdatePolicy = c_int;
613pub const GTK_UPDATE_ALWAYS: GtkSpinButtonUpdatePolicy = 0;
614pub const GTK_UPDATE_IF_VALID: GtkSpinButtonUpdatePolicy = 1;
615
616pub type GtkSpinType = c_int;
617pub const GTK_SPIN_STEP_FORWARD: GtkSpinType = 0;
618pub const GTK_SPIN_STEP_BACKWARD: GtkSpinType = 1;
619pub const GTK_SPIN_PAGE_FORWARD: GtkSpinType = 2;
620pub const GTK_SPIN_PAGE_BACKWARD: GtkSpinType = 3;
621pub const GTK_SPIN_HOME: GtkSpinType = 4;
622pub const GTK_SPIN_END: GtkSpinType = 5;
623pub const GTK_SPIN_USER_DEFINED: GtkSpinType = 6;
624
625pub type GtkStackTransitionType = c_int;
626pub const GTK_STACK_TRANSITION_TYPE_NONE: GtkStackTransitionType = 0;
627pub const GTK_STACK_TRANSITION_TYPE_CROSSFADE: GtkStackTransitionType = 1;
628pub const GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT: GtkStackTransitionType = 2;
629pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT: GtkStackTransitionType = 3;
630pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP: GtkStackTransitionType = 4;
631pub const GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: GtkStackTransitionType = 5;
632pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: GtkStackTransitionType = 6;
633pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: GtkStackTransitionType = 7;
634pub const GTK_STACK_TRANSITION_TYPE_OVER_UP: GtkStackTransitionType = 8;
635pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN: GtkStackTransitionType = 9;
636pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT: GtkStackTransitionType = 10;
637pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: GtkStackTransitionType = 11;
638pub const GTK_STACK_TRANSITION_TYPE_UNDER_UP: GtkStackTransitionType = 12;
639pub const GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: GtkStackTransitionType = 13;
640pub const GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: GtkStackTransitionType = 14;
641pub const GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: GtkStackTransitionType = 15;
642pub const GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: GtkStackTransitionType = 16;
643pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: GtkStackTransitionType = 17;
644pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: GtkStackTransitionType = 18;
645pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: GtkStackTransitionType = 19;
646
647pub type GtkStateType = c_int;
648pub const GTK_STATE_NORMAL: GtkStateType = 0;
649pub const GTK_STATE_ACTIVE: GtkStateType = 1;
650pub const GTK_STATE_PRELIGHT: GtkStateType = 2;
651pub const GTK_STATE_SELECTED: GtkStateType = 3;
652pub const GTK_STATE_INSENSITIVE: GtkStateType = 4;
653pub const GTK_STATE_INCONSISTENT: GtkStateType = 5;
654pub const GTK_STATE_FOCUSED: GtkStateType = 6;
655
656pub type GtkTextBufferTargetInfo = c_int;
657pub const GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS: GtkTextBufferTargetInfo = -1;
658pub const GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT: GtkTextBufferTargetInfo = -2;
659pub const GTK_TEXT_BUFFER_TARGET_INFO_TEXT: GtkTextBufferTargetInfo = -3;
660
661pub type GtkTextDirection = c_int;
662pub const GTK_TEXT_DIR_NONE: GtkTextDirection = 0;
663pub const GTK_TEXT_DIR_LTR: GtkTextDirection = 1;
664pub const GTK_TEXT_DIR_RTL: GtkTextDirection = 2;
665
666pub type GtkTextExtendSelection = c_int;
667pub const GTK_TEXT_EXTEND_SELECTION_WORD: GtkTextExtendSelection = 0;
668pub const GTK_TEXT_EXTEND_SELECTION_LINE: GtkTextExtendSelection = 1;
669
670pub type GtkTextViewLayer = c_int;
671pub const GTK_TEXT_VIEW_LAYER_BELOW: GtkTextViewLayer = 0;
672pub const GTK_TEXT_VIEW_LAYER_ABOVE: GtkTextViewLayer = 1;
673pub const GTK_TEXT_VIEW_LAYER_BELOW_TEXT: GtkTextViewLayer = 2;
674pub const GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: GtkTextViewLayer = 3;
675
676pub type GtkTextWindowType = c_int;
677pub const GTK_TEXT_WINDOW_PRIVATE: GtkTextWindowType = 0;
678pub const GTK_TEXT_WINDOW_WIDGET: GtkTextWindowType = 1;
679pub const GTK_TEXT_WINDOW_TEXT: GtkTextWindowType = 2;
680pub const GTK_TEXT_WINDOW_LEFT: GtkTextWindowType = 3;
681pub const GTK_TEXT_WINDOW_RIGHT: GtkTextWindowType = 4;
682pub const GTK_TEXT_WINDOW_TOP: GtkTextWindowType = 5;
683pub const GTK_TEXT_WINDOW_BOTTOM: GtkTextWindowType = 6;
684
685pub type GtkToolbarSpaceStyle = c_int;
686pub const GTK_TOOLBAR_SPACE_EMPTY: GtkToolbarSpaceStyle = 0;
687pub const GTK_TOOLBAR_SPACE_LINE: GtkToolbarSpaceStyle = 1;
688
689pub type GtkToolbarStyle = c_int;
690pub const GTK_TOOLBAR_ICONS: GtkToolbarStyle = 0;
691pub const GTK_TOOLBAR_TEXT: GtkToolbarStyle = 1;
692pub const GTK_TOOLBAR_BOTH: GtkToolbarStyle = 2;
693pub const GTK_TOOLBAR_BOTH_HORIZ: GtkToolbarStyle = 3;
694
695pub type GtkTreeViewColumnSizing = c_int;
696pub const GTK_TREE_VIEW_COLUMN_GROW_ONLY: GtkTreeViewColumnSizing = 0;
697pub const GTK_TREE_VIEW_COLUMN_AUTOSIZE: GtkTreeViewColumnSizing = 1;
698pub const GTK_TREE_VIEW_COLUMN_FIXED: GtkTreeViewColumnSizing = 2;
699
700pub type GtkTreeViewDropPosition = c_int;
701pub const GTK_TREE_VIEW_DROP_BEFORE: GtkTreeViewDropPosition = 0;
702pub const GTK_TREE_VIEW_DROP_AFTER: GtkTreeViewDropPosition = 1;
703pub const GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: GtkTreeViewDropPosition = 2;
704pub const GTK_TREE_VIEW_DROP_INTO_OR_AFTER: GtkTreeViewDropPosition = 3;
705
706pub type GtkTreeViewGridLines = c_int;
707pub const GTK_TREE_VIEW_GRID_LINES_NONE: GtkTreeViewGridLines = 0;
708pub const GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: GtkTreeViewGridLines = 1;
709pub const GTK_TREE_VIEW_GRID_LINES_VERTICAL: GtkTreeViewGridLines = 2;
710pub const GTK_TREE_VIEW_GRID_LINES_BOTH: GtkTreeViewGridLines = 3;
711
712pub type GtkUnit = c_int;
713pub const GTK_UNIT_NONE: GtkUnit = 0;
714pub const GTK_UNIT_POINTS: GtkUnit = 1;
715pub const GTK_UNIT_INCH: GtkUnit = 2;
716pub const GTK_UNIT_MM: GtkUnit = 3;
717
718pub type GtkWidgetHelpType = c_int;
719pub const GTK_WIDGET_HELP_TOOLTIP: GtkWidgetHelpType = 0;
720pub const GTK_WIDGET_HELP_WHATS_THIS: GtkWidgetHelpType = 1;
721
722pub type GtkWindowPosition = c_int;
723pub const GTK_WIN_POS_NONE: GtkWindowPosition = 0;
724pub const GTK_WIN_POS_CENTER: GtkWindowPosition = 1;
725pub const GTK_WIN_POS_MOUSE: GtkWindowPosition = 2;
726pub const GTK_WIN_POS_CENTER_ALWAYS: GtkWindowPosition = 3;
727pub const GTK_WIN_POS_CENTER_ON_PARENT: GtkWindowPosition = 4;
728
729pub type GtkWindowType = c_int;
730pub const GTK_WINDOW_TOPLEVEL: GtkWindowType = 0;
731pub const GTK_WINDOW_POPUP: GtkWindowType = 1;
732
733pub type GtkWrapMode = c_int;
734pub const GTK_WRAP_NONE: GtkWrapMode = 0;
735pub const GTK_WRAP_CHAR: GtkWrapMode = 1;
736pub const GTK_WRAP_WORD: GtkWrapMode = 2;
737pub const GTK_WRAP_WORD_CHAR: GtkWrapMode = 3;
738
739// Constants
740pub const GTK_INPUT_ERROR: c_int = -1;
741pub const GTK_LEVEL_BAR_OFFSET_FULL: &[u8] = b"full\0";
742pub const GTK_LEVEL_BAR_OFFSET_HIGH: &[u8] = b"high\0";
743pub const GTK_LEVEL_BAR_OFFSET_LOW: &[u8] = b"low\0";
744pub const GTK_MAX_COMPOSE_LEN: c_int = 7;
745pub const GTK_PAPER_NAME_A3: &[u8] = b"iso_a3\0";
746pub const GTK_PAPER_NAME_A4: &[u8] = b"iso_a4\0";
747pub const GTK_PAPER_NAME_A5: &[u8] = b"iso_a5\0";
748pub const GTK_PAPER_NAME_B5: &[u8] = b"iso_b5\0";
749pub const GTK_PAPER_NAME_EXECUTIVE: &[u8] = b"na_executive\0";
750pub const GTK_PAPER_NAME_LEGAL: &[u8] = b"na_legal\0";
751pub const GTK_PAPER_NAME_LETTER: &[u8] = b"na_letter\0";
752pub const GTK_PATH_PRIO_MASK: c_int = 15;
753pub const GTK_PRINT_SETTINGS_COLLATE: &[u8] = b"collate\0";
754pub const GTK_PRINT_SETTINGS_DEFAULT_SOURCE: &[u8] = b"default-source\0";
755pub const GTK_PRINT_SETTINGS_DITHER: &[u8] = b"dither\0";
756pub const GTK_PRINT_SETTINGS_DUPLEX: &[u8] = b"duplex\0";
757pub const GTK_PRINT_SETTINGS_FINISHINGS: &[u8] = b"finishings\0";
758pub const GTK_PRINT_SETTINGS_MEDIA_TYPE: &[u8] = b"media-type\0";
759pub const GTK_PRINT_SETTINGS_NUMBER_UP: &[u8] = b"number-up\0";
760pub const GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT: &[u8] = b"number-up-layout\0";
761pub const GTK_PRINT_SETTINGS_N_COPIES: &[u8] = b"n-copies\0";
762pub const GTK_PRINT_SETTINGS_ORIENTATION: &[u8] = b"orientation\0";
763pub const GTK_PRINT_SETTINGS_OUTPUT_BASENAME: &[u8] = b"output-basename\0";
764pub const GTK_PRINT_SETTINGS_OUTPUT_BIN: &[u8] = b"output-bin\0";
765pub const GTK_PRINT_SETTINGS_OUTPUT_DIR: &[u8] = b"output-dir\0";
766pub const GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT: &[u8] = b"output-file-format\0";
767pub const GTK_PRINT_SETTINGS_OUTPUT_URI: &[u8] = b"output-uri\0";
768pub const GTK_PRINT_SETTINGS_PAGE_RANGES: &[u8] = b"page-ranges\0";
769pub const GTK_PRINT_SETTINGS_PAGE_SET: &[u8] = b"page-set\0";
770pub const GTK_PRINT_SETTINGS_PAPER_FORMAT: &[u8] = b"paper-format\0";
771pub const GTK_PRINT_SETTINGS_PAPER_HEIGHT: &[u8] = b"paper-height\0";
772pub const GTK_PRINT_SETTINGS_PAPER_WIDTH: &[u8] = b"paper-width\0";
773pub const GTK_PRINT_SETTINGS_PRINTER: &[u8] = b"printer\0";
774pub const GTK_PRINT_SETTINGS_PRINTER_LPI: &[u8] = b"printer-lpi\0";
775pub const GTK_PRINT_SETTINGS_PRINT_PAGES: &[u8] = b"print-pages\0";
776pub const GTK_PRINT_SETTINGS_QUALITY: &[u8] = b"quality\0";
777pub const GTK_PRINT_SETTINGS_RESOLUTION: &[u8] = b"resolution\0";
778pub const GTK_PRINT_SETTINGS_RESOLUTION_X: &[u8] = b"resolution-x\0";
779pub const GTK_PRINT_SETTINGS_RESOLUTION_Y: &[u8] = b"resolution-y\0";
780pub const GTK_PRINT_SETTINGS_REVERSE: &[u8] = b"reverse\0";
781pub const GTK_PRINT_SETTINGS_SCALE: &[u8] = b"scale\0";
782pub const GTK_PRINT_SETTINGS_USE_COLOR: &[u8] = b"use-color\0";
783pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA: &[u8] = b"win32-driver-extra\0";
784pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION: &[u8] = b"win32-driver-version\0";
785pub const GTK_PRIORITY_RESIZE: c_int = 110;
786pub const GTK_STOCK_ABOUT: &[u8] = b"gtk-about\0";
787pub const GTK_STOCK_ADD: &[u8] = b"gtk-add\0";
788pub const GTK_STOCK_APPLY: &[u8] = b"gtk-apply\0";
789pub const GTK_STOCK_BOLD: &[u8] = b"gtk-bold\0";
790pub const GTK_STOCK_CANCEL: &[u8] = b"gtk-cancel\0";
791pub const GTK_STOCK_CAPS_LOCK_WARNING: &[u8] = b"gtk-caps-lock-warning\0";
792pub const GTK_STOCK_CDROM: &[u8] = b"gtk-cdrom\0";
793pub const GTK_STOCK_CLEAR: &[u8] = b"gtk-clear\0";
794pub const GTK_STOCK_CLOSE: &[u8] = b"gtk-close\0";
795pub const GTK_STOCK_COLOR_PICKER: &[u8] = b"gtk-color-picker\0";
796pub const GTK_STOCK_CONNECT: &[u8] = b"gtk-connect\0";
797pub const GTK_STOCK_CONVERT: &[u8] = b"gtk-convert\0";
798pub const GTK_STOCK_COPY: &[u8] = b"gtk-copy\0";
799pub const GTK_STOCK_CUT: &[u8] = b"gtk-cut\0";
800pub const GTK_STOCK_DELETE: &[u8] = b"gtk-delete\0";
801pub const GTK_STOCK_DIALOG_AUTHENTICATION: &[u8] = b"gtk-dialog-authentication\0";
802pub const GTK_STOCK_DIALOG_ERROR: &[u8] = b"gtk-dialog-error\0";
803pub const GTK_STOCK_DIALOG_INFO: &[u8] = b"gtk-dialog-info\0";
804pub const GTK_STOCK_DIALOG_QUESTION: &[u8] = b"gtk-dialog-question\0";
805pub const GTK_STOCK_DIALOG_WARNING: &[u8] = b"gtk-dialog-warning\0";
806pub const GTK_STOCK_DIRECTORY: &[u8] = b"gtk-directory\0";
807pub const GTK_STOCK_DISCARD: &[u8] = b"gtk-discard\0";
808pub const GTK_STOCK_DISCONNECT: &[u8] = b"gtk-disconnect\0";
809pub const GTK_STOCK_DND: &[u8] = b"gtk-dnd\0";
810pub const GTK_STOCK_DND_MULTIPLE: &[u8] = b"gtk-dnd-multiple\0";
811pub const GTK_STOCK_EDIT: &[u8] = b"gtk-edit\0";
812pub const GTK_STOCK_EXECUTE: &[u8] = b"gtk-execute\0";
813pub const GTK_STOCK_FILE: &[u8] = b"gtk-file\0";
814pub const GTK_STOCK_FIND: &[u8] = b"gtk-find\0";
815pub const GTK_STOCK_FIND_AND_REPLACE: &[u8] = b"gtk-find-and-replace\0";
816pub const GTK_STOCK_FLOPPY: &[u8] = b"gtk-floppy\0";
817pub const GTK_STOCK_FULLSCREEN: &[u8] = b"gtk-fullscreen\0";
818pub const GTK_STOCK_GOTO_BOTTOM: &[u8] = b"gtk-goto-bottom\0";
819pub const GTK_STOCK_GOTO_FIRST: &[u8] = b"gtk-goto-first\0";
820pub const GTK_STOCK_GOTO_LAST: &[u8] = b"gtk-goto-last\0";
821pub const GTK_STOCK_GOTO_TOP: &[u8] = b"gtk-goto-top\0";
822pub const GTK_STOCK_GO_BACK: &[u8] = b"gtk-go-back\0";
823pub const GTK_STOCK_GO_DOWN: &[u8] = b"gtk-go-down\0";
824pub const GTK_STOCK_GO_FORWARD: &[u8] = b"gtk-go-forward\0";
825pub const GTK_STOCK_GO_UP: &[u8] = b"gtk-go-up\0";
826pub const GTK_STOCK_HARDDISK: &[u8] = b"gtk-harddisk\0";
827pub const GTK_STOCK_HELP: &[u8] = b"gtk-help\0";
828pub const GTK_STOCK_HOME: &[u8] = b"gtk-home\0";
829pub const GTK_STOCK_INDENT: &[u8] = b"gtk-indent\0";
830pub const GTK_STOCK_INDEX: &[u8] = b"gtk-index\0";
831pub const GTK_STOCK_INFO: &[u8] = b"gtk-info\0";
832pub const GTK_STOCK_ITALIC: &[u8] = b"gtk-italic\0";
833pub const GTK_STOCK_JUMP_TO: &[u8] = b"gtk-jump-to\0";
834pub const GTK_STOCK_JUSTIFY_CENTER: &[u8] = b"gtk-justify-center\0";
835pub const GTK_STOCK_JUSTIFY_FILL: &[u8] = b"gtk-justify-fill\0";
836pub const GTK_STOCK_JUSTIFY_LEFT: &[u8] = b"gtk-justify-left\0";
837pub const GTK_STOCK_JUSTIFY_RIGHT: &[u8] = b"gtk-justify-right\0";
838pub const GTK_STOCK_LEAVE_FULLSCREEN: &[u8] = b"gtk-leave-fullscreen\0";
839pub const GTK_STOCK_MEDIA_FORWARD: &[u8] = b"gtk-media-forward\0";
840pub const GTK_STOCK_MEDIA_NEXT: &[u8] = b"gtk-media-next\0";
841pub const GTK_STOCK_MEDIA_PAUSE: &[u8] = b"gtk-media-pause\0";
842pub const GTK_STOCK_MEDIA_PLAY: &[u8] = b"gtk-media-play\0";
843pub const GTK_STOCK_MEDIA_PREVIOUS: &[u8] = b"gtk-media-previous\0";
844pub const GTK_STOCK_MEDIA_RECORD: &[u8] = b"gtk-media-record\0";
845pub const GTK_STOCK_MEDIA_REWIND: &[u8] = b"gtk-media-rewind\0";
846pub const GTK_STOCK_MEDIA_STOP: &[u8] = b"gtk-media-stop\0";
847pub const GTK_STOCK_MISSING_IMAGE: &[u8] = b"gtk-missing-image\0";
848pub const GTK_STOCK_NETWORK: &[u8] = b"gtk-network\0";
849pub const GTK_STOCK_NEW: &[u8] = b"gtk-new\0";
850pub const GTK_STOCK_NO: &[u8] = b"gtk-no\0";
851pub const GTK_STOCK_OK: &[u8] = b"gtk-ok\0";
852pub const GTK_STOCK_OPEN: &[u8] = b"gtk-open\0";
853pub const GTK_STOCK_ORIENTATION_LANDSCAPE: &[u8] = b"gtk-orientation-landscape\0";
854pub const GTK_STOCK_ORIENTATION_PORTRAIT: &[u8] = b"gtk-orientation-portrait\0";
855pub const GTK_STOCK_ORIENTATION_REVERSE_LANDSCAPE: &[u8] = b"gtk-orientation-reverse-landscape\0";
856pub const GTK_STOCK_ORIENTATION_REVERSE_PORTRAIT: &[u8] = b"gtk-orientation-reverse-portrait\0";
857pub const GTK_STOCK_PAGE_SETUP: &[u8] = b"gtk-page-setup\0";
858pub const GTK_STOCK_PASTE: &[u8] = b"gtk-paste\0";
859pub const GTK_STOCK_PREFERENCES: &[u8] = b"gtk-preferences\0";
860pub const GTK_STOCK_PRINT: &[u8] = b"gtk-print\0";
861pub const GTK_STOCK_PRINT_ERROR: &[u8] = b"gtk-print-error\0";
862pub const GTK_STOCK_PRINT_PAUSED: &[u8] = b"gtk-print-paused\0";
863pub const GTK_STOCK_PRINT_PREVIEW: &[u8] = b"gtk-print-preview\0";
864pub const GTK_STOCK_PRINT_REPORT: &[u8] = b"gtk-print-report\0";
865pub const GTK_STOCK_PRINT_WARNING: &[u8] = b"gtk-print-warning\0";
866pub const GTK_STOCK_PROPERTIES: &[u8] = b"gtk-properties\0";
867pub const GTK_STOCK_QUIT: &[u8] = b"gtk-quit\0";
868pub const GTK_STOCK_REDO: &[u8] = b"gtk-redo\0";
869pub const GTK_STOCK_REFRESH: &[u8] = b"gtk-refresh\0";
870pub const GTK_STOCK_REMOVE: &[u8] = b"gtk-remove\0";
871pub const GTK_STOCK_REVERT_TO_SAVED: &[u8] = b"gtk-revert-to-saved\0";
872pub const GTK_STOCK_SAVE: &[u8] = b"gtk-save\0";
873pub const GTK_STOCK_SAVE_AS: &[u8] = b"gtk-save-as\0";
874pub const GTK_STOCK_SELECT_ALL: &[u8] = b"gtk-select-all\0";
875pub const GTK_STOCK_SELECT_COLOR: &[u8] = b"gtk-select-color\0";
876pub const GTK_STOCK_SELECT_FONT: &[u8] = b"gtk-select-font\0";
877pub const GTK_STOCK_SORT_ASCENDING: &[u8] = b"gtk-sort-ascending\0";
878pub const GTK_STOCK_SORT_DESCENDING: &[u8] = b"gtk-sort-descending\0";
879pub const GTK_STOCK_SPELL_CHECK: &[u8] = b"gtk-spell-check\0";
880pub const GTK_STOCK_STOP: &[u8] = b"gtk-stop\0";
881pub const GTK_STOCK_STRIKETHROUGH: &[u8] = b"gtk-strikethrough\0";
882pub const GTK_STOCK_UNDELETE: &[u8] = b"gtk-undelete\0";
883pub const GTK_STOCK_UNDERLINE: &[u8] = b"gtk-underline\0";
884pub const GTK_STOCK_UNDO: &[u8] = b"gtk-undo\0";
885pub const GTK_STOCK_UNINDENT: &[u8] = b"gtk-unindent\0";
886pub const GTK_STOCK_YES: &[u8] = b"gtk-yes\0";
887pub const GTK_STOCK_ZOOM_100: &[u8] = b"gtk-zoom-100\0";
888pub const GTK_STOCK_ZOOM_FIT: &[u8] = b"gtk-zoom-fit\0";
889pub const GTK_STOCK_ZOOM_IN: &[u8] = b"gtk-zoom-in\0";
890pub const GTK_STOCK_ZOOM_OUT: &[u8] = b"gtk-zoom-out\0";
891pub const GTK_STYLE_CLASS_ACCELERATOR: &[u8] = b"accelerator\0";
892pub const GTK_STYLE_CLASS_ARROW: &[u8] = b"arrow\0";
893pub const GTK_STYLE_CLASS_BACKGROUND: &[u8] = b"background\0";
894pub const GTK_STYLE_CLASS_BOTTOM: &[u8] = b"bottom\0";
895pub const GTK_STYLE_CLASS_BUTTON: &[u8] = b"button\0";
896pub const GTK_STYLE_CLASS_CALENDAR: &[u8] = b"calendar\0";
897pub const GTK_STYLE_CLASS_CELL: &[u8] = b"cell\0";
898pub const GTK_STYLE_CLASS_CHECK: &[u8] = b"check\0";
899pub const GTK_STYLE_CLASS_COMBOBOX_ENTRY: &[u8] = b"combobox-entry\0";
900pub const GTK_STYLE_CLASS_CONTEXT_MENU: &[u8] = b"context-menu\0";
901pub const GTK_STYLE_CLASS_CSD: &[u8] = b"csd\0";
902pub const GTK_STYLE_CLASS_CURSOR_HANDLE: &[u8] = b"cursor-handle\0";
903pub const GTK_STYLE_CLASS_DEFAULT: &[u8] = b"default\0";
904pub const GTK_STYLE_CLASS_DESTRUCTIVE_ACTION: &[u8] = b"destructive-action\0";
905pub const GTK_STYLE_CLASS_DIM_LABEL: &[u8] = b"dim-label\0";
906pub const GTK_STYLE_CLASS_DND: &[u8] = b"dnd\0";
907pub const GTK_STYLE_CLASS_DOCK: &[u8] = b"dock\0";
908pub const GTK_STYLE_CLASS_ENTRY: &[u8] = b"entry\0";
909pub const GTK_STYLE_CLASS_ERROR: &[u8] = b"error\0";
910pub const GTK_STYLE_CLASS_EXPANDER: &[u8] = b"expander\0";
911pub const GTK_STYLE_CLASS_FLAT: &[u8] = b"flat\0";
912pub const GTK_STYLE_CLASS_FRAME: &[u8] = b"frame\0";
913pub const GTK_STYLE_CLASS_GRIP: &[u8] = b"grip\0";
914pub const GTK_STYLE_CLASS_HEADER: &[u8] = b"header\0";
915pub const GTK_STYLE_CLASS_HIGHLIGHT: &[u8] = b"highlight\0";
916pub const GTK_STYLE_CLASS_HORIZONTAL: &[u8] = b"horizontal\0";
917pub const GTK_STYLE_CLASS_IMAGE: &[u8] = b"image\0";
918pub const GTK_STYLE_CLASS_INFO: &[u8] = b"info\0";
919pub const GTK_STYLE_CLASS_INLINE_TOOLBAR: &[u8] = b"inline-toolbar\0";
920pub const GTK_STYLE_CLASS_INSERTION_CURSOR: &[u8] = b"insertion-cursor\0";
921pub const GTK_STYLE_CLASS_LABEL: &[u8] = b"label\0";
922pub const GTK_STYLE_CLASS_LEFT: &[u8] = b"left\0";
923pub const GTK_STYLE_CLASS_LEVEL_BAR: &[u8] = b"level-bar\0";
924pub const GTK_STYLE_CLASS_LINKED: &[u8] = b"linked\0";
925pub const GTK_STYLE_CLASS_LIST: &[u8] = b"list\0";
926pub const GTK_STYLE_CLASS_LIST_ROW: &[u8] = b"list-row\0";
927pub const GTK_STYLE_CLASS_MARK: &[u8] = b"mark\0";
928pub const GTK_STYLE_CLASS_MENU: &[u8] = b"menu\0";
929pub const GTK_STYLE_CLASS_MENUBAR: &[u8] = b"menubar\0";
930pub const GTK_STYLE_CLASS_MENUITEM: &[u8] = b"menuitem\0";
931pub const GTK_STYLE_CLASS_MESSAGE_DIALOG: &[u8] = b"message-dialog\0";
932pub const GTK_STYLE_CLASS_MONOSPACE: &[u8] = b"monospace\0";
933pub const GTK_STYLE_CLASS_NEEDS_ATTENTION: &[u8] = b"needs-attention\0";
934pub const GTK_STYLE_CLASS_NOTEBOOK: &[u8] = b"notebook\0";
935pub const GTK_STYLE_CLASS_OSD: &[u8] = b"osd\0";
936pub const GTK_STYLE_CLASS_OVERSHOOT: &[u8] = b"overshoot\0";
937pub const GTK_STYLE_CLASS_PANE_SEPARATOR: &[u8] = b"pane-separator\0";
938pub const GTK_STYLE_CLASS_PAPER: &[u8] = b"paper\0";
939pub const GTK_STYLE_CLASS_POPOVER: &[u8] = b"popover\0";
940pub const GTK_STYLE_CLASS_POPUP: &[u8] = b"popup\0";
941pub const GTK_STYLE_CLASS_PRIMARY_TOOLBAR: &[u8] = b"primary-toolbar\0";
942pub const GTK_STYLE_CLASS_PROGRESSBAR: &[u8] = b"progressbar\0";
943pub const GTK_STYLE_CLASS_PULSE: &[u8] = b"pulse\0";
944pub const GTK_STYLE_CLASS_QUESTION: &[u8] = b"question\0";
945pub const GTK_STYLE_CLASS_RADIO: &[u8] = b"radio\0";
946pub const GTK_STYLE_CLASS_RAISED: &[u8] = b"raised\0";
947pub const GTK_STYLE_CLASS_READ_ONLY: &[u8] = b"read-only\0";
948pub const GTK_STYLE_CLASS_RIGHT: &[u8] = b"right\0";
949pub const GTK_STYLE_CLASS_RUBBERBAND: &[u8] = b"rubberband\0";
950pub const GTK_STYLE_CLASS_SCALE: &[u8] = b"scale\0";
951pub const GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE: &[u8] = b"scale-has-marks-above\0";
952pub const GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW: &[u8] = b"scale-has-marks-below\0";
953pub const GTK_STYLE_CLASS_SCROLLBAR: &[u8] = b"scrollbar\0";
954pub const GTK_STYLE_CLASS_SCROLLBARS_JUNCTION: &[u8] = b"scrollbars-junction\0";
955pub const GTK_STYLE_CLASS_SEPARATOR: &[u8] = b"separator\0";
956pub const GTK_STYLE_CLASS_SIDEBAR: &[u8] = b"sidebar\0";
957pub const GTK_STYLE_CLASS_SLIDER: &[u8] = b"slider\0";
958pub const GTK_STYLE_CLASS_SPINBUTTON: &[u8] = b"spinbutton\0";
959pub const GTK_STYLE_CLASS_SPINNER: &[u8] = b"spinner\0";
960pub const GTK_STYLE_CLASS_STATUSBAR: &[u8] = b"statusbar\0";
961pub const GTK_STYLE_CLASS_SUBTITLE: &[u8] = b"subtitle\0";
962pub const GTK_STYLE_CLASS_SUGGESTED_ACTION: &[u8] = b"suggested-action\0";
963pub const GTK_STYLE_CLASS_TITLE: &[u8] = b"title\0";
964pub const GTK_STYLE_CLASS_TITLEBAR: &[u8] = b"titlebar\0";
965pub const GTK_STYLE_CLASS_TOOLBAR: &[u8] = b"toolbar\0";
966pub const GTK_STYLE_CLASS_TOOLTIP: &[u8] = b"tooltip\0";
967pub const GTK_STYLE_CLASS_TOP: &[u8] = b"top\0";
968pub const GTK_STYLE_CLASS_TOUCH_SELECTION: &[u8] = b"touch-selection\0";
969pub const GTK_STYLE_CLASS_TROUGH: &[u8] = b"trough\0";
970pub const GTK_STYLE_CLASS_UNDERSHOOT: &[u8] = b"undershoot\0";
971pub const GTK_STYLE_CLASS_VERTICAL: &[u8] = b"vertical\0";
972pub const GTK_STYLE_CLASS_VIEW: &[u8] = b"view\0";
973pub const GTK_STYLE_CLASS_WARNING: &[u8] = b"warning\0";
974pub const GTK_STYLE_CLASS_WIDE: &[u8] = b"wide\0";
975pub const GTK_STYLE_PROPERTY_BACKGROUND_COLOR: &[u8] = b"background-color\0";
976pub const GTK_STYLE_PROPERTY_BACKGROUND_IMAGE: &[u8] = b"background-image\0";
977pub const GTK_STYLE_PROPERTY_BORDER_COLOR: &[u8] = b"border-color\0";
978pub const GTK_STYLE_PROPERTY_BORDER_RADIUS: &[u8] = b"border-radius\0";
979pub const GTK_STYLE_PROPERTY_BORDER_STYLE: &[u8] = b"border-style\0";
980pub const GTK_STYLE_PROPERTY_BORDER_WIDTH: &[u8] = b"border-width\0";
981pub const GTK_STYLE_PROPERTY_COLOR: &[u8] = b"color\0";
982pub const GTK_STYLE_PROPERTY_FONT: &[u8] = b"font\0";
983pub const GTK_STYLE_PROPERTY_MARGIN: &[u8] = b"margin\0";
984pub const GTK_STYLE_PROPERTY_PADDING: &[u8] = b"padding\0";
985pub const GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: c_int = 600;
986pub const GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: c_int = 1;
987pub const GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: c_int = 400;
988pub const GTK_STYLE_PROVIDER_PRIORITY_THEME: c_int = 200;
989pub const GTK_STYLE_PROVIDER_PRIORITY_USER: c_int = 800;
990pub const GTK_STYLE_REGION_COLUMN: &[u8] = b"column\0";
991pub const GTK_STYLE_REGION_COLUMN_HEADER: &[u8] = b"column-header\0";
992pub const GTK_STYLE_REGION_ROW: &[u8] = b"row\0";
993pub const GTK_STYLE_REGION_TAB: &[u8] = b"tab\0";
994pub const GTK_TEXT_VIEW_PRIORITY_VALIDATE: c_int = 125;
995pub const GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: c_int = -1;
996pub const GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: c_int = -2;
997
998// Flags
999pub type GtkAccelFlags = c_uint;
1000pub const GTK_ACCEL_VISIBLE: GtkAccelFlags = 1;
1001pub const GTK_ACCEL_LOCKED: GtkAccelFlags = 2;
1002pub const GTK_ACCEL_MASK: GtkAccelFlags = 7;
1003
1004pub type GtkApplicationInhibitFlags = c_uint;
1005pub const GTK_APPLICATION_INHIBIT_LOGOUT: GtkApplicationInhibitFlags = 1;
1006pub const GTK_APPLICATION_INHIBIT_SWITCH: GtkApplicationInhibitFlags = 2;
1007pub const GTK_APPLICATION_INHIBIT_SUSPEND: GtkApplicationInhibitFlags = 4;
1008pub const GTK_APPLICATION_INHIBIT_IDLE: GtkApplicationInhibitFlags = 8;
1009
1010pub type GtkAttachOptions = c_uint;
1011pub const GTK_EXPAND: GtkAttachOptions = 1;
1012pub const GTK_SHRINK: GtkAttachOptions = 2;
1013pub const GTK_FILL: GtkAttachOptions = 4;
1014
1015pub type GtkCalendarDisplayOptions = c_uint;
1016pub const GTK_CALENDAR_SHOW_HEADING: GtkCalendarDisplayOptions = 1;
1017pub const GTK_CALENDAR_SHOW_DAY_NAMES: GtkCalendarDisplayOptions = 2;
1018pub const GTK_CALENDAR_NO_MONTH_CHANGE: GtkCalendarDisplayOptions = 4;
1019pub const GTK_CALENDAR_SHOW_WEEK_NUMBERS: GtkCalendarDisplayOptions = 8;
1020pub const GTK_CALENDAR_SHOW_DETAILS: GtkCalendarDisplayOptions = 32;
1021
1022pub type GtkCellRendererState = c_uint;
1023pub const GTK_CELL_RENDERER_SELECTED: GtkCellRendererState = 1;
1024pub const GTK_CELL_RENDERER_PRELIT: GtkCellRendererState = 2;
1025pub const GTK_CELL_RENDERER_INSENSITIVE: GtkCellRendererState = 4;
1026pub const GTK_CELL_RENDERER_SORTED: GtkCellRendererState = 8;
1027pub const GTK_CELL_RENDERER_FOCUSED: GtkCellRendererState = 16;
1028pub const GTK_CELL_RENDERER_EXPANDABLE: GtkCellRendererState = 32;
1029pub const GTK_CELL_RENDERER_EXPANDED: GtkCellRendererState = 64;
1030
1031pub type GtkDebugFlag = c_uint;
1032pub const GTK_DEBUG_MISC: GtkDebugFlag = 1;
1033pub const GTK_DEBUG_PLUGSOCKET: GtkDebugFlag = 2;
1034pub const GTK_DEBUG_TEXT: GtkDebugFlag = 4;
1035pub const GTK_DEBUG_TREE: GtkDebugFlag = 8;
1036pub const GTK_DEBUG_UPDATES: GtkDebugFlag = 16;
1037pub const GTK_DEBUG_KEYBINDINGS: GtkDebugFlag = 32;
1038pub const GTK_DEBUG_MULTIHEAD: GtkDebugFlag = 64;
1039pub const GTK_DEBUG_MODULES: GtkDebugFlag = 128;
1040pub const GTK_DEBUG_GEOMETRY: GtkDebugFlag = 256;
1041pub const GTK_DEBUG_ICONTHEME: GtkDebugFlag = 512;
1042pub const GTK_DEBUG_PRINTING: GtkDebugFlag = 1024;
1043pub const GTK_DEBUG_BUILDER: GtkDebugFlag = 2048;
1044pub const GTK_DEBUG_SIZE_REQUEST: GtkDebugFlag = 4096;
1045pub const GTK_DEBUG_NO_CSS_CACHE: GtkDebugFlag = 8192;
1046pub const GTK_DEBUG_BASELINES: GtkDebugFlag = 16384;
1047pub const GTK_DEBUG_PIXEL_CACHE: GtkDebugFlag = 32768;
1048pub const GTK_DEBUG_NO_PIXEL_CACHE: GtkDebugFlag = 65536;
1049pub const GTK_DEBUG_INTERACTIVE: GtkDebugFlag = 131072;
1050pub const GTK_DEBUG_TOUCHSCREEN: GtkDebugFlag = 262144;
1051pub const GTK_DEBUG_ACTIONS: GtkDebugFlag = 524288;
1052pub const GTK_DEBUG_RESIZE: GtkDebugFlag = 1048576;
1053pub const GTK_DEBUG_LAYOUT: GtkDebugFlag = 2097152;
1054
1055pub type GtkDestDefaults = c_uint;
1056pub const GTK_DEST_DEFAULT_MOTION: GtkDestDefaults = 1;
1057pub const GTK_DEST_DEFAULT_HIGHLIGHT: GtkDestDefaults = 2;
1058pub const GTK_DEST_DEFAULT_DROP: GtkDestDefaults = 4;
1059pub const GTK_DEST_DEFAULT_ALL: GtkDestDefaults = 7;
1060
1061pub type GtkDialogFlags = c_uint;
1062pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1063pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1064pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1065
1066pub type GtkEventControllerScrollFlags = c_uint;
1067pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1068pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1069pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1070pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1071pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1072pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1073
1074pub type GtkFileFilterFlags = c_uint;
1075pub const GTK_FILE_FILTER_FILENAME: GtkFileFilterFlags = 1;
1076pub const GTK_FILE_FILTER_URI: GtkFileFilterFlags = 2;
1077pub const GTK_FILE_FILTER_DISPLAY_NAME: GtkFileFilterFlags = 4;
1078pub const GTK_FILE_FILTER_MIME_TYPE: GtkFileFilterFlags = 8;
1079
1080pub type GtkFontChooserLevel = c_uint;
1081pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1082pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1083pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1084pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1085pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1086
1087pub type GtkIconLookupFlags = c_uint;
1088pub const GTK_ICON_LOOKUP_NO_SVG: GtkIconLookupFlags = 1;
1089pub const GTK_ICON_LOOKUP_FORCE_SVG: GtkIconLookupFlags = 2;
1090pub const GTK_ICON_LOOKUP_USE_BUILTIN: GtkIconLookupFlags = 4;
1091pub const GTK_ICON_LOOKUP_GENERIC_FALLBACK: GtkIconLookupFlags = 8;
1092pub const GTK_ICON_LOOKUP_FORCE_SIZE: GtkIconLookupFlags = 16;
1093pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 32;
1094pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 64;
1095pub const GTK_ICON_LOOKUP_DIR_LTR: GtkIconLookupFlags = 128;
1096pub const GTK_ICON_LOOKUP_DIR_RTL: GtkIconLookupFlags = 256;
1097
1098pub type GtkInputHints = c_uint;
1099pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1100pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1101pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1102pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1103pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1104pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1105pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1106pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1107pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1108pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1109pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1110pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1111
1112pub type GtkJunctionSides = c_uint;
1113pub const GTK_JUNCTION_NONE: GtkJunctionSides = 0;
1114pub const GTK_JUNCTION_CORNER_TOPLEFT: GtkJunctionSides = 1;
1115pub const GTK_JUNCTION_CORNER_TOPRIGHT: GtkJunctionSides = 2;
1116pub const GTK_JUNCTION_CORNER_BOTTOMLEFT: GtkJunctionSides = 4;
1117pub const GTK_JUNCTION_CORNER_BOTTOMRIGHT: GtkJunctionSides = 8;
1118pub const GTK_JUNCTION_TOP: GtkJunctionSides = 3;
1119pub const GTK_JUNCTION_BOTTOM: GtkJunctionSides = 12;
1120pub const GTK_JUNCTION_LEFT: GtkJunctionSides = 5;
1121pub const GTK_JUNCTION_RIGHT: GtkJunctionSides = 10;
1122
1123pub type GtkPlacesOpenFlags = c_uint;
1124pub const GTK_PLACES_OPEN_NORMAL: GtkPlacesOpenFlags = 1;
1125pub const GTK_PLACES_OPEN_NEW_TAB: GtkPlacesOpenFlags = 2;
1126pub const GTK_PLACES_OPEN_NEW_WINDOW: GtkPlacesOpenFlags = 4;
1127
1128pub type GtkRcFlags = c_uint;
1129pub const GTK_RC_FG: GtkRcFlags = 1;
1130pub const GTK_RC_BG: GtkRcFlags = 2;
1131pub const GTK_RC_TEXT: GtkRcFlags = 4;
1132pub const GTK_RC_BASE: GtkRcFlags = 8;
1133
1134pub type GtkRecentFilterFlags = c_uint;
1135pub const GTK_RECENT_FILTER_URI: GtkRecentFilterFlags = 1;
1136pub const GTK_RECENT_FILTER_DISPLAY_NAME: GtkRecentFilterFlags = 2;
1137pub const GTK_RECENT_FILTER_MIME_TYPE: GtkRecentFilterFlags = 4;
1138pub const GTK_RECENT_FILTER_APPLICATION: GtkRecentFilterFlags = 8;
1139pub const GTK_RECENT_FILTER_GROUP: GtkRecentFilterFlags = 16;
1140pub const GTK_RECENT_FILTER_AGE: GtkRecentFilterFlags = 32;
1141
1142pub type GtkRegionFlags = c_uint;
1143pub const GTK_REGION_EVEN: GtkRegionFlags = 1;
1144pub const GTK_REGION_ODD: GtkRegionFlags = 2;
1145pub const GTK_REGION_FIRST: GtkRegionFlags = 4;
1146pub const GTK_REGION_LAST: GtkRegionFlags = 8;
1147pub const GTK_REGION_ONLY: GtkRegionFlags = 16;
1148pub const GTK_REGION_SORTED: GtkRegionFlags = 32;
1149
1150pub type GtkStateFlags = c_uint;
1151pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1152pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1153pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1154pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1155pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1156pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1157pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1158pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1159pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1160pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1161pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1162pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1163pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1164pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1165
1166pub type GtkStyleContextPrintFlags = c_uint;
1167pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1168pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1169pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1170
1171pub type GtkTargetFlags = c_uint;
1172pub const GTK_TARGET_SAME_APP: GtkTargetFlags = 1;
1173pub const GTK_TARGET_SAME_WIDGET: GtkTargetFlags = 2;
1174pub const GTK_TARGET_OTHER_APP: GtkTargetFlags = 4;
1175pub const GTK_TARGET_OTHER_WIDGET: GtkTargetFlags = 8;
1176
1177pub type GtkTextSearchFlags = c_uint;
1178pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1179pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1180pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1181
1182pub type GtkToolPaletteDragTargets = c_uint;
1183pub const GTK_TOOL_PALETTE_DRAG_ITEMS: GtkToolPaletteDragTargets = 1;
1184pub const GTK_TOOL_PALETTE_DRAG_GROUPS: GtkToolPaletteDragTargets = 2;
1185
1186pub type GtkTreeModelFlags = c_uint;
1187pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1188pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1189
1190pub type GtkUIManagerItemType = c_uint;
1191pub const GTK_UI_MANAGER_AUTO: GtkUIManagerItemType = 0;
1192pub const GTK_UI_MANAGER_MENUBAR: GtkUIManagerItemType = 1;
1193pub const GTK_UI_MANAGER_MENU: GtkUIManagerItemType = 2;
1194pub const GTK_UI_MANAGER_TOOLBAR: GtkUIManagerItemType = 4;
1195pub const GTK_UI_MANAGER_PLACEHOLDER: GtkUIManagerItemType = 8;
1196pub const GTK_UI_MANAGER_POPUP: GtkUIManagerItemType = 16;
1197pub const GTK_UI_MANAGER_MENUITEM: GtkUIManagerItemType = 32;
1198pub const GTK_UI_MANAGER_TOOLITEM: GtkUIManagerItemType = 64;
1199pub const GTK_UI_MANAGER_SEPARATOR: GtkUIManagerItemType = 128;
1200pub const GTK_UI_MANAGER_ACCELERATOR: GtkUIManagerItemType = 256;
1201pub const GTK_UI_MANAGER_POPUP_WITH_ACCELS: GtkUIManagerItemType = 512;
1202
1203// Unions
1204#[derive(Copy, Clone)]
1205#[repr(C)]
1206pub union GtkBindingArg_d {
1207    pub long_data: c_long,
1208    pub double_data: c_double,
1209    pub string_data: *mut c_char,
1210}
1211
1212impl ::std::fmt::Debug for GtkBindingArg_d {
1213    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1214        f.debug_struct(&format!("GtkBindingArg_d @ {self:p}"))
1215            .field("long_data", unsafe { &self.long_data })
1216            .field("double_data", unsafe { &self.double_data })
1217            .field("string_data", unsafe { &self.string_data })
1218            .finish()
1219    }
1220}
1221
1222#[derive(Copy, Clone)]
1223#[repr(C)]
1224pub union GtkTextAppearance_u1 {
1225    pub rgba: [*mut gdk::GdkRGBA; 2],
1226    pub padding: [c_uint; 4],
1227}
1228
1229impl ::std::fmt::Debug for GtkTextAppearance_u1 {
1230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1231        f.debug_struct(&format!("GtkTextAppearance_u1 @ {self:p}"))
1232            .field("rgba", unsafe { &self.rgba })
1233            .finish()
1234    }
1235}
1236
1237#[derive(Copy, Clone)]
1238#[repr(C)]
1239pub union GtkTextAttributes_u1 {
1240    pub font_features: *mut c_char,
1241    pub padding: [c_uint; 2],
1242}
1243
1244impl ::std::fmt::Debug for GtkTextAttributes_u1 {
1245    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1246        f.debug_struct(&format!("GtkTextAttributes_u1 @ {self:p}"))
1247            .field("font_features", unsafe { &self.font_features })
1248            .finish()
1249    }
1250}
1251
1252// Callbacks
1253pub type GtkAccelGroupActivate = Option<
1254    unsafe extern "C" fn(
1255        *mut GtkAccelGroup,
1256        *mut gobject::GObject,
1257        c_uint,
1258        gdk::GdkModifierType,
1259    ) -> gboolean,
1260>;
1261pub type GtkAccelGroupFindFunc =
1262    Option<unsafe extern "C" fn(*mut GtkAccelKey, *mut gobject::GClosure, gpointer) -> gboolean>;
1263pub type GtkAccelMapForeach =
1264    Option<unsafe extern "C" fn(gpointer, *const c_char, c_uint, gdk::GdkModifierType, gboolean)>;
1265pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1266pub type GtkBuilderConnectFunc = Option<
1267    unsafe extern "C" fn(
1268        *mut GtkBuilder,
1269        *mut gobject::GObject,
1270        *const c_char,
1271        *const c_char,
1272        *mut gobject::GObject,
1273        gobject::GConnectFlags,
1274        gpointer,
1275    ),
1276>;
1277pub type GtkCalendarDetailFunc =
1278    Option<unsafe extern "C" fn(*mut GtkCalendar, c_uint, c_uint, c_uint, gpointer) -> *mut c_char>;
1279pub type GtkCallback = Option<unsafe extern "C" fn(*mut GtkWidget, gpointer)>;
1280pub type GtkCellAllocCallback = Option<
1281    unsafe extern "C" fn(
1282        *mut GtkCellRenderer,
1283        *const gdk::GdkRectangle,
1284        *const gdk::GdkRectangle,
1285        gpointer,
1286    ) -> gboolean,
1287>;
1288pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1289pub type GtkCellLayoutDataFunc = Option<
1290    unsafe extern "C" fn(
1291        *mut GtkCellLayout,
1292        *mut GtkCellRenderer,
1293        *mut GtkTreeModel,
1294        *mut GtkTreeIter,
1295        gpointer,
1296    ),
1297>;
1298pub type GtkClipboardClearFunc = Option<unsafe extern "C" fn(*mut GtkClipboard, gpointer)>;
1299pub type GtkClipboardGetFunc =
1300    Option<unsafe extern "C" fn(*mut GtkClipboard, *mut GtkSelectionData, c_uint, gpointer)>;
1301pub type GtkClipboardImageReceivedFunc =
1302    Option<unsafe extern "C" fn(*mut GtkClipboard, *mut gdk_pixbuf::GdkPixbuf, gpointer)>;
1303pub type GtkClipboardReceivedFunc =
1304    Option<unsafe extern "C" fn(*mut GtkClipboard, *mut GtkSelectionData, gpointer)>;
1305pub type GtkClipboardRichTextReceivedFunc =
1306    Option<unsafe extern "C" fn(*mut GtkClipboard, gdk::GdkAtom, *const c_char, size_t, gpointer)>;
1307pub type GtkClipboardTargetsReceivedFunc =
1308    Option<unsafe extern "C" fn(*mut GtkClipboard, *mut gdk::GdkAtom, c_int, gpointer)>;
1309pub type GtkClipboardTextReceivedFunc =
1310    Option<unsafe extern "C" fn(*mut GtkClipboard, *const c_char, gpointer)>;
1311pub type GtkClipboardURIReceivedFunc =
1312    Option<unsafe extern "C" fn(*mut GtkClipboard, *mut *mut c_char, gpointer)>;
1313pub type GtkColorSelectionChangePaletteFunc =
1314    Option<unsafe extern "C" fn(*const gdk::GdkColor, c_int)>;
1315pub type GtkColorSelectionChangePaletteWithScreenFunc =
1316    Option<unsafe extern "C" fn(*mut gdk::GdkScreen, *const gdk::GdkColor, c_int)>;
1317pub type GtkEntryCompletionMatchFunc = Option<
1318    unsafe extern "C" fn(
1319        *mut GtkEntryCompletion,
1320        *const c_char,
1321        *mut GtkTreeIter,
1322        gpointer,
1323    ) -> gboolean,
1324>;
1325pub type GtkFileFilterFunc =
1326    Option<unsafe extern "C" fn(*const GtkFileFilterInfo, gpointer) -> gboolean>;
1327pub type GtkFlowBoxCreateWidgetFunc =
1328    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1329pub type GtkFlowBoxFilterFunc =
1330    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1331pub type GtkFlowBoxForeachFunc =
1332    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1333pub type GtkFlowBoxSortFunc =
1334    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1335pub type GtkFontFilterFunc = Option<
1336    unsafe extern "C" fn(
1337        *const pango::PangoFontFamily,
1338        *const pango::PangoFontFace,
1339        gpointer,
1340    ) -> gboolean,
1341>;
1342pub type GtkIconViewForeachFunc =
1343    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1344pub type GtkKeySnoopFunc =
1345    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventKey, gpointer) -> c_int>;
1346pub type GtkListBoxCreateWidgetFunc =
1347    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1348pub type GtkListBoxFilterFunc =
1349    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1350pub type GtkListBoxForeachFunc =
1351    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1352pub type GtkListBoxSortFunc =
1353    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1354pub type GtkListBoxUpdateHeaderFunc =
1355    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1356pub type GtkMenuDetachFunc = Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkMenu)>;
1357pub type GtkMenuPositionFunc =
1358    Option<unsafe extern "C" fn(*mut GtkMenu, *mut c_int, *mut c_int, *mut gboolean, gpointer)>;
1359pub type GtkModuleDisplayInitFunc = Option<unsafe extern "C" fn(*mut gdk::GdkDisplay)>;
1360pub type GtkModuleInitFunc = Option<unsafe extern "C" fn(*mut c_int, *mut *mut *mut c_char)>;
1361pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1362pub type GtkPrintSettingsFunc =
1363    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1364pub type GtkRcPropertyParser = Option<
1365    unsafe extern "C" fn(
1366        *const gobject::GParamSpec,
1367        *const glib::GString,
1368        *mut gobject::GValue,
1369    ) -> gboolean,
1370>;
1371pub type GtkRecentFilterFunc =
1372    Option<unsafe extern "C" fn(*const GtkRecentFilterInfo, gpointer) -> gboolean>;
1373pub type GtkRecentSortFunc =
1374    Option<unsafe extern "C" fn(*mut GtkRecentInfo, *mut GtkRecentInfo, gpointer) -> c_int>;
1375pub type GtkStylePropertyParser = Option<
1376    unsafe extern "C" fn(*const c_char, *mut gobject::GValue, *mut *mut glib::GError) -> gboolean,
1377>;
1378pub type GtkTextBufferDeserializeFunc = Option<
1379    unsafe extern "C" fn(
1380        *mut GtkTextBuffer,
1381        *mut GtkTextBuffer,
1382        *mut GtkTextIter,
1383        *const u8,
1384        size_t,
1385        gboolean,
1386        gpointer,
1387        *mut *mut glib::GError,
1388    ) -> gboolean,
1389>;
1390pub type GtkTextBufferSerializeFunc = Option<
1391    unsafe extern "C" fn(
1392        *mut GtkTextBuffer,
1393        *mut GtkTextBuffer,
1394        *const GtkTextIter,
1395        *const GtkTextIter,
1396        *mut size_t,
1397        gpointer,
1398    ) -> *mut u8,
1399>;
1400pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1401pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1402pub type GtkTickCallback =
1403    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1404pub type GtkTranslateFunc = Option<unsafe extern "C" fn(*const c_char, gpointer) -> *mut c_char>;
1405pub type GtkTreeCellDataFunc = Option<
1406    unsafe extern "C" fn(
1407        *mut GtkTreeViewColumn,
1408        *mut GtkCellRenderer,
1409        *mut GtkTreeModel,
1410        *mut GtkTreeIter,
1411        gpointer,
1412    ),
1413>;
1414pub type GtkTreeDestroyCountFunc =
1415    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, c_int, gpointer)>;
1416pub type GtkTreeIterCompareFunc = Option<
1417    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1418>;
1419pub type GtkTreeModelFilterModifyFunc = Option<
1420    unsafe extern "C" fn(
1421        *mut GtkTreeModel,
1422        *mut GtkTreeIter,
1423        *mut gobject::GValue,
1424        c_int,
1425        gpointer,
1426    ),
1427>;
1428pub type GtkTreeModelFilterVisibleFunc =
1429    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1430pub type GtkTreeModelForeachFunc = Option<
1431    unsafe extern "C" fn(
1432        *mut GtkTreeModel,
1433        *mut GtkTreePath,
1434        *mut GtkTreeIter,
1435        gpointer,
1436    ) -> gboolean,
1437>;
1438pub type GtkTreeSelectionForeachFunc =
1439    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1440pub type GtkTreeSelectionFunc = Option<
1441    unsafe extern "C" fn(
1442        *mut GtkTreeSelection,
1443        *mut GtkTreeModel,
1444        *mut GtkTreePath,
1445        gboolean,
1446        gpointer,
1447    ) -> gboolean,
1448>;
1449pub type GtkTreeViewColumnDropFunc = Option<
1450    unsafe extern "C" fn(
1451        *mut GtkTreeView,
1452        *mut GtkTreeViewColumn,
1453        *mut GtkTreeViewColumn,
1454        *mut GtkTreeViewColumn,
1455        gpointer,
1456    ) -> gboolean,
1457>;
1458pub type GtkTreeViewMappingFunc =
1459    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1460pub type GtkTreeViewRowSeparatorFunc =
1461    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1462pub type GtkTreeViewSearchEqualFunc = Option<
1463    unsafe extern "C" fn(
1464        *mut GtkTreeModel,
1465        c_int,
1466        *const c_char,
1467        *mut GtkTreeIter,
1468        gpointer,
1469    ) -> gboolean,
1470>;
1471pub type GtkTreeViewSearchPositionFunc =
1472    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkWidget, gpointer)>;
1473
1474// Records
1475#[derive(Copy, Clone)]
1476#[repr(C)]
1477pub struct GtkAboutDialogClass {
1478    pub parent_class: GtkDialogClass,
1479    pub activate_link: Option<unsafe extern "C" fn(*mut GtkAboutDialog, *const c_char) -> gboolean>,
1480    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1481    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1482    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1483    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1484}
1485
1486impl ::std::fmt::Debug for GtkAboutDialogClass {
1487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1488        f.debug_struct(&format!("GtkAboutDialogClass @ {self:p}"))
1489            .field("parent_class", &self.parent_class)
1490            .field("activate_link", &self.activate_link)
1491            .field("_gtk_reserved1", &self._gtk_reserved1)
1492            .field("_gtk_reserved2", &self._gtk_reserved2)
1493            .field("_gtk_reserved3", &self._gtk_reserved3)
1494            .field("_gtk_reserved4", &self._gtk_reserved4)
1495            .finish()
1496    }
1497}
1498
1499#[repr(C)]
1500pub struct _GtkAboutDialogPrivate {
1501    _data: [u8; 0],
1502    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1503}
1504
1505pub type GtkAboutDialogPrivate = *mut _GtkAboutDialogPrivate;
1506
1507#[derive(Copy, Clone)]
1508#[repr(C)]
1509pub struct GtkAccelGroupClass {
1510    pub parent_class: gobject::GObjectClass,
1511    pub accel_changed: Option<
1512        unsafe extern "C" fn(
1513            *mut GtkAccelGroup,
1514            c_uint,
1515            gdk::GdkModifierType,
1516            *mut gobject::GClosure,
1517        ),
1518    >,
1519    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1520    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1521    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1522    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1523}
1524
1525impl ::std::fmt::Debug for GtkAccelGroupClass {
1526    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1527        f.debug_struct(&format!("GtkAccelGroupClass @ {self:p}"))
1528            .field("parent_class", &self.parent_class)
1529            .field("accel_changed", &self.accel_changed)
1530            .field("_gtk_reserved1", &self._gtk_reserved1)
1531            .field("_gtk_reserved2", &self._gtk_reserved2)
1532            .field("_gtk_reserved3", &self._gtk_reserved3)
1533            .field("_gtk_reserved4", &self._gtk_reserved4)
1534            .finish()
1535    }
1536}
1537
1538#[derive(Copy, Clone)]
1539#[repr(C)]
1540pub struct GtkAccelGroupEntry {
1541    pub key: GtkAccelKey,
1542    pub closure: *mut gobject::GClosure,
1543    pub accel_path_quark: glib::GQuark,
1544}
1545
1546impl ::std::fmt::Debug for GtkAccelGroupEntry {
1547    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1548        f.debug_struct(&format!("GtkAccelGroupEntry @ {self:p}"))
1549            .field("key", &self.key)
1550            .field("closure", &self.closure)
1551            .field("accel_path_quark", &self.accel_path_quark)
1552            .finish()
1553    }
1554}
1555
1556#[repr(C)]
1557pub struct _GtkAccelGroupPrivate {
1558    _data: [u8; 0],
1559    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1560}
1561
1562pub type GtkAccelGroupPrivate = *mut _GtkAccelGroupPrivate;
1563
1564#[derive(Copy, Clone)]
1565#[repr(C)]
1566pub struct GtkAccelKey {
1567    pub accel_key: c_uint,
1568    pub accel_mods: gdk::GdkModifierType,
1569    pub accel_flags: c_uint,
1570}
1571
1572impl ::std::fmt::Debug for GtkAccelKey {
1573    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1574        f.debug_struct(&format!("GtkAccelKey @ {self:p}"))
1575            .field("accel_key", &self.accel_key)
1576            .field("accel_mods", &self.accel_mods)
1577            .field("accel_flags", &self.accel_flags)
1578            .finish()
1579    }
1580}
1581
1582#[derive(Copy, Clone)]
1583#[repr(C)]
1584pub struct GtkAccelLabelClass {
1585    pub parent_class: GtkLabelClass,
1586    pub signal_quote1: *mut c_char,
1587    pub signal_quote2: *mut c_char,
1588    pub mod_name_shift: *mut c_char,
1589    pub mod_name_control: *mut c_char,
1590    pub mod_name_alt: *mut c_char,
1591    pub mod_separator: *mut c_char,
1592    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1593    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1594    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1595    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1596}
1597
1598impl ::std::fmt::Debug for GtkAccelLabelClass {
1599    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1600        f.debug_struct(&format!("GtkAccelLabelClass @ {self:p}"))
1601            .field("parent_class", &self.parent_class)
1602            .field("signal_quote1", &self.signal_quote1)
1603            .field("signal_quote2", &self.signal_quote2)
1604            .field("mod_name_shift", &self.mod_name_shift)
1605            .field("mod_name_control", &self.mod_name_control)
1606            .field("mod_name_alt", &self.mod_name_alt)
1607            .field("mod_separator", &self.mod_separator)
1608            .field("_gtk_reserved1", &self._gtk_reserved1)
1609            .field("_gtk_reserved2", &self._gtk_reserved2)
1610            .field("_gtk_reserved3", &self._gtk_reserved3)
1611            .field("_gtk_reserved4", &self._gtk_reserved4)
1612            .finish()
1613    }
1614}
1615
1616#[repr(C)]
1617pub struct _GtkAccelLabelPrivate {
1618    _data: [u8; 0],
1619    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1620}
1621
1622pub type GtkAccelLabelPrivate = *mut _GtkAccelLabelPrivate;
1623
1624#[repr(C)]
1625pub struct _GtkAccelMapClass {
1626    _data: [u8; 0],
1627    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1628}
1629
1630pub type GtkAccelMapClass = *mut _GtkAccelMapClass;
1631
1632#[derive(Copy, Clone)]
1633#[repr(C)]
1634pub struct GtkAccessibleClass {
1635    pub parent_class: atk::AtkObjectClass,
1636    pub connect_widget_destroyed: Option<unsafe extern "C" fn(*mut GtkAccessible)>,
1637    pub widget_set: Option<unsafe extern "C" fn(*mut GtkAccessible)>,
1638    pub widget_unset: Option<unsafe extern "C" fn(*mut GtkAccessible)>,
1639    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1640    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1641}
1642
1643impl ::std::fmt::Debug for GtkAccessibleClass {
1644    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1645        f.debug_struct(&format!("GtkAccessibleClass @ {self:p}"))
1646            .field("parent_class", &self.parent_class)
1647            .field("connect_widget_destroyed", &self.connect_widget_destroyed)
1648            .field("widget_set", &self.widget_set)
1649            .field("widget_unset", &self.widget_unset)
1650            .field("_gtk_reserved3", &self._gtk_reserved3)
1651            .field("_gtk_reserved4", &self._gtk_reserved4)
1652            .finish()
1653    }
1654}
1655
1656#[repr(C)]
1657pub struct _GtkAccessiblePrivate {
1658    _data: [u8; 0],
1659    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1660}
1661
1662pub type GtkAccessiblePrivate = *mut _GtkAccessiblePrivate;
1663
1664#[derive(Copy, Clone)]
1665#[repr(C)]
1666pub struct GtkActionBarClass {
1667    pub parent_class: GtkBinClass,
1668    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1669    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1670    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1671    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1672}
1673
1674impl ::std::fmt::Debug for GtkActionBarClass {
1675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1676        f.debug_struct(&format!("GtkActionBarClass @ {self:p}"))
1677            .field("_gtk_reserved1", &self._gtk_reserved1)
1678            .field("_gtk_reserved2", &self._gtk_reserved2)
1679            .field("_gtk_reserved3", &self._gtk_reserved3)
1680            .field("_gtk_reserved4", &self._gtk_reserved4)
1681            .finish()
1682    }
1683}
1684
1685#[repr(C)]
1686pub struct _GtkActionBarPrivate {
1687    _data: [u8; 0],
1688    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1689}
1690
1691pub type GtkActionBarPrivate = *mut _GtkActionBarPrivate;
1692
1693#[derive(Copy, Clone)]
1694#[repr(C)]
1695pub struct GtkActionClass {
1696    pub parent_class: gobject::GObjectClass,
1697    pub activate: Option<unsafe extern "C" fn(*mut GtkAction)>,
1698    pub menu_item_type: GType,
1699    pub toolbar_item_type: GType,
1700    pub create_menu_item: Option<unsafe extern "C" fn(*mut GtkAction) -> *mut GtkWidget>,
1701    pub create_tool_item: Option<unsafe extern "C" fn(*mut GtkAction) -> *mut GtkWidget>,
1702    pub connect_proxy: Option<unsafe extern "C" fn(*mut GtkAction, *mut GtkWidget)>,
1703    pub disconnect_proxy: Option<unsafe extern "C" fn(*mut GtkAction, *mut GtkWidget)>,
1704    pub create_menu: Option<unsafe extern "C" fn(*mut GtkAction) -> *mut GtkWidget>,
1705    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1706    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1707    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1708    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1709}
1710
1711impl ::std::fmt::Debug for GtkActionClass {
1712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1713        f.debug_struct(&format!("GtkActionClass @ {self:p}"))
1714            .field("parent_class", &self.parent_class)
1715            .field("activate", &self.activate)
1716            .field("create_menu_item", &self.create_menu_item)
1717            .field("create_tool_item", &self.create_tool_item)
1718            .field("connect_proxy", &self.connect_proxy)
1719            .field("disconnect_proxy", &self.disconnect_proxy)
1720            .field("create_menu", &self.create_menu)
1721            .field("_gtk_reserved1", &self._gtk_reserved1)
1722            .field("_gtk_reserved2", &self._gtk_reserved2)
1723            .field("_gtk_reserved3", &self._gtk_reserved3)
1724            .field("_gtk_reserved4", &self._gtk_reserved4)
1725            .finish()
1726    }
1727}
1728
1729#[derive(Copy, Clone)]
1730#[repr(C)]
1731pub struct GtkActionEntry {
1732    pub name: *const c_char,
1733    pub stock_id: *const c_char,
1734    pub label: *const c_char,
1735    pub accelerator: *const c_char,
1736    pub tooltip: *const c_char,
1737    pub callback: gobject::GCallback,
1738}
1739
1740impl ::std::fmt::Debug for GtkActionEntry {
1741    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1742        f.debug_struct(&format!("GtkActionEntry @ {self:p}"))
1743            .field("name", &self.name)
1744            .field("stock_id", &self.stock_id)
1745            .field("label", &self.label)
1746            .field("accelerator", &self.accelerator)
1747            .field("tooltip", &self.tooltip)
1748            .field("callback", &self.callback)
1749            .finish()
1750    }
1751}
1752
1753#[derive(Copy, Clone)]
1754#[repr(C)]
1755pub struct GtkActionGroupClass {
1756    pub parent_class: gobject::GObjectClass,
1757    pub get_action:
1758        Option<unsafe extern "C" fn(*mut GtkActionGroup, *const c_char) -> *mut GtkAction>,
1759    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1760    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1761    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1762    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1763}
1764
1765impl ::std::fmt::Debug for GtkActionGroupClass {
1766    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1767        f.debug_struct(&format!("GtkActionGroupClass @ {self:p}"))
1768            .field("parent_class", &self.parent_class)
1769            .field("get_action", &self.get_action)
1770            .field("_gtk_reserved1", &self._gtk_reserved1)
1771            .field("_gtk_reserved2", &self._gtk_reserved2)
1772            .field("_gtk_reserved3", &self._gtk_reserved3)
1773            .field("_gtk_reserved4", &self._gtk_reserved4)
1774            .finish()
1775    }
1776}
1777
1778#[repr(C)]
1779pub struct _GtkActionGroupPrivate {
1780    _data: [u8; 0],
1781    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1782}
1783
1784pub type GtkActionGroupPrivate = *mut _GtkActionGroupPrivate;
1785
1786#[repr(C)]
1787pub struct _GtkActionPrivate {
1788    _data: [u8; 0],
1789    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1790}
1791
1792pub type GtkActionPrivate = *mut _GtkActionPrivate;
1793
1794#[derive(Copy, Clone)]
1795#[repr(C)]
1796pub struct GtkActionableInterface {
1797    pub g_iface: gobject::GTypeInterface,
1798    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1799    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1800    pub get_action_target_value:
1801        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1802    pub set_action_target_value:
1803        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1804}
1805
1806impl ::std::fmt::Debug for GtkActionableInterface {
1807    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1808        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1809            .field("get_action_name", &self.get_action_name)
1810            .field("set_action_name", &self.set_action_name)
1811            .field("get_action_target_value", &self.get_action_target_value)
1812            .field("set_action_target_value", &self.set_action_target_value)
1813            .finish()
1814    }
1815}
1816
1817#[derive(Copy, Clone)]
1818#[repr(C)]
1819pub struct GtkActivatableIface {
1820    pub g_iface: gobject::GTypeInterface,
1821    pub update: Option<unsafe extern "C" fn(*mut GtkActivatable, *mut GtkAction, *const c_char)>,
1822    pub sync_action_properties: Option<unsafe extern "C" fn(*mut GtkActivatable, *mut GtkAction)>,
1823}
1824
1825impl ::std::fmt::Debug for GtkActivatableIface {
1826    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1827        f.debug_struct(&format!("GtkActivatableIface @ {self:p}"))
1828            .field("update", &self.update)
1829            .field("sync_action_properties", &self.sync_action_properties)
1830            .finish()
1831    }
1832}
1833
1834#[derive(Copy, Clone)]
1835#[repr(C)]
1836pub struct GtkAdjustmentClass {
1837    pub parent_class: gobject::GInitiallyUnownedClass,
1838    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1839    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1840    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1841    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1842    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1843    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1844}
1845
1846impl ::std::fmt::Debug for GtkAdjustmentClass {
1847    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1848        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1849            .field("parent_class", &self.parent_class)
1850            .field("changed", &self.changed)
1851            .field("value_changed", &self.value_changed)
1852            .field("_gtk_reserved1", &self._gtk_reserved1)
1853            .field("_gtk_reserved2", &self._gtk_reserved2)
1854            .field("_gtk_reserved3", &self._gtk_reserved3)
1855            .field("_gtk_reserved4", &self._gtk_reserved4)
1856            .finish()
1857    }
1858}
1859
1860#[repr(C)]
1861pub struct _GtkAdjustmentPrivate {
1862    _data: [u8; 0],
1863    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1864}
1865
1866pub type GtkAdjustmentPrivate = *mut _GtkAdjustmentPrivate;
1867
1868#[derive(Copy, Clone)]
1869#[repr(C)]
1870pub struct GtkAlignmentClass {
1871    pub parent_class: GtkBinClass,
1872    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1873    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1874    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1875    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1876}
1877
1878impl ::std::fmt::Debug for GtkAlignmentClass {
1879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1880        f.debug_struct(&format!("GtkAlignmentClass @ {self:p}"))
1881            .field("parent_class", &self.parent_class)
1882            .field("_gtk_reserved1", &self._gtk_reserved1)
1883            .field("_gtk_reserved2", &self._gtk_reserved2)
1884            .field("_gtk_reserved3", &self._gtk_reserved3)
1885            .field("_gtk_reserved4", &self._gtk_reserved4)
1886            .finish()
1887    }
1888}
1889
1890#[repr(C)]
1891pub struct _GtkAlignmentPrivate {
1892    _data: [u8; 0],
1893    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1894}
1895
1896pub type GtkAlignmentPrivate = *mut _GtkAlignmentPrivate;
1897
1898#[derive(Copy, Clone)]
1899#[repr(C)]
1900pub struct GtkAppChooserButtonClass {
1901    pub parent_class: GtkComboBoxClass,
1902    pub custom_item_activated:
1903        Option<unsafe extern "C" fn(*mut GtkAppChooserButton, *const c_char)>,
1904    pub padding: [gpointer; 16],
1905}
1906
1907impl ::std::fmt::Debug for GtkAppChooserButtonClass {
1908    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1909        f.debug_struct(&format!("GtkAppChooserButtonClass @ {self:p}"))
1910            .field("parent_class", &self.parent_class)
1911            .field("custom_item_activated", &self.custom_item_activated)
1912            .finish()
1913    }
1914}
1915
1916#[repr(C)]
1917pub struct _GtkAppChooserButtonPrivate {
1918    _data: [u8; 0],
1919    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1920}
1921
1922pub type GtkAppChooserButtonPrivate = *mut _GtkAppChooserButtonPrivate;
1923
1924#[derive(Copy, Clone)]
1925#[repr(C)]
1926pub struct GtkAppChooserDialogClass {
1927    pub parent_class: GtkDialogClass,
1928    pub padding: [gpointer; 16],
1929}
1930
1931impl ::std::fmt::Debug for GtkAppChooserDialogClass {
1932    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1933        f.debug_struct(&format!("GtkAppChooserDialogClass @ {self:p}"))
1934            .field("parent_class", &self.parent_class)
1935            .finish()
1936    }
1937}
1938
1939#[repr(C)]
1940pub struct _GtkAppChooserDialogPrivate {
1941    _data: [u8; 0],
1942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1943}
1944
1945pub type GtkAppChooserDialogPrivate = *mut _GtkAppChooserDialogPrivate;
1946
1947#[derive(Copy, Clone)]
1948#[repr(C)]
1949pub struct GtkAppChooserWidgetClass {
1950    pub parent_class: GtkBoxClass,
1951    pub application_selected:
1952        Option<unsafe extern "C" fn(*mut GtkAppChooserWidget, *mut gio::GAppInfo)>,
1953    pub application_activated:
1954        Option<unsafe extern "C" fn(*mut GtkAppChooserWidget, *mut gio::GAppInfo)>,
1955    pub populate_popup:
1956        Option<unsafe extern "C" fn(*mut GtkAppChooserWidget, *mut GtkMenu, *mut gio::GAppInfo)>,
1957    pub padding: [gpointer; 16],
1958}
1959
1960impl ::std::fmt::Debug for GtkAppChooserWidgetClass {
1961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1962        f.debug_struct(&format!("GtkAppChooserWidgetClass @ {self:p}"))
1963            .field("parent_class", &self.parent_class)
1964            .field("application_selected", &self.application_selected)
1965            .field("application_activated", &self.application_activated)
1966            .field("populate_popup", &self.populate_popup)
1967            .finish()
1968    }
1969}
1970
1971#[repr(C)]
1972pub struct _GtkAppChooserWidgetPrivate {
1973    _data: [u8; 0],
1974    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1975}
1976
1977pub type GtkAppChooserWidgetPrivate = *mut _GtkAppChooserWidgetPrivate;
1978
1979#[derive(Copy, Clone)]
1980#[repr(C)]
1981pub struct GtkApplicationClass {
1982    pub parent_class: gio::GApplicationClass,
1983    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1984    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1985    pub padding: [gpointer; 12],
1986}
1987
1988impl ::std::fmt::Debug for GtkApplicationClass {
1989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1990        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1991            .field("parent_class", &self.parent_class)
1992            .field("window_added", &self.window_added)
1993            .field("window_removed", &self.window_removed)
1994            .finish()
1995    }
1996}
1997
1998#[repr(C)]
1999pub struct _GtkApplicationPrivate {
2000    _data: [u8; 0],
2001    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2002}
2003
2004pub type GtkApplicationPrivate = *mut _GtkApplicationPrivate;
2005
2006#[derive(Copy, Clone)]
2007#[repr(C)]
2008pub struct GtkApplicationWindowClass {
2009    pub parent_class: GtkWindowClass,
2010    pub padding: [gpointer; 14],
2011}
2012
2013impl ::std::fmt::Debug for GtkApplicationWindowClass {
2014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2015        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
2016            .field("parent_class", &self.parent_class)
2017            .finish()
2018    }
2019}
2020
2021#[repr(C)]
2022pub struct _GtkApplicationWindowPrivate {
2023    _data: [u8; 0],
2024    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2025}
2026
2027pub type GtkApplicationWindowPrivate = *mut _GtkApplicationWindowPrivate;
2028
2029#[derive(Copy, Clone)]
2030#[repr(C)]
2031pub struct GtkArrowAccessibleClass {
2032    pub parent_class: GtkWidgetAccessibleClass,
2033}
2034
2035impl ::std::fmt::Debug for GtkArrowAccessibleClass {
2036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2037        f.debug_struct(&format!("GtkArrowAccessibleClass @ {self:p}"))
2038            .field("parent_class", &self.parent_class)
2039            .finish()
2040    }
2041}
2042
2043#[repr(C)]
2044pub struct _GtkArrowAccessiblePrivate {
2045    _data: [u8; 0],
2046    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2047}
2048
2049pub type GtkArrowAccessiblePrivate = *mut _GtkArrowAccessiblePrivate;
2050
2051#[derive(Copy, Clone)]
2052#[repr(C)]
2053pub struct GtkArrowClass {
2054    pub parent_class: GtkMiscClass,
2055    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2056    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2057    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2058    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2059}
2060
2061impl ::std::fmt::Debug for GtkArrowClass {
2062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2063        f.debug_struct(&format!("GtkArrowClass @ {self:p}"))
2064            .field("parent_class", &self.parent_class)
2065            .field("_gtk_reserved1", &self._gtk_reserved1)
2066            .field("_gtk_reserved2", &self._gtk_reserved2)
2067            .field("_gtk_reserved3", &self._gtk_reserved3)
2068            .field("_gtk_reserved4", &self._gtk_reserved4)
2069            .finish()
2070    }
2071}
2072
2073#[repr(C)]
2074pub struct _GtkArrowPrivate {
2075    _data: [u8; 0],
2076    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2077}
2078
2079pub type GtkArrowPrivate = *mut _GtkArrowPrivate;
2080
2081#[derive(Copy, Clone)]
2082#[repr(C)]
2083pub struct GtkAspectFrameClass {
2084    pub parent_class: GtkFrameClass,
2085    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2086    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2087    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2088    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2089}
2090
2091impl ::std::fmt::Debug for GtkAspectFrameClass {
2092    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2093        f.debug_struct(&format!("GtkAspectFrameClass @ {self:p}"))
2094            .field("parent_class", &self.parent_class)
2095            .field("_gtk_reserved1", &self._gtk_reserved1)
2096            .field("_gtk_reserved2", &self._gtk_reserved2)
2097            .field("_gtk_reserved3", &self._gtk_reserved3)
2098            .field("_gtk_reserved4", &self._gtk_reserved4)
2099            .finish()
2100    }
2101}
2102
2103#[repr(C)]
2104pub struct _GtkAspectFramePrivate {
2105    _data: [u8; 0],
2106    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2107}
2108
2109pub type GtkAspectFramePrivate = *mut _GtkAspectFramePrivate;
2110
2111#[derive(Copy, Clone)]
2112#[repr(C)]
2113pub struct GtkAssistantClass {
2114    pub parent_class: GtkWindowClass,
2115    pub prepare: Option<unsafe extern "C" fn(*mut GtkAssistant, *mut GtkWidget)>,
2116    pub apply: Option<unsafe extern "C" fn(*mut GtkAssistant)>,
2117    pub close: Option<unsafe extern "C" fn(*mut GtkAssistant)>,
2118    pub cancel: Option<unsafe extern "C" fn(*mut GtkAssistant)>,
2119    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2120    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2121    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2122    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2123    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
2124}
2125
2126impl ::std::fmt::Debug for GtkAssistantClass {
2127    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2128        f.debug_struct(&format!("GtkAssistantClass @ {self:p}"))
2129            .field("parent_class", &self.parent_class)
2130            .field("prepare", &self.prepare)
2131            .field("apply", &self.apply)
2132            .field("close", &self.close)
2133            .field("cancel", &self.cancel)
2134            .field("_gtk_reserved1", &self._gtk_reserved1)
2135            .field("_gtk_reserved2", &self._gtk_reserved2)
2136            .field("_gtk_reserved3", &self._gtk_reserved3)
2137            .field("_gtk_reserved4", &self._gtk_reserved4)
2138            .field("_gtk_reserved5", &self._gtk_reserved5)
2139            .finish()
2140    }
2141}
2142
2143#[repr(C)]
2144pub struct _GtkAssistantPrivate {
2145    _data: [u8; 0],
2146    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2147}
2148
2149pub type GtkAssistantPrivate = *mut _GtkAssistantPrivate;
2150
2151#[derive(Copy, Clone)]
2152#[repr(C)]
2153pub struct GtkBinClass {
2154    pub parent_class: GtkContainerClass,
2155    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2156    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2157    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2158    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2159}
2160
2161impl ::std::fmt::Debug for GtkBinClass {
2162    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2163        f.debug_struct(&format!("GtkBinClass @ {self:p}"))
2164            .field("parent_class", &self.parent_class)
2165            .field("_gtk_reserved1", &self._gtk_reserved1)
2166            .field("_gtk_reserved2", &self._gtk_reserved2)
2167            .field("_gtk_reserved3", &self._gtk_reserved3)
2168            .field("_gtk_reserved4", &self._gtk_reserved4)
2169            .finish()
2170    }
2171}
2172
2173#[repr(C)]
2174pub struct _GtkBinPrivate {
2175    _data: [u8; 0],
2176    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2177}
2178
2179pub type GtkBinPrivate = *mut _GtkBinPrivate;
2180
2181#[derive(Copy, Clone)]
2182#[repr(C)]
2183pub struct GtkBindingArg {
2184    pub arg_type: GType,
2185    pub d: GtkBindingArg_d,
2186}
2187
2188impl ::std::fmt::Debug for GtkBindingArg {
2189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2190        f.debug_struct(&format!("GtkBindingArg @ {self:p}"))
2191            .field("arg_type", &self.arg_type)
2192            .field("d", &self.d)
2193            .finish()
2194    }
2195}
2196
2197#[repr(C)]
2198pub struct GtkBindingEntry {
2199    pub keyval: c_uint,
2200    pub modifiers: gdk::GdkModifierType,
2201    pub binding_set: *mut GtkBindingSet,
2202    pub destroyed: c_uint,
2203    _truncated_record_marker: c_void,
2204    // field in_emission has incomplete type
2205}
2206
2207impl ::std::fmt::Debug for GtkBindingEntry {
2208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2209        f.debug_struct(&format!("GtkBindingEntry @ {self:p}"))
2210            .field("keyval", &self.keyval)
2211            .field("modifiers", &self.modifiers)
2212            .field("binding_set", &self.binding_set)
2213            .field("destroyed", &self.destroyed)
2214            .finish()
2215    }
2216}
2217
2218#[derive(Copy, Clone)]
2219#[repr(C)]
2220pub struct GtkBindingSet {
2221    pub set_name: *mut c_char,
2222    pub priority: c_int,
2223    pub widget_path_pspecs: *mut glib::GSList,
2224    pub widget_class_pspecs: *mut glib::GSList,
2225    pub class_branch_pspecs: *mut glib::GSList,
2226    pub entries: *mut GtkBindingEntry,
2227    pub current: *mut GtkBindingEntry,
2228    pub parsed: c_uint,
2229}
2230
2231impl ::std::fmt::Debug for GtkBindingSet {
2232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2233        f.debug_struct(&format!("GtkBindingSet @ {self:p}"))
2234            .field("set_name", &self.set_name)
2235            .field("priority", &self.priority)
2236            .field("widget_path_pspecs", &self.widget_path_pspecs)
2237            .field("widget_class_pspecs", &self.widget_class_pspecs)
2238            .field("class_branch_pspecs", &self.class_branch_pspecs)
2239            .field("entries", &self.entries)
2240            .field("current", &self.current)
2241            .field("parsed", &self.parsed)
2242            .finish()
2243    }
2244}
2245
2246#[derive(Copy, Clone)]
2247#[repr(C)]
2248pub struct GtkBindingSignal {
2249    pub next: *mut GtkBindingSignal,
2250    pub signal_name: *mut c_char,
2251    pub n_args: c_uint,
2252    pub args: *mut GtkBindingArg,
2253}
2254
2255impl ::std::fmt::Debug for GtkBindingSignal {
2256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2257        f.debug_struct(&format!("GtkBindingSignal @ {self:p}"))
2258            .field("next", &self.next)
2259            .field("signal_name", &self.signal_name)
2260            .field("n_args", &self.n_args)
2261            .field("args", &self.args)
2262            .finish()
2263    }
2264}
2265
2266#[derive(Copy, Clone)]
2267#[repr(C)]
2268pub struct GtkBooleanCellAccessibleClass {
2269    pub parent_class: GtkRendererCellAccessibleClass,
2270}
2271
2272impl ::std::fmt::Debug for GtkBooleanCellAccessibleClass {
2273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2274        f.debug_struct(&format!("GtkBooleanCellAccessibleClass @ {self:p}"))
2275            .field("parent_class", &self.parent_class)
2276            .finish()
2277    }
2278}
2279
2280#[repr(C)]
2281pub struct _GtkBooleanCellAccessiblePrivate {
2282    _data: [u8; 0],
2283    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2284}
2285
2286pub type GtkBooleanCellAccessiblePrivate = *mut _GtkBooleanCellAccessiblePrivate;
2287
2288#[derive(Copy, Clone)]
2289#[repr(C)]
2290pub struct GtkBorder {
2291    pub left: i16,
2292    pub right: i16,
2293    pub top: i16,
2294    pub bottom: i16,
2295}
2296
2297impl ::std::fmt::Debug for GtkBorder {
2298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2299        f.debug_struct(&format!("GtkBorder @ {self:p}"))
2300            .field("left", &self.left)
2301            .field("right", &self.right)
2302            .field("top", &self.top)
2303            .field("bottom", &self.bottom)
2304            .finish()
2305    }
2306}
2307
2308#[derive(Copy, Clone)]
2309#[repr(C)]
2310pub struct GtkBoxClass {
2311    pub parent_class: GtkContainerClass,
2312    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2313    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2314    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2315    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2316}
2317
2318impl ::std::fmt::Debug for GtkBoxClass {
2319    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2320        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
2321            .field("parent_class", &self.parent_class)
2322            .field("_gtk_reserved1", &self._gtk_reserved1)
2323            .field("_gtk_reserved2", &self._gtk_reserved2)
2324            .field("_gtk_reserved3", &self._gtk_reserved3)
2325            .field("_gtk_reserved4", &self._gtk_reserved4)
2326            .finish()
2327    }
2328}
2329
2330#[repr(C)]
2331pub struct _GtkBoxPrivate {
2332    _data: [u8; 0],
2333    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2334}
2335
2336pub type GtkBoxPrivate = *mut _GtkBoxPrivate;
2337
2338#[derive(Copy, Clone)]
2339#[repr(C)]
2340pub struct GtkBuildableIface {
2341    pub g_iface: gobject::GTypeInterface,
2342    pub set_name: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
2343    pub get_name: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
2344    pub add_child: Option<
2345        unsafe extern "C" fn(
2346            *mut GtkBuildable,
2347            *mut GtkBuilder,
2348            *mut gobject::GObject,
2349            *const c_char,
2350        ),
2351    >,
2352    pub set_buildable_property: Option<
2353        unsafe extern "C" fn(
2354            *mut GtkBuildable,
2355            *mut GtkBuilder,
2356            *const c_char,
2357            *const gobject::GValue,
2358        ),
2359    >,
2360    pub construct_child: Option<
2361        unsafe extern "C" fn(
2362            *mut GtkBuildable,
2363            *mut GtkBuilder,
2364            *const c_char,
2365        ) -> *mut gobject::GObject,
2366    >,
2367    pub custom_tag_start: Option<
2368        unsafe extern "C" fn(
2369            *mut GtkBuildable,
2370            *mut GtkBuilder,
2371            *mut gobject::GObject,
2372            *const c_char,
2373            *mut glib::GMarkupParser,
2374            *mut gpointer,
2375        ) -> gboolean,
2376    >,
2377    pub custom_tag_end: Option<
2378        unsafe extern "C" fn(
2379            *mut GtkBuildable,
2380            *mut GtkBuilder,
2381            *mut gobject::GObject,
2382            *const c_char,
2383            gpointer,
2384        ),
2385    >,
2386    pub custom_finished: Option<
2387        unsafe extern "C" fn(
2388            *mut GtkBuildable,
2389            *mut GtkBuilder,
2390            *mut gobject::GObject,
2391            *const c_char,
2392            gpointer,
2393        ),
2394    >,
2395    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
2396    pub get_internal_child: Option<
2397        unsafe extern "C" fn(
2398            *mut GtkBuildable,
2399            *mut GtkBuilder,
2400            *const c_char,
2401        ) -> *mut gobject::GObject,
2402    >,
2403}
2404
2405impl ::std::fmt::Debug for GtkBuildableIface {
2406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2407        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
2408            .field("g_iface", &self.g_iface)
2409            .field("set_name", &self.set_name)
2410            .field("get_name", &self.get_name)
2411            .field("add_child", &self.add_child)
2412            .field("set_buildable_property", &self.set_buildable_property)
2413            .field("construct_child", &self.construct_child)
2414            .field("custom_tag_start", &self.custom_tag_start)
2415            .field("custom_tag_end", &self.custom_tag_end)
2416            .field("custom_finished", &self.custom_finished)
2417            .field("parser_finished", &self.parser_finished)
2418            .field("get_internal_child", &self.get_internal_child)
2419            .finish()
2420    }
2421}
2422
2423#[derive(Copy, Clone)]
2424#[repr(C)]
2425pub struct GtkBuilderClass {
2426    pub parent_class: gobject::GObjectClass,
2427    pub get_type_from_name: Option<unsafe extern "C" fn(*mut GtkBuilder, *const c_char) -> GType>,
2428    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2429    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2430    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2431    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2432    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
2433    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
2434    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
2435    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
2436}
2437
2438impl ::std::fmt::Debug for GtkBuilderClass {
2439    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2440        f.debug_struct(&format!("GtkBuilderClass @ {self:p}"))
2441            .field("parent_class", &self.parent_class)
2442            .field("get_type_from_name", &self.get_type_from_name)
2443            .field("_gtk_reserved1", &self._gtk_reserved1)
2444            .field("_gtk_reserved2", &self._gtk_reserved2)
2445            .field("_gtk_reserved3", &self._gtk_reserved3)
2446            .field("_gtk_reserved4", &self._gtk_reserved4)
2447            .field("_gtk_reserved5", &self._gtk_reserved5)
2448            .field("_gtk_reserved6", &self._gtk_reserved6)
2449            .field("_gtk_reserved7", &self._gtk_reserved7)
2450            .field("_gtk_reserved8", &self._gtk_reserved8)
2451            .finish()
2452    }
2453}
2454
2455#[repr(C)]
2456pub struct _GtkBuilderPrivate {
2457    _data: [u8; 0],
2458    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2459}
2460
2461pub type GtkBuilderPrivate = *mut _GtkBuilderPrivate;
2462
2463#[derive(Copy, Clone)]
2464#[repr(C)]
2465pub struct GtkButtonAccessibleClass {
2466    pub parent_class: GtkContainerAccessibleClass,
2467}
2468
2469impl ::std::fmt::Debug for GtkButtonAccessibleClass {
2470    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2471        f.debug_struct(&format!("GtkButtonAccessibleClass @ {self:p}"))
2472            .field("parent_class", &self.parent_class)
2473            .finish()
2474    }
2475}
2476
2477#[repr(C)]
2478pub struct _GtkButtonAccessiblePrivate {
2479    _data: [u8; 0],
2480    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2481}
2482
2483pub type GtkButtonAccessiblePrivate = *mut _GtkButtonAccessiblePrivate;
2484
2485#[derive(Copy, Clone)]
2486#[repr(C)]
2487pub struct GtkButtonBoxClass {
2488    pub parent_class: GtkBoxClass,
2489    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2490    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2491    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2492    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2493}
2494
2495impl ::std::fmt::Debug for GtkButtonBoxClass {
2496    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2497        f.debug_struct(&format!("GtkButtonBoxClass @ {self:p}"))
2498            .field("parent_class", &self.parent_class)
2499            .field("_gtk_reserved1", &self._gtk_reserved1)
2500            .field("_gtk_reserved2", &self._gtk_reserved2)
2501            .field("_gtk_reserved3", &self._gtk_reserved3)
2502            .field("_gtk_reserved4", &self._gtk_reserved4)
2503            .finish()
2504    }
2505}
2506
2507#[repr(C)]
2508pub struct _GtkButtonBoxPrivate {
2509    _data: [u8; 0],
2510    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2511}
2512
2513pub type GtkButtonBoxPrivate = *mut _GtkButtonBoxPrivate;
2514
2515#[derive(Copy, Clone)]
2516#[repr(C)]
2517pub struct GtkButtonClass {
2518    pub parent_class: GtkBinClass,
2519    pub pressed: Option<unsafe extern "C" fn(*mut GtkButton)>,
2520    pub released: Option<unsafe extern "C" fn(*mut GtkButton)>,
2521    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2522    pub enter: Option<unsafe extern "C" fn(*mut GtkButton)>,
2523    pub leave: Option<unsafe extern "C" fn(*mut GtkButton)>,
2524    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2525    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2526    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2527    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2528    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2529}
2530
2531impl ::std::fmt::Debug for GtkButtonClass {
2532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2533        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2534            .field("parent_class", &self.parent_class)
2535            .field("pressed", &self.pressed)
2536            .field("released", &self.released)
2537            .field("clicked", &self.clicked)
2538            .field("enter", &self.enter)
2539            .field("leave", &self.leave)
2540            .field("activate", &self.activate)
2541            .field("_gtk_reserved1", &self._gtk_reserved1)
2542            .field("_gtk_reserved2", &self._gtk_reserved2)
2543            .field("_gtk_reserved3", &self._gtk_reserved3)
2544            .field("_gtk_reserved4", &self._gtk_reserved4)
2545            .finish()
2546    }
2547}
2548
2549#[repr(C)]
2550pub struct _GtkButtonPrivate {
2551    _data: [u8; 0],
2552    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2553}
2554
2555pub type GtkButtonPrivate = *mut _GtkButtonPrivate;
2556
2557#[derive(Copy, Clone)]
2558#[repr(C)]
2559pub struct GtkCalendarClass {
2560    pub parent_class: GtkWidgetClass,
2561    pub month_changed: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2562    pub day_selected: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2563    pub day_selected_double_click: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2564    pub prev_month: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2565    pub next_month: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2566    pub prev_year: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2567    pub next_year: Option<unsafe extern "C" fn(*mut GtkCalendar)>,
2568    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2569    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2570    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2571    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2572}
2573
2574impl ::std::fmt::Debug for GtkCalendarClass {
2575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2576        f.debug_struct(&format!("GtkCalendarClass @ {self:p}"))
2577            .field("parent_class", &self.parent_class)
2578            .field("month_changed", &self.month_changed)
2579            .field("day_selected", &self.day_selected)
2580            .field("day_selected_double_click", &self.day_selected_double_click)
2581            .field("prev_month", &self.prev_month)
2582            .field("next_month", &self.next_month)
2583            .field("prev_year", &self.prev_year)
2584            .field("next_year", &self.next_year)
2585            .field("_gtk_reserved1", &self._gtk_reserved1)
2586            .field("_gtk_reserved2", &self._gtk_reserved2)
2587            .field("_gtk_reserved3", &self._gtk_reserved3)
2588            .field("_gtk_reserved4", &self._gtk_reserved4)
2589            .finish()
2590    }
2591}
2592
2593#[repr(C)]
2594pub struct _GtkCalendarPrivate {
2595    _data: [u8; 0],
2596    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2597}
2598
2599pub type GtkCalendarPrivate = *mut _GtkCalendarPrivate;
2600
2601#[derive(Copy, Clone)]
2602#[repr(C)]
2603pub struct GtkCellAccessibleClass {
2604    pub parent_class: GtkAccessibleClass,
2605    pub update_cache: Option<unsafe extern "C" fn(*mut GtkCellAccessible, gboolean)>,
2606}
2607
2608impl ::std::fmt::Debug for GtkCellAccessibleClass {
2609    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2610        f.debug_struct(&format!("GtkCellAccessibleClass @ {self:p}"))
2611            .field("parent_class", &self.parent_class)
2612            .field("update_cache", &self.update_cache)
2613            .finish()
2614    }
2615}
2616
2617#[derive(Copy, Clone)]
2618#[repr(C)]
2619pub struct GtkCellAccessibleParentIface {
2620    pub parent: gobject::GTypeInterface,
2621    pub get_cell_extents: Option<
2622        unsafe extern "C" fn(
2623            *mut GtkCellAccessibleParent,
2624            *mut GtkCellAccessible,
2625            *mut c_int,
2626            *mut c_int,
2627            *mut c_int,
2628            *mut c_int,
2629            atk::AtkCoordType,
2630        ),
2631    >,
2632    pub get_cell_area: Option<
2633        unsafe extern "C" fn(
2634            *mut GtkCellAccessibleParent,
2635            *mut GtkCellAccessible,
2636            *mut gdk::GdkRectangle,
2637        ),
2638    >,
2639    pub grab_focus: Option<
2640        unsafe extern "C" fn(*mut GtkCellAccessibleParent, *mut GtkCellAccessible) -> gboolean,
2641    >,
2642    pub get_child_index:
2643        Option<unsafe extern "C" fn(*mut GtkCellAccessibleParent, *mut GtkCellAccessible) -> c_int>,
2644    pub get_renderer_state: Option<
2645        unsafe extern "C" fn(
2646            *mut GtkCellAccessibleParent,
2647            *mut GtkCellAccessible,
2648        ) -> GtkCellRendererState,
2649    >,
2650    pub expand_collapse:
2651        Option<unsafe extern "C" fn(*mut GtkCellAccessibleParent, *mut GtkCellAccessible)>,
2652    pub activate:
2653        Option<unsafe extern "C" fn(*mut GtkCellAccessibleParent, *mut GtkCellAccessible)>,
2654    pub edit: Option<unsafe extern "C" fn(*mut GtkCellAccessibleParent, *mut GtkCellAccessible)>,
2655    pub update_relationset: Option<
2656        unsafe extern "C" fn(
2657            *mut GtkCellAccessibleParent,
2658            *mut GtkCellAccessible,
2659            *mut atk::AtkRelationSet,
2660        ),
2661    >,
2662    pub get_cell_position: Option<
2663        unsafe extern "C" fn(
2664            *mut GtkCellAccessibleParent,
2665            *mut GtkCellAccessible,
2666            *mut c_int,
2667            *mut c_int,
2668        ),
2669    >,
2670    pub get_column_header_cells: Option<
2671        unsafe extern "C" fn(
2672            *mut GtkCellAccessibleParent,
2673            *mut GtkCellAccessible,
2674        ) -> *mut glib::GPtrArray,
2675    >,
2676    pub get_row_header_cells: Option<
2677        unsafe extern "C" fn(
2678            *mut GtkCellAccessibleParent,
2679            *mut GtkCellAccessible,
2680        ) -> *mut glib::GPtrArray,
2681    >,
2682}
2683
2684impl ::std::fmt::Debug for GtkCellAccessibleParentIface {
2685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2686        f.debug_struct(&format!("GtkCellAccessibleParentIface @ {self:p}"))
2687            .field("parent", &self.parent)
2688            .field("get_cell_extents", &self.get_cell_extents)
2689            .field("get_cell_area", &self.get_cell_area)
2690            .field("grab_focus", &self.grab_focus)
2691            .field("get_child_index", &self.get_child_index)
2692            .field("get_renderer_state", &self.get_renderer_state)
2693            .field("expand_collapse", &self.expand_collapse)
2694            .field("activate", &self.activate)
2695            .field("edit", &self.edit)
2696            .field("update_relationset", &self.update_relationset)
2697            .field("get_cell_position", &self.get_cell_position)
2698            .field("get_column_header_cells", &self.get_column_header_cells)
2699            .field("get_row_header_cells", &self.get_row_header_cells)
2700            .finish()
2701    }
2702}
2703
2704#[repr(C)]
2705pub struct _GtkCellAccessiblePrivate {
2706    _data: [u8; 0],
2707    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2708}
2709
2710pub type GtkCellAccessiblePrivate = *mut _GtkCellAccessiblePrivate;
2711
2712#[derive(Copy, Clone)]
2713#[repr(C)]
2714pub struct GtkCellAreaBoxClass {
2715    pub parent_class: GtkCellAreaClass,
2716    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2717    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2718    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2719    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2720}
2721
2722impl ::std::fmt::Debug for GtkCellAreaBoxClass {
2723    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2724        f.debug_struct(&format!("GtkCellAreaBoxClass @ {self:p}"))
2725            .field("_gtk_reserved1", &self._gtk_reserved1)
2726            .field("_gtk_reserved2", &self._gtk_reserved2)
2727            .field("_gtk_reserved3", &self._gtk_reserved3)
2728            .field("_gtk_reserved4", &self._gtk_reserved4)
2729            .finish()
2730    }
2731}
2732
2733#[repr(C)]
2734pub struct _GtkCellAreaBoxPrivate {
2735    _data: [u8; 0],
2736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2737}
2738
2739pub type GtkCellAreaBoxPrivate = *mut _GtkCellAreaBoxPrivate;
2740
2741#[derive(Copy, Clone)]
2742#[repr(C)]
2743pub struct GtkCellAreaClass {
2744    pub parent_class: gobject::GInitiallyUnownedClass,
2745    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2746    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2747    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2748    pub foreach_alloc: Option<
2749        unsafe extern "C" fn(
2750            *mut GtkCellArea,
2751            *mut GtkCellAreaContext,
2752            *mut GtkWidget,
2753            *const gdk::GdkRectangle,
2754            *const gdk::GdkRectangle,
2755            GtkCellAllocCallback,
2756            gpointer,
2757        ),
2758    >,
2759    pub event: Option<
2760        unsafe extern "C" fn(
2761            *mut GtkCellArea,
2762            *mut GtkCellAreaContext,
2763            *mut GtkWidget,
2764            *mut gdk::GdkEvent,
2765            *const gdk::GdkRectangle,
2766            GtkCellRendererState,
2767        ) -> c_int,
2768    >,
2769    pub render: Option<
2770        unsafe extern "C" fn(
2771            *mut GtkCellArea,
2772            *mut GtkCellAreaContext,
2773            *mut GtkWidget,
2774            *mut cairo::cairo_t,
2775            *const gdk::GdkRectangle,
2776            *const gdk::GdkRectangle,
2777            GtkCellRendererState,
2778            gboolean,
2779        ),
2780    >,
2781    pub apply_attributes: Option<
2782        unsafe extern "C" fn(
2783            *mut GtkCellArea,
2784            *mut GtkTreeModel,
2785            *mut GtkTreeIter,
2786            gboolean,
2787            gboolean,
2788        ),
2789    >,
2790    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2791    pub copy_context: Option<
2792        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2793    >,
2794    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2795    pub get_preferred_width: Option<
2796        unsafe extern "C" fn(
2797            *mut GtkCellArea,
2798            *mut GtkCellAreaContext,
2799            *mut GtkWidget,
2800            *mut c_int,
2801            *mut c_int,
2802        ),
2803    >,
2804    pub get_preferred_height_for_width: Option<
2805        unsafe extern "C" fn(
2806            *mut GtkCellArea,
2807            *mut GtkCellAreaContext,
2808            *mut GtkWidget,
2809            c_int,
2810            *mut c_int,
2811            *mut c_int,
2812        ),
2813    >,
2814    pub get_preferred_height: Option<
2815        unsafe extern "C" fn(
2816            *mut GtkCellArea,
2817            *mut GtkCellAreaContext,
2818            *mut GtkWidget,
2819            *mut c_int,
2820            *mut c_int,
2821        ),
2822    >,
2823    pub get_preferred_width_for_height: Option<
2824        unsafe extern "C" fn(
2825            *mut GtkCellArea,
2826            *mut GtkCellAreaContext,
2827            *mut GtkWidget,
2828            c_int,
2829            *mut c_int,
2830            *mut c_int,
2831        ),
2832    >,
2833    pub set_cell_property: Option<
2834        unsafe extern "C" fn(
2835            *mut GtkCellArea,
2836            *mut GtkCellRenderer,
2837            c_uint,
2838            *mut gobject::GValue,
2839            *mut gobject::GParamSpec,
2840        ),
2841    >,
2842    pub get_cell_property: Option<
2843        unsafe extern "C" fn(
2844            *mut GtkCellArea,
2845            *mut GtkCellRenderer,
2846            c_uint,
2847            *mut gobject::GValue,
2848            *mut gobject::GParamSpec,
2849        ),
2850    >,
2851    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2852    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2853    pub activate: Option<
2854        unsafe extern "C" fn(
2855            *mut GtkCellArea,
2856            *mut GtkCellAreaContext,
2857            *mut GtkWidget,
2858            *const gdk::GdkRectangle,
2859            GtkCellRendererState,
2860            gboolean,
2861        ) -> gboolean,
2862    >,
2863    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2864    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2865    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2866    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2867    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
2868    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
2869    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
2870    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
2871}
2872
2873impl ::std::fmt::Debug for GtkCellAreaClass {
2874    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2875        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2876            .field("add", &self.add)
2877            .field("remove", &self.remove)
2878            .field("foreach", &self.foreach)
2879            .field("foreach_alloc", &self.foreach_alloc)
2880            .field("event", &self.event)
2881            .field("render", &self.render)
2882            .field("apply_attributes", &self.apply_attributes)
2883            .field("create_context", &self.create_context)
2884            .field("copy_context", &self.copy_context)
2885            .field("get_request_mode", &self.get_request_mode)
2886            .field("get_preferred_width", &self.get_preferred_width)
2887            .field(
2888                "get_preferred_height_for_width",
2889                &self.get_preferred_height_for_width,
2890            )
2891            .field("get_preferred_height", &self.get_preferred_height)
2892            .field(
2893                "get_preferred_width_for_height",
2894                &self.get_preferred_width_for_height,
2895            )
2896            .field("set_cell_property", &self.set_cell_property)
2897            .field("get_cell_property", &self.get_cell_property)
2898            .field("focus", &self.focus)
2899            .field("is_activatable", &self.is_activatable)
2900            .field("activate", &self.activate)
2901            .field("_gtk_reserved1", &self._gtk_reserved1)
2902            .field("_gtk_reserved2", &self._gtk_reserved2)
2903            .field("_gtk_reserved3", &self._gtk_reserved3)
2904            .field("_gtk_reserved4", &self._gtk_reserved4)
2905            .field("_gtk_reserved5", &self._gtk_reserved5)
2906            .field("_gtk_reserved6", &self._gtk_reserved6)
2907            .field("_gtk_reserved7", &self._gtk_reserved7)
2908            .field("_gtk_reserved8", &self._gtk_reserved8)
2909            .finish()
2910    }
2911}
2912
2913#[derive(Copy, Clone)]
2914#[repr(C)]
2915pub struct GtkCellAreaContextClass {
2916    pub parent_class: gobject::GObjectClass,
2917    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2918    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2919    pub get_preferred_height_for_width:
2920        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2921    pub get_preferred_width_for_height:
2922        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2923    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
2924    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
2925    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
2926    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
2927    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
2928    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
2929}
2930
2931impl ::std::fmt::Debug for GtkCellAreaContextClass {
2932    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2933        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2934            .field("allocate", &self.allocate)
2935            .field("reset", &self.reset)
2936            .field(
2937                "get_preferred_height_for_width",
2938                &self.get_preferred_height_for_width,
2939            )
2940            .field(
2941                "get_preferred_width_for_height",
2942                &self.get_preferred_width_for_height,
2943            )
2944            .field("_gtk_reserved1", &self._gtk_reserved1)
2945            .field("_gtk_reserved2", &self._gtk_reserved2)
2946            .field("_gtk_reserved3", &self._gtk_reserved3)
2947            .field("_gtk_reserved4", &self._gtk_reserved4)
2948            .field("_gtk_reserved5", &self._gtk_reserved5)
2949            .field("_gtk_reserved6", &self._gtk_reserved6)
2950            .finish()
2951    }
2952}
2953
2954#[repr(C)]
2955pub struct _GtkCellAreaContextPrivate {
2956    _data: [u8; 0],
2957    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2958}
2959
2960pub type GtkCellAreaContextPrivate = *mut _GtkCellAreaContextPrivate;
2961
2962#[repr(C)]
2963pub struct _GtkCellAreaPrivate {
2964    _data: [u8; 0],
2965    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2966}
2967
2968pub type GtkCellAreaPrivate = *mut _GtkCellAreaPrivate;
2969
2970#[derive(Copy, Clone)]
2971#[repr(C)]
2972pub struct GtkCellEditableIface {
2973    pub g_iface: gobject::GTypeInterface,
2974    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2975    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2976    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2977}
2978
2979impl ::std::fmt::Debug for GtkCellEditableIface {
2980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2981        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2982            .field("editing_done", &self.editing_done)
2983            .field("remove_widget", &self.remove_widget)
2984            .field("start_editing", &self.start_editing)
2985            .finish()
2986    }
2987}
2988
2989#[derive(Copy, Clone)]
2990#[repr(C)]
2991pub struct GtkCellLayoutIface {
2992    pub g_iface: gobject::GTypeInterface,
2993    pub pack_start:
2994        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2995    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2996    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2997    pub add_attribute: Option<
2998        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2999    >,
3000    pub set_cell_data_func: Option<
3001        unsafe extern "C" fn(
3002            *mut GtkCellLayout,
3003            *mut GtkCellRenderer,
3004            GtkCellLayoutDataFunc,
3005            gpointer,
3006            glib::GDestroyNotify,
3007        ),
3008    >,
3009    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
3010    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
3011    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
3012    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
3013}
3014
3015impl ::std::fmt::Debug for GtkCellLayoutIface {
3016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3017        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
3018            .field("pack_start", &self.pack_start)
3019            .field("pack_end", &self.pack_end)
3020            .field("clear", &self.clear)
3021            .field("add_attribute", &self.add_attribute)
3022            .field("set_cell_data_func", &self.set_cell_data_func)
3023            .field("clear_attributes", &self.clear_attributes)
3024            .field("reorder", &self.reorder)
3025            .field("get_cells", &self.get_cells)
3026            .field("get_area", &self.get_area)
3027            .finish()
3028    }
3029}
3030
3031#[derive(Copy, Clone)]
3032#[repr(C)]
3033pub struct GtkCellRendererAccelClass {
3034    pub parent_class: GtkCellRendererTextClass,
3035    pub accel_edited: Option<
3036        unsafe extern "C" fn(
3037            *mut GtkCellRendererAccel,
3038            *const c_char,
3039            c_uint,
3040            gdk::GdkModifierType,
3041            c_uint,
3042        ),
3043    >,
3044    pub accel_cleared: Option<unsafe extern "C" fn(*mut GtkCellRendererAccel, *const c_char)>,
3045    pub _gtk_reserved0: Option<unsafe extern "C" fn()>,
3046    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3047    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3048    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3049    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3050}
3051
3052impl ::std::fmt::Debug for GtkCellRendererAccelClass {
3053    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3054        f.debug_struct(&format!("GtkCellRendererAccelClass @ {self:p}"))
3055            .field("parent_class", &self.parent_class)
3056            .field("accel_edited", &self.accel_edited)
3057            .field("accel_cleared", &self.accel_cleared)
3058            .field("_gtk_reserved0", &self._gtk_reserved0)
3059            .field("_gtk_reserved1", &self._gtk_reserved1)
3060            .field("_gtk_reserved2", &self._gtk_reserved2)
3061            .field("_gtk_reserved3", &self._gtk_reserved3)
3062            .field("_gtk_reserved4", &self._gtk_reserved4)
3063            .finish()
3064    }
3065}
3066
3067#[repr(C)]
3068pub struct _GtkCellRendererAccelPrivate {
3069    _data: [u8; 0],
3070    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3071}
3072
3073pub type GtkCellRendererAccelPrivate = *mut _GtkCellRendererAccelPrivate;
3074
3075#[derive(Copy, Clone)]
3076#[repr(C)]
3077pub struct GtkCellRendererClass {
3078    pub parent_class: gobject::GInitiallyUnownedClass,
3079    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
3080    pub get_preferred_width:
3081        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
3082    pub get_preferred_height_for_width: Option<
3083        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
3084    >,
3085    pub get_preferred_height:
3086        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
3087    pub get_preferred_width_for_height: Option<
3088        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
3089    >,
3090    pub get_aligned_area: Option<
3091        unsafe extern "C" fn(
3092            *mut GtkCellRenderer,
3093            *mut GtkWidget,
3094            GtkCellRendererState,
3095            *const gdk::GdkRectangle,
3096            *mut gdk::GdkRectangle,
3097        ),
3098    >,
3099    pub get_size: Option<
3100        unsafe extern "C" fn(
3101            *mut GtkCellRenderer,
3102            *mut GtkWidget,
3103            *const gdk::GdkRectangle,
3104            *mut c_int,
3105            *mut c_int,
3106            *mut c_int,
3107            *mut c_int,
3108        ),
3109    >,
3110    pub render: Option<
3111        unsafe extern "C" fn(
3112            *mut GtkCellRenderer,
3113            *mut cairo::cairo_t,
3114            *mut GtkWidget,
3115            *const gdk::GdkRectangle,
3116            *const gdk::GdkRectangle,
3117            GtkCellRendererState,
3118        ),
3119    >,
3120    pub activate: Option<
3121        unsafe extern "C" fn(
3122            *mut GtkCellRenderer,
3123            *mut gdk::GdkEvent,
3124            *mut GtkWidget,
3125            *const c_char,
3126            *const gdk::GdkRectangle,
3127            *const gdk::GdkRectangle,
3128            GtkCellRendererState,
3129        ) -> gboolean,
3130    >,
3131    pub start_editing: Option<
3132        unsafe extern "C" fn(
3133            *mut GtkCellRenderer,
3134            *mut gdk::GdkEvent,
3135            *mut GtkWidget,
3136            *const c_char,
3137            *const gdk::GdkRectangle,
3138            *const gdk::GdkRectangle,
3139            GtkCellRendererState,
3140        ) -> *mut GtkCellEditable,
3141    >,
3142    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
3143    pub editing_started:
3144        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
3145    pub priv_: *mut GtkCellRendererClassPrivate,
3146    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3147    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3148    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3149}
3150
3151impl ::std::fmt::Debug for GtkCellRendererClass {
3152    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3153        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
3154            .field("get_request_mode", &self.get_request_mode)
3155            .field("get_preferred_width", &self.get_preferred_width)
3156            .field(
3157                "get_preferred_height_for_width",
3158                &self.get_preferred_height_for_width,
3159            )
3160            .field("get_preferred_height", &self.get_preferred_height)
3161            .field(
3162                "get_preferred_width_for_height",
3163                &self.get_preferred_width_for_height,
3164            )
3165            .field("get_aligned_area", &self.get_aligned_area)
3166            .field("get_size", &self.get_size)
3167            .field("render", &self.render)
3168            .field("activate", &self.activate)
3169            .field("start_editing", &self.start_editing)
3170            .field("editing_canceled", &self.editing_canceled)
3171            .field("editing_started", &self.editing_started)
3172            .field("_gtk_reserved2", &self._gtk_reserved2)
3173            .field("_gtk_reserved3", &self._gtk_reserved3)
3174            .field("_gtk_reserved4", &self._gtk_reserved4)
3175            .finish()
3176    }
3177}
3178
3179#[repr(C)]
3180pub struct _GtkCellRendererClassPrivate {
3181    _data: [u8; 0],
3182    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3183}
3184
3185pub type GtkCellRendererClassPrivate = *mut _GtkCellRendererClassPrivate;
3186
3187#[derive(Copy, Clone)]
3188#[repr(C)]
3189pub struct GtkCellRendererComboClass {
3190    pub parent: GtkCellRendererTextClass,
3191    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3192    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3193    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3194    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3195}
3196
3197impl ::std::fmt::Debug for GtkCellRendererComboClass {
3198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3199        f.debug_struct(&format!("GtkCellRendererComboClass @ {self:p}"))
3200            .field("parent", &self.parent)
3201            .field("_gtk_reserved1", &self._gtk_reserved1)
3202            .field("_gtk_reserved2", &self._gtk_reserved2)
3203            .field("_gtk_reserved3", &self._gtk_reserved3)
3204            .field("_gtk_reserved4", &self._gtk_reserved4)
3205            .finish()
3206    }
3207}
3208
3209#[repr(C)]
3210pub struct _GtkCellRendererComboPrivate {
3211    _data: [u8; 0],
3212    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3213}
3214
3215pub type GtkCellRendererComboPrivate = *mut _GtkCellRendererComboPrivate;
3216
3217#[derive(Copy, Clone)]
3218#[repr(C)]
3219pub struct GtkCellRendererPixbufClass {
3220    pub parent_class: GtkCellRendererClass,
3221    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3222    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3223    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3224    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3225}
3226
3227impl ::std::fmt::Debug for GtkCellRendererPixbufClass {
3228    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3229        f.debug_struct(&format!("GtkCellRendererPixbufClass @ {self:p}"))
3230            .field("parent_class", &self.parent_class)
3231            .field("_gtk_reserved1", &self._gtk_reserved1)
3232            .field("_gtk_reserved2", &self._gtk_reserved2)
3233            .field("_gtk_reserved3", &self._gtk_reserved3)
3234            .field("_gtk_reserved4", &self._gtk_reserved4)
3235            .finish()
3236    }
3237}
3238
3239#[repr(C)]
3240pub struct _GtkCellRendererPixbufPrivate {
3241    _data: [u8; 0],
3242    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3243}
3244
3245pub type GtkCellRendererPixbufPrivate = *mut _GtkCellRendererPixbufPrivate;
3246
3247#[repr(C)]
3248pub struct _GtkCellRendererPrivate {
3249    _data: [u8; 0],
3250    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3251}
3252
3253pub type GtkCellRendererPrivate = *mut _GtkCellRendererPrivate;
3254
3255#[derive(Copy, Clone)]
3256#[repr(C)]
3257pub struct GtkCellRendererProgressClass {
3258    pub parent_class: GtkCellRendererClass,
3259    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3260    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3261    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3262    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3263}
3264
3265impl ::std::fmt::Debug for GtkCellRendererProgressClass {
3266    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3267        f.debug_struct(&format!("GtkCellRendererProgressClass @ {self:p}"))
3268            .field("parent_class", &self.parent_class)
3269            .field("_gtk_reserved1", &self._gtk_reserved1)
3270            .field("_gtk_reserved2", &self._gtk_reserved2)
3271            .field("_gtk_reserved3", &self._gtk_reserved3)
3272            .field("_gtk_reserved4", &self._gtk_reserved4)
3273            .finish()
3274    }
3275}
3276
3277#[repr(C)]
3278pub struct _GtkCellRendererProgressPrivate {
3279    _data: [u8; 0],
3280    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3281}
3282
3283pub type GtkCellRendererProgressPrivate = *mut _GtkCellRendererProgressPrivate;
3284
3285#[derive(Copy, Clone)]
3286#[repr(C)]
3287pub struct GtkCellRendererSpinClass {
3288    pub parent: GtkCellRendererTextClass,
3289    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3290    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3291    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3292    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3293}
3294
3295impl ::std::fmt::Debug for GtkCellRendererSpinClass {
3296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3297        f.debug_struct(&format!("GtkCellRendererSpinClass @ {self:p}"))
3298            .field("parent", &self.parent)
3299            .field("_gtk_reserved1", &self._gtk_reserved1)
3300            .field("_gtk_reserved2", &self._gtk_reserved2)
3301            .field("_gtk_reserved3", &self._gtk_reserved3)
3302            .field("_gtk_reserved4", &self._gtk_reserved4)
3303            .finish()
3304    }
3305}
3306
3307#[repr(C)]
3308pub struct _GtkCellRendererSpinPrivate {
3309    _data: [u8; 0],
3310    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3311}
3312
3313pub type GtkCellRendererSpinPrivate = *mut _GtkCellRendererSpinPrivate;
3314
3315#[derive(Copy, Clone)]
3316#[repr(C)]
3317pub struct GtkCellRendererSpinnerClass {
3318    pub parent_class: GtkCellRendererClass,
3319    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3320    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3321    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3322    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3323}
3324
3325impl ::std::fmt::Debug for GtkCellRendererSpinnerClass {
3326    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3327        f.debug_struct(&format!("GtkCellRendererSpinnerClass @ {self:p}"))
3328            .field("parent_class", &self.parent_class)
3329            .field("_gtk_reserved1", &self._gtk_reserved1)
3330            .field("_gtk_reserved2", &self._gtk_reserved2)
3331            .field("_gtk_reserved3", &self._gtk_reserved3)
3332            .field("_gtk_reserved4", &self._gtk_reserved4)
3333            .finish()
3334    }
3335}
3336
3337#[repr(C)]
3338pub struct _GtkCellRendererSpinnerPrivate {
3339    _data: [u8; 0],
3340    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3341}
3342
3343pub type GtkCellRendererSpinnerPrivate = *mut _GtkCellRendererSpinnerPrivate;
3344
3345#[derive(Copy, Clone)]
3346#[repr(C)]
3347pub struct GtkCellRendererTextClass {
3348    pub parent_class: GtkCellRendererClass,
3349    pub edited:
3350        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
3351    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3352    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3353    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3354    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3355}
3356
3357impl ::std::fmt::Debug for GtkCellRendererTextClass {
3358    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3359        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
3360            .field("parent_class", &self.parent_class)
3361            .field("edited", &self.edited)
3362            .field("_gtk_reserved1", &self._gtk_reserved1)
3363            .field("_gtk_reserved2", &self._gtk_reserved2)
3364            .field("_gtk_reserved3", &self._gtk_reserved3)
3365            .field("_gtk_reserved4", &self._gtk_reserved4)
3366            .finish()
3367    }
3368}
3369
3370#[repr(C)]
3371pub struct _GtkCellRendererTextPrivate {
3372    _data: [u8; 0],
3373    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3374}
3375
3376pub type GtkCellRendererTextPrivate = *mut _GtkCellRendererTextPrivate;
3377
3378#[derive(Copy, Clone)]
3379#[repr(C)]
3380pub struct GtkCellRendererToggleClass {
3381    pub parent_class: GtkCellRendererClass,
3382    pub toggled: Option<unsafe extern "C" fn(*mut GtkCellRendererToggle, *const c_char)>,
3383    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3384    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3385    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3386    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3387}
3388
3389impl ::std::fmt::Debug for GtkCellRendererToggleClass {
3390    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3391        f.debug_struct(&format!("GtkCellRendererToggleClass @ {self:p}"))
3392            .field("parent_class", &self.parent_class)
3393            .field("toggled", &self.toggled)
3394            .field("_gtk_reserved1", &self._gtk_reserved1)
3395            .field("_gtk_reserved2", &self._gtk_reserved2)
3396            .field("_gtk_reserved3", &self._gtk_reserved3)
3397            .field("_gtk_reserved4", &self._gtk_reserved4)
3398            .finish()
3399    }
3400}
3401
3402#[repr(C)]
3403pub struct _GtkCellRendererTogglePrivate {
3404    _data: [u8; 0],
3405    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3406}
3407
3408pub type GtkCellRendererTogglePrivate = *mut _GtkCellRendererTogglePrivate;
3409
3410#[derive(Copy, Clone)]
3411#[repr(C)]
3412pub struct GtkCellViewClass {
3413    pub parent_class: GtkWidgetClass,
3414    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3415    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3416    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3417    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3418}
3419
3420impl ::std::fmt::Debug for GtkCellViewClass {
3421    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3422        f.debug_struct(&format!("GtkCellViewClass @ {self:p}"))
3423            .field("parent_class", &self.parent_class)
3424            .field("_gtk_reserved1", &self._gtk_reserved1)
3425            .field("_gtk_reserved2", &self._gtk_reserved2)
3426            .field("_gtk_reserved3", &self._gtk_reserved3)
3427            .field("_gtk_reserved4", &self._gtk_reserved4)
3428            .finish()
3429    }
3430}
3431
3432#[repr(C)]
3433pub struct _GtkCellViewPrivate {
3434    _data: [u8; 0],
3435    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3436}
3437
3438pub type GtkCellViewPrivate = *mut _GtkCellViewPrivate;
3439
3440#[derive(Copy, Clone)]
3441#[repr(C)]
3442pub struct GtkCheckButtonClass {
3443    pub parent_class: GtkToggleButtonClass,
3444    pub draw_indicator: Option<unsafe extern "C" fn(*mut GtkCheckButton, *mut cairo::cairo_t)>,
3445    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3446    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3447    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3448    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3449}
3450
3451impl ::std::fmt::Debug for GtkCheckButtonClass {
3452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3453        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
3454            .field("parent_class", &self.parent_class)
3455            .field("draw_indicator", &self.draw_indicator)
3456            .field("_gtk_reserved1", &self._gtk_reserved1)
3457            .field("_gtk_reserved2", &self._gtk_reserved2)
3458            .field("_gtk_reserved3", &self._gtk_reserved3)
3459            .field("_gtk_reserved4", &self._gtk_reserved4)
3460            .finish()
3461    }
3462}
3463
3464#[derive(Copy, Clone)]
3465#[repr(C)]
3466pub struct GtkCheckMenuItemAccessibleClass {
3467    pub parent_class: GtkMenuItemAccessibleClass,
3468}
3469
3470impl ::std::fmt::Debug for GtkCheckMenuItemAccessibleClass {
3471    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3472        f.debug_struct(&format!("GtkCheckMenuItemAccessibleClass @ {self:p}"))
3473            .field("parent_class", &self.parent_class)
3474            .finish()
3475    }
3476}
3477
3478#[repr(C)]
3479pub struct _GtkCheckMenuItemAccessiblePrivate {
3480    _data: [u8; 0],
3481    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3482}
3483
3484pub type GtkCheckMenuItemAccessiblePrivate = *mut _GtkCheckMenuItemAccessiblePrivate;
3485
3486#[derive(Copy, Clone)]
3487#[repr(C)]
3488pub struct GtkCheckMenuItemClass {
3489    pub parent_class: GtkMenuItemClass,
3490    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckMenuItem)>,
3491    pub draw_indicator: Option<unsafe extern "C" fn(*mut GtkCheckMenuItem, *mut cairo::cairo_t)>,
3492    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3493    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3494    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3495    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3496}
3497
3498impl ::std::fmt::Debug for GtkCheckMenuItemClass {
3499    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3500        f.debug_struct(&format!("GtkCheckMenuItemClass @ {self:p}"))
3501            .field("parent_class", &self.parent_class)
3502            .field("toggled", &self.toggled)
3503            .field("draw_indicator", &self.draw_indicator)
3504            .field("_gtk_reserved1", &self._gtk_reserved1)
3505            .field("_gtk_reserved2", &self._gtk_reserved2)
3506            .field("_gtk_reserved3", &self._gtk_reserved3)
3507            .field("_gtk_reserved4", &self._gtk_reserved4)
3508            .finish()
3509    }
3510}
3511
3512#[repr(C)]
3513pub struct _GtkCheckMenuItemPrivate {
3514    _data: [u8; 0],
3515    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3516}
3517
3518pub type GtkCheckMenuItemPrivate = *mut _GtkCheckMenuItemPrivate;
3519
3520#[derive(Copy, Clone)]
3521#[repr(C)]
3522pub struct GtkColorButtonClass {
3523    pub parent_class: GtkButtonClass,
3524    pub color_set: Option<unsafe extern "C" fn(*mut GtkColorButton)>,
3525    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3526    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3527    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3528    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3529}
3530
3531impl ::std::fmt::Debug for GtkColorButtonClass {
3532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3533        f.debug_struct(&format!("GtkColorButtonClass @ {self:p}"))
3534            .field("parent_class", &self.parent_class)
3535            .field("color_set", &self.color_set)
3536            .field("_gtk_reserved1", &self._gtk_reserved1)
3537            .field("_gtk_reserved2", &self._gtk_reserved2)
3538            .field("_gtk_reserved3", &self._gtk_reserved3)
3539            .field("_gtk_reserved4", &self._gtk_reserved4)
3540            .finish()
3541    }
3542}
3543
3544#[repr(C)]
3545pub struct _GtkColorButtonPrivate {
3546    _data: [u8; 0],
3547    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3548}
3549
3550pub type GtkColorButtonPrivate = *mut _GtkColorButtonPrivate;
3551
3552#[derive(Copy, Clone)]
3553#[repr(C)]
3554pub struct GtkColorChooserDialogClass {
3555    pub parent_class: GtkDialogClass,
3556    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3557    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3558    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3559    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3560}
3561
3562impl ::std::fmt::Debug for GtkColorChooserDialogClass {
3563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3564        f.debug_struct(&format!("GtkColorChooserDialogClass @ {self:p}"))
3565            .field("parent_class", &self.parent_class)
3566            .field("_gtk_reserved1", &self._gtk_reserved1)
3567            .field("_gtk_reserved2", &self._gtk_reserved2)
3568            .field("_gtk_reserved3", &self._gtk_reserved3)
3569            .field("_gtk_reserved4", &self._gtk_reserved4)
3570            .finish()
3571    }
3572}
3573
3574#[repr(C)]
3575pub struct _GtkColorChooserDialogPrivate {
3576    _data: [u8; 0],
3577    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3578}
3579
3580pub type GtkColorChooserDialogPrivate = *mut _GtkColorChooserDialogPrivate;
3581
3582#[derive(Copy, Clone)]
3583#[repr(C)]
3584pub struct GtkColorChooserInterface {
3585    pub base_interface: gobject::GTypeInterface,
3586    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
3587    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
3588    pub add_palette: Option<
3589        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
3590    >,
3591    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
3592    pub padding: [gpointer; 12],
3593}
3594
3595impl ::std::fmt::Debug for GtkColorChooserInterface {
3596    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3597        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
3598            .field("base_interface", &self.base_interface)
3599            .field("get_rgba", &self.get_rgba)
3600            .field("set_rgba", &self.set_rgba)
3601            .field("add_palette", &self.add_palette)
3602            .field("color_activated", &self.color_activated)
3603            .field("padding", &self.padding)
3604            .finish()
3605    }
3606}
3607
3608#[derive(Copy, Clone)]
3609#[repr(C)]
3610pub struct GtkColorChooserWidgetClass {
3611    pub parent_class: GtkBoxClass,
3612    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3613    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3614    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3615    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3616    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3617    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3618    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3619    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3620}
3621
3622impl ::std::fmt::Debug for GtkColorChooserWidgetClass {
3623    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3624        f.debug_struct(&format!("GtkColorChooserWidgetClass @ {self:p}"))
3625            .field("parent_class", &self.parent_class)
3626            .field("_gtk_reserved1", &self._gtk_reserved1)
3627            .field("_gtk_reserved2", &self._gtk_reserved2)
3628            .field("_gtk_reserved3", &self._gtk_reserved3)
3629            .field("_gtk_reserved4", &self._gtk_reserved4)
3630            .field("_gtk_reserved5", &self._gtk_reserved5)
3631            .field("_gtk_reserved6", &self._gtk_reserved6)
3632            .field("_gtk_reserved7", &self._gtk_reserved7)
3633            .field("_gtk_reserved8", &self._gtk_reserved8)
3634            .finish()
3635    }
3636}
3637
3638#[repr(C)]
3639pub struct _GtkColorChooserWidgetPrivate {
3640    _data: [u8; 0],
3641    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3642}
3643
3644pub type GtkColorChooserWidgetPrivate = *mut _GtkColorChooserWidgetPrivate;
3645
3646#[derive(Copy, Clone)]
3647#[repr(C)]
3648pub struct GtkColorSelectionClass {
3649    pub parent_class: GtkBoxClass,
3650    pub color_changed: Option<unsafe extern "C" fn(*mut GtkColorSelection)>,
3651    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3652    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3653    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3654    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3655}
3656
3657impl ::std::fmt::Debug for GtkColorSelectionClass {
3658    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3659        f.debug_struct(&format!("GtkColorSelectionClass @ {self:p}"))
3660            .field("parent_class", &self.parent_class)
3661            .field("color_changed", &self.color_changed)
3662            .field("_gtk_reserved1", &self._gtk_reserved1)
3663            .field("_gtk_reserved2", &self._gtk_reserved2)
3664            .field("_gtk_reserved3", &self._gtk_reserved3)
3665            .field("_gtk_reserved4", &self._gtk_reserved4)
3666            .finish()
3667    }
3668}
3669
3670#[derive(Copy, Clone)]
3671#[repr(C)]
3672pub struct GtkColorSelectionDialogClass {
3673    pub parent_class: GtkDialogClass,
3674    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3675    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3676    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3677    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3678}
3679
3680impl ::std::fmt::Debug for GtkColorSelectionDialogClass {
3681    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3682        f.debug_struct(&format!("GtkColorSelectionDialogClass @ {self:p}"))
3683            .field("parent_class", &self.parent_class)
3684            .field("_gtk_reserved1", &self._gtk_reserved1)
3685            .field("_gtk_reserved2", &self._gtk_reserved2)
3686            .field("_gtk_reserved3", &self._gtk_reserved3)
3687            .field("_gtk_reserved4", &self._gtk_reserved4)
3688            .finish()
3689    }
3690}
3691
3692#[repr(C)]
3693pub struct _GtkColorSelectionDialogPrivate {
3694    _data: [u8; 0],
3695    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3696}
3697
3698pub type GtkColorSelectionDialogPrivate = *mut _GtkColorSelectionDialogPrivate;
3699
3700#[repr(C)]
3701pub struct _GtkColorSelectionPrivate {
3702    _data: [u8; 0],
3703    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3704}
3705
3706pub type GtkColorSelectionPrivate = *mut _GtkColorSelectionPrivate;
3707
3708#[derive(Copy, Clone)]
3709#[repr(C)]
3710pub struct GtkComboBoxAccessibleClass {
3711    pub parent_class: GtkContainerAccessibleClass,
3712}
3713
3714impl ::std::fmt::Debug for GtkComboBoxAccessibleClass {
3715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3716        f.debug_struct(&format!("GtkComboBoxAccessibleClass @ {self:p}"))
3717            .field("parent_class", &self.parent_class)
3718            .finish()
3719    }
3720}
3721
3722#[repr(C)]
3723pub struct _GtkComboBoxAccessiblePrivate {
3724    _data: [u8; 0],
3725    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3726}
3727
3728pub type GtkComboBoxAccessiblePrivate = *mut _GtkComboBoxAccessiblePrivate;
3729
3730#[derive(Copy, Clone)]
3731#[repr(C)]
3732pub struct GtkComboBoxClass {
3733    pub parent_class: GtkBinClass,
3734    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
3735    pub format_entry_text:
3736        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
3737    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3738    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3739    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3740}
3741
3742impl ::std::fmt::Debug for GtkComboBoxClass {
3743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3744        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
3745            .field("parent_class", &self.parent_class)
3746            .field("changed", &self.changed)
3747            .field("format_entry_text", &self.format_entry_text)
3748            .field("_gtk_reserved1", &self._gtk_reserved1)
3749            .field("_gtk_reserved2", &self._gtk_reserved2)
3750            .field("_gtk_reserved3", &self._gtk_reserved3)
3751            .finish()
3752    }
3753}
3754
3755#[repr(C)]
3756pub struct _GtkComboBoxPrivate {
3757    _data: [u8; 0],
3758    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3759}
3760
3761pub type GtkComboBoxPrivate = *mut _GtkComboBoxPrivate;
3762
3763#[derive(Copy, Clone)]
3764#[repr(C)]
3765pub struct GtkComboBoxTextClass {
3766    pub parent_class: GtkComboBoxClass,
3767    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3768    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3769    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3770    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3771}
3772
3773impl ::std::fmt::Debug for GtkComboBoxTextClass {
3774    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3775        f.debug_struct(&format!("GtkComboBoxTextClass @ {self:p}"))
3776            .field("parent_class", &self.parent_class)
3777            .field("_gtk_reserved1", &self._gtk_reserved1)
3778            .field("_gtk_reserved2", &self._gtk_reserved2)
3779            .field("_gtk_reserved3", &self._gtk_reserved3)
3780            .field("_gtk_reserved4", &self._gtk_reserved4)
3781            .finish()
3782    }
3783}
3784
3785#[repr(C)]
3786pub struct _GtkComboBoxTextPrivate {
3787    _data: [u8; 0],
3788    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3789}
3790
3791pub type GtkComboBoxTextPrivate = *mut _GtkComboBoxTextPrivate;
3792
3793#[derive(Copy, Clone)]
3794#[repr(C)]
3795pub struct GtkContainerAccessibleClass {
3796    pub parent_class: GtkWidgetAccessibleClass,
3797    pub add_gtk: Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget, gpointer) -> c_int>,
3798    pub remove_gtk:
3799        Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget, gpointer) -> c_int>,
3800}
3801
3802impl ::std::fmt::Debug for GtkContainerAccessibleClass {
3803    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3804        f.debug_struct(&format!("GtkContainerAccessibleClass @ {self:p}"))
3805            .field("parent_class", &self.parent_class)
3806            .field("add_gtk", &self.add_gtk)
3807            .field("remove_gtk", &self.remove_gtk)
3808            .finish()
3809    }
3810}
3811
3812#[repr(C)]
3813pub struct _GtkContainerAccessiblePrivate {
3814    _data: [u8; 0],
3815    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3816}
3817
3818pub type GtkContainerAccessiblePrivate = *mut _GtkContainerAccessiblePrivate;
3819
3820#[derive(Copy, Clone)]
3821#[repr(C)]
3822pub struct GtkContainerCellAccessibleClass {
3823    pub parent_class: GtkCellAccessibleClass,
3824}
3825
3826impl ::std::fmt::Debug for GtkContainerCellAccessibleClass {
3827    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3828        f.debug_struct(&format!("GtkContainerCellAccessibleClass @ {self:p}"))
3829            .field("parent_class", &self.parent_class)
3830            .finish()
3831    }
3832}
3833
3834#[repr(C)]
3835pub struct _GtkContainerCellAccessiblePrivate {
3836    _data: [u8; 0],
3837    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3838}
3839
3840pub type GtkContainerCellAccessiblePrivate = *mut _GtkContainerCellAccessiblePrivate;
3841
3842#[derive(Copy, Clone)]
3843#[repr(C)]
3844pub struct GtkContainerClass {
3845    pub parent_class: GtkWidgetClass,
3846    pub add: Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget)>,
3847    pub remove: Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget)>,
3848    pub check_resize: Option<unsafe extern "C" fn(*mut GtkContainer)>,
3849    pub forall: Option<unsafe extern "C" fn(*mut GtkContainer, gboolean, GtkCallback, gpointer)>,
3850    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget)>,
3851    pub child_type: Option<unsafe extern "C" fn(*mut GtkContainer) -> GType>,
3852    pub composite_name:
3853        Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget) -> *mut c_char>,
3854    pub set_child_property: Option<
3855        unsafe extern "C" fn(
3856            *mut GtkContainer,
3857            *mut GtkWidget,
3858            c_uint,
3859            *mut gobject::GValue,
3860            *mut gobject::GParamSpec,
3861        ),
3862    >,
3863    pub get_child_property: Option<
3864        unsafe extern "C" fn(
3865            *mut GtkContainer,
3866            *mut GtkWidget,
3867            c_uint,
3868            *mut gobject::GValue,
3869            *mut gobject::GParamSpec,
3870        ),
3871    >,
3872    pub get_path_for_child:
3873        Option<unsafe extern "C" fn(*mut GtkContainer, *mut GtkWidget) -> *mut GtkWidgetPath>,
3874    pub _handle_border_width: c_uint,
3875    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3876    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3877    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3878    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3879    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3880    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3881    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3882    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3883}
3884
3885impl ::std::fmt::Debug for GtkContainerClass {
3886    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3887        f.debug_struct(&format!("GtkContainerClass @ {self:p}"))
3888            .field("parent_class", &self.parent_class)
3889            .field("add", &self.add)
3890            .field("remove", &self.remove)
3891            .field("check_resize", &self.check_resize)
3892            .field("forall", &self.forall)
3893            .field("set_focus_child", &self.set_focus_child)
3894            .field("child_type", &self.child_type)
3895            .field("composite_name", &self.composite_name)
3896            .field("set_child_property", &self.set_child_property)
3897            .field("get_child_property", &self.get_child_property)
3898            .field("get_path_for_child", &self.get_path_for_child)
3899            .field("_gtk_reserved1", &self._gtk_reserved1)
3900            .field("_gtk_reserved2", &self._gtk_reserved2)
3901            .field("_gtk_reserved3", &self._gtk_reserved3)
3902            .field("_gtk_reserved4", &self._gtk_reserved4)
3903            .field("_gtk_reserved5", &self._gtk_reserved5)
3904            .field("_gtk_reserved6", &self._gtk_reserved6)
3905            .field("_gtk_reserved7", &self._gtk_reserved7)
3906            .field("_gtk_reserved8", &self._gtk_reserved8)
3907            .finish()
3908    }
3909}
3910
3911#[repr(C)]
3912pub struct _GtkContainerPrivate {
3913    _data: [u8; 0],
3914    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3915}
3916
3917pub type GtkContainerPrivate = *mut _GtkContainerPrivate;
3918
3919#[derive(Copy, Clone)]
3920#[repr(C)]
3921pub struct GtkCssProviderClass {
3922    pub parent_class: gobject::GObjectClass,
3923    pub parsing_error:
3924        Option<unsafe extern "C" fn(*mut GtkCssProvider, *mut GtkCssSection, *const glib::GError)>,
3925    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3926    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3927    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3928}
3929
3930impl ::std::fmt::Debug for GtkCssProviderClass {
3931    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3932        f.debug_struct(&format!("GtkCssProviderClass @ {self:p}"))
3933            .field("parent_class", &self.parent_class)
3934            .field("parsing_error", &self.parsing_error)
3935            .field("_gtk_reserved2", &self._gtk_reserved2)
3936            .field("_gtk_reserved3", &self._gtk_reserved3)
3937            .field("_gtk_reserved4", &self._gtk_reserved4)
3938            .finish()
3939    }
3940}
3941
3942#[repr(C)]
3943pub struct _GtkCssProviderPrivate {
3944    _data: [u8; 0],
3945    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3946}
3947
3948pub type GtkCssProviderPrivate = *mut _GtkCssProviderPrivate;
3949
3950#[repr(C)]
3951pub struct GtkCssSection {
3952    _data: [u8; 0],
3953    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3954}
3955
3956impl ::std::fmt::Debug for GtkCssSection {
3957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3958        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
3959            .finish()
3960    }
3961}
3962
3963#[derive(Copy, Clone)]
3964#[repr(C)]
3965pub struct GtkDialogClass {
3966    pub parent_class: GtkWindowClass,
3967    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
3968    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
3969    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3970    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3971    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3972    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3973}
3974
3975impl ::std::fmt::Debug for GtkDialogClass {
3976    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3977        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
3978            .field("parent_class", &self.parent_class)
3979            .field("response", &self.response)
3980            .field("close", &self.close)
3981            .field("_gtk_reserved1", &self._gtk_reserved1)
3982            .field("_gtk_reserved2", &self._gtk_reserved2)
3983            .field("_gtk_reserved3", &self._gtk_reserved3)
3984            .field("_gtk_reserved4", &self._gtk_reserved4)
3985            .finish()
3986    }
3987}
3988
3989#[repr(C)]
3990pub struct _GtkDialogPrivate {
3991    _data: [u8; 0],
3992    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3993}
3994
3995pub type GtkDialogPrivate = *mut _GtkDialogPrivate;
3996
3997#[derive(Copy, Clone)]
3998#[repr(C)]
3999pub struct GtkDrawingAreaClass {
4000    pub parent_class: GtkWidgetClass,
4001    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4002    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4003    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4004    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4005}
4006
4007impl ::std::fmt::Debug for GtkDrawingAreaClass {
4008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4009        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
4010            .field("parent_class", &self.parent_class)
4011            .field("_gtk_reserved1", &self._gtk_reserved1)
4012            .field("_gtk_reserved2", &self._gtk_reserved2)
4013            .field("_gtk_reserved3", &self._gtk_reserved3)
4014            .field("_gtk_reserved4", &self._gtk_reserved4)
4015            .finish()
4016    }
4017}
4018
4019#[derive(Copy, Clone)]
4020#[repr(C)]
4021pub struct GtkEditableInterface {
4022    pub base_iface: gobject::GTypeInterface,
4023    pub insert_text:
4024        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
4025    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
4026    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
4027    pub do_insert_text:
4028        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
4029    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
4030    pub get_chars: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int) -> *mut c_char>,
4031    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
4032    pub get_selection_bounds:
4033        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
4034    pub set_position: Option<unsafe extern "C" fn(*mut GtkEditable, c_int)>,
4035    pub get_position: Option<unsafe extern "C" fn(*mut GtkEditable) -> c_int>,
4036}
4037
4038impl ::std::fmt::Debug for GtkEditableInterface {
4039    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4040        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
4041            .field("base_iface", &self.base_iface)
4042            .field("insert_text", &self.insert_text)
4043            .field("delete_text", &self.delete_text)
4044            .field("changed", &self.changed)
4045            .field("do_insert_text", &self.do_insert_text)
4046            .field("do_delete_text", &self.do_delete_text)
4047            .field("get_chars", &self.get_chars)
4048            .field("set_selection_bounds", &self.set_selection_bounds)
4049            .field("get_selection_bounds", &self.get_selection_bounds)
4050            .field("set_position", &self.set_position)
4051            .field("get_position", &self.get_position)
4052            .finish()
4053    }
4054}
4055
4056#[derive(Copy, Clone)]
4057#[repr(C)]
4058pub struct GtkEntryAccessibleClass {
4059    pub parent_class: GtkWidgetAccessibleClass,
4060}
4061
4062impl ::std::fmt::Debug for GtkEntryAccessibleClass {
4063    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4064        f.debug_struct(&format!("GtkEntryAccessibleClass @ {self:p}"))
4065            .field("parent_class", &self.parent_class)
4066            .finish()
4067    }
4068}
4069
4070#[repr(C)]
4071pub struct _GtkEntryAccessiblePrivate {
4072    _data: [u8; 0],
4073    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4074}
4075
4076pub type GtkEntryAccessiblePrivate = *mut _GtkEntryAccessiblePrivate;
4077
4078#[derive(Copy, Clone)]
4079#[repr(C)]
4080pub struct GtkEntryBufferClass {
4081    pub parent_class: gobject::GObjectClass,
4082    pub inserted_text:
4083        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
4084    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
4085    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
4086    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
4087    pub insert_text:
4088        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
4089    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
4090    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4091    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4092    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4093    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4094    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4095    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4096    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4097    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4098}
4099
4100impl ::std::fmt::Debug for GtkEntryBufferClass {
4101    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4102        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
4103            .field("parent_class", &self.parent_class)
4104            .field("inserted_text", &self.inserted_text)
4105            .field("deleted_text", &self.deleted_text)
4106            .field("get_text", &self.get_text)
4107            .field("get_length", &self.get_length)
4108            .field("insert_text", &self.insert_text)
4109            .field("delete_text", &self.delete_text)
4110            .field("_gtk_reserved1", &self._gtk_reserved1)
4111            .field("_gtk_reserved2", &self._gtk_reserved2)
4112            .field("_gtk_reserved3", &self._gtk_reserved3)
4113            .field("_gtk_reserved4", &self._gtk_reserved4)
4114            .field("_gtk_reserved5", &self._gtk_reserved5)
4115            .field("_gtk_reserved6", &self._gtk_reserved6)
4116            .field("_gtk_reserved7", &self._gtk_reserved7)
4117            .field("_gtk_reserved8", &self._gtk_reserved8)
4118            .finish()
4119    }
4120}
4121
4122#[repr(C)]
4123pub struct _GtkEntryBufferPrivate {
4124    _data: [u8; 0],
4125    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4126}
4127
4128pub type GtkEntryBufferPrivate = *mut _GtkEntryBufferPrivate;
4129
4130#[derive(Copy, Clone)]
4131#[repr(C)]
4132pub struct GtkEntryClass {
4133    pub parent_class: GtkWidgetClass,
4134    pub populate_popup: Option<unsafe extern "C" fn(*mut GtkEntry, *mut GtkWidget)>,
4135    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4136    pub move_cursor: Option<unsafe extern "C" fn(*mut GtkEntry, GtkMovementStep, c_int, gboolean)>,
4137    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkEntry, *const c_char)>,
4138    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkEntry, GtkDeleteType, c_int)>,
4139    pub backspace: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4140    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4141    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4142    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4143    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4144    pub get_text_area_size:
4145        Option<unsafe extern "C" fn(*mut GtkEntry, *mut c_int, *mut c_int, *mut c_int, *mut c_int)>,
4146    pub get_frame_size:
4147        Option<unsafe extern "C" fn(*mut GtkEntry, *mut c_int, *mut c_int, *mut c_int, *mut c_int)>,
4148    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkEntry)>,
4149    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4150    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4151    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4152    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4153    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4154    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4155}
4156
4157impl ::std::fmt::Debug for GtkEntryClass {
4158    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4159        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
4160            .field("parent_class", &self.parent_class)
4161            .field("populate_popup", &self.populate_popup)
4162            .field("activate", &self.activate)
4163            .field("move_cursor", &self.move_cursor)
4164            .field("insert_at_cursor", &self.insert_at_cursor)
4165            .field("delete_from_cursor", &self.delete_from_cursor)
4166            .field("backspace", &self.backspace)
4167            .field("cut_clipboard", &self.cut_clipboard)
4168            .field("copy_clipboard", &self.copy_clipboard)
4169            .field("paste_clipboard", &self.paste_clipboard)
4170            .field("toggle_overwrite", &self.toggle_overwrite)
4171            .field("get_text_area_size", &self.get_text_area_size)
4172            .field("get_frame_size", &self.get_frame_size)
4173            .field("insert_emoji", &self.insert_emoji)
4174            .field("_gtk_reserved1", &self._gtk_reserved1)
4175            .field("_gtk_reserved2", &self._gtk_reserved2)
4176            .field("_gtk_reserved3", &self._gtk_reserved3)
4177            .field("_gtk_reserved4", &self._gtk_reserved4)
4178            .field("_gtk_reserved5", &self._gtk_reserved5)
4179            .field("_gtk_reserved6", &self._gtk_reserved6)
4180            .finish()
4181    }
4182}
4183
4184#[derive(Copy, Clone)]
4185#[repr(C)]
4186pub struct GtkEntryCompletionClass {
4187    pub parent_class: gobject::GObjectClass,
4188    pub match_selected: Option<
4189        unsafe extern "C" fn(
4190            *mut GtkEntryCompletion,
4191            *mut GtkTreeModel,
4192            *mut GtkTreeIter,
4193        ) -> gboolean,
4194    >,
4195    pub action_activated: Option<unsafe extern "C" fn(*mut GtkEntryCompletion, c_int)>,
4196    pub insert_prefix:
4197        Option<unsafe extern "C" fn(*mut GtkEntryCompletion, *const c_char) -> gboolean>,
4198    pub cursor_on_match: Option<
4199        unsafe extern "C" fn(
4200            *mut GtkEntryCompletion,
4201            *mut GtkTreeModel,
4202            *mut GtkTreeIter,
4203        ) -> gboolean,
4204    >,
4205    pub no_matches: Option<unsafe extern "C" fn(*mut GtkEntryCompletion)>,
4206    pub _gtk_reserved0: Option<unsafe extern "C" fn()>,
4207    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4208    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4209}
4210
4211impl ::std::fmt::Debug for GtkEntryCompletionClass {
4212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4213        f.debug_struct(&format!("GtkEntryCompletionClass @ {self:p}"))
4214            .field("parent_class", &self.parent_class)
4215            .field("match_selected", &self.match_selected)
4216            .field("action_activated", &self.action_activated)
4217            .field("insert_prefix", &self.insert_prefix)
4218            .field("cursor_on_match", &self.cursor_on_match)
4219            .field("no_matches", &self.no_matches)
4220            .field("_gtk_reserved0", &self._gtk_reserved0)
4221            .field("_gtk_reserved1", &self._gtk_reserved1)
4222            .field("_gtk_reserved2", &self._gtk_reserved2)
4223            .finish()
4224    }
4225}
4226
4227#[repr(C)]
4228pub struct _GtkEntryCompletionPrivate {
4229    _data: [u8; 0],
4230    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4231}
4232
4233pub type GtkEntryCompletionPrivate = *mut _GtkEntryCompletionPrivate;
4234
4235#[repr(C)]
4236pub struct _GtkEntryPrivate {
4237    _data: [u8; 0],
4238    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4239}
4240
4241pub type GtkEntryPrivate = *mut _GtkEntryPrivate;
4242
4243#[derive(Copy, Clone)]
4244#[repr(C)]
4245pub struct GtkEventBoxClass {
4246    pub parent_class: GtkBinClass,
4247    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4248    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4249    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4250    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4251}
4252
4253impl ::std::fmt::Debug for GtkEventBoxClass {
4254    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4255        f.debug_struct(&format!("GtkEventBoxClass @ {self:p}"))
4256            .field("parent_class", &self.parent_class)
4257            .field("_gtk_reserved1", &self._gtk_reserved1)
4258            .field("_gtk_reserved2", &self._gtk_reserved2)
4259            .field("_gtk_reserved3", &self._gtk_reserved3)
4260            .field("_gtk_reserved4", &self._gtk_reserved4)
4261            .finish()
4262    }
4263}
4264
4265#[repr(C)]
4266pub struct _GtkEventBoxPrivate {
4267    _data: [u8; 0],
4268    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4269}
4270
4271pub type GtkEventBoxPrivate = *mut _GtkEventBoxPrivate;
4272
4273#[repr(C)]
4274pub struct _GtkEventControllerClass {
4275    _data: [u8; 0],
4276    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4277}
4278
4279pub type GtkEventControllerClass = *mut _GtkEventControllerClass;
4280
4281#[repr(C)]
4282pub struct _GtkEventControllerKeyClass {
4283    _data: [u8; 0],
4284    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4285}
4286
4287pub type GtkEventControllerKeyClass = *mut _GtkEventControllerKeyClass;
4288
4289#[repr(C)]
4290pub struct _GtkEventControllerMotionClass {
4291    _data: [u8; 0],
4292    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4293}
4294
4295pub type GtkEventControllerMotionClass = *mut _GtkEventControllerMotionClass;
4296
4297#[repr(C)]
4298pub struct _GtkEventControllerScrollClass {
4299    _data: [u8; 0],
4300    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4301}
4302
4303pub type GtkEventControllerScrollClass = *mut _GtkEventControllerScrollClass;
4304
4305#[derive(Copy, Clone)]
4306#[repr(C)]
4307pub struct GtkExpanderAccessibleClass {
4308    pub parent_class: GtkContainerAccessibleClass,
4309}
4310
4311impl ::std::fmt::Debug for GtkExpanderAccessibleClass {
4312    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4313        f.debug_struct(&format!("GtkExpanderAccessibleClass @ {self:p}"))
4314            .field("parent_class", &self.parent_class)
4315            .finish()
4316    }
4317}
4318
4319#[repr(C)]
4320pub struct _GtkExpanderAccessiblePrivate {
4321    _data: [u8; 0],
4322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4323}
4324
4325pub type GtkExpanderAccessiblePrivate = *mut _GtkExpanderAccessiblePrivate;
4326
4327#[derive(Copy, Clone)]
4328#[repr(C)]
4329pub struct GtkExpanderClass {
4330    pub parent_class: GtkBinClass,
4331    pub activate: Option<unsafe extern "C" fn(*mut GtkExpander)>,
4332    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4333    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4334    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4335    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4336}
4337
4338impl ::std::fmt::Debug for GtkExpanderClass {
4339    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4340        f.debug_struct(&format!("GtkExpanderClass @ {self:p}"))
4341            .field("parent_class", &self.parent_class)
4342            .field("activate", &self.activate)
4343            .field("_gtk_reserved1", &self._gtk_reserved1)
4344            .field("_gtk_reserved2", &self._gtk_reserved2)
4345            .field("_gtk_reserved3", &self._gtk_reserved3)
4346            .field("_gtk_reserved4", &self._gtk_reserved4)
4347            .finish()
4348    }
4349}
4350
4351#[repr(C)]
4352pub struct _GtkExpanderPrivate {
4353    _data: [u8; 0],
4354    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4355}
4356
4357pub type GtkExpanderPrivate = *mut _GtkExpanderPrivate;
4358
4359#[derive(Copy, Clone)]
4360#[repr(C)]
4361pub struct GtkFileChooserButtonClass {
4362    pub parent_class: GtkBoxClass,
4363    pub file_set: Option<unsafe extern "C" fn(*mut GtkFileChooserButton)>,
4364    pub __gtk_reserved1: Option<unsafe extern "C" fn()>,
4365    pub __gtk_reserved2: Option<unsafe extern "C" fn()>,
4366    pub __gtk_reserved3: Option<unsafe extern "C" fn()>,
4367    pub __gtk_reserved4: Option<unsafe extern "C" fn()>,
4368}
4369
4370impl ::std::fmt::Debug for GtkFileChooserButtonClass {
4371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4372        f.debug_struct(&format!("GtkFileChooserButtonClass @ {self:p}"))
4373            .field("parent_class", &self.parent_class)
4374            .field("file_set", &self.file_set)
4375            .field("__gtk_reserved1", &self.__gtk_reserved1)
4376            .field("__gtk_reserved2", &self.__gtk_reserved2)
4377            .field("__gtk_reserved3", &self.__gtk_reserved3)
4378            .field("__gtk_reserved4", &self.__gtk_reserved4)
4379            .finish()
4380    }
4381}
4382
4383#[repr(C)]
4384pub struct _GtkFileChooserButtonPrivate {
4385    _data: [u8; 0],
4386    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4387}
4388
4389pub type GtkFileChooserButtonPrivate = *mut _GtkFileChooserButtonPrivate;
4390
4391#[derive(Copy, Clone)]
4392#[repr(C)]
4393pub struct GtkFileChooserDialogClass {
4394    pub parent_class: GtkDialogClass,
4395    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4396    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4397    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4398    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4399}
4400
4401impl ::std::fmt::Debug for GtkFileChooserDialogClass {
4402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4403        f.debug_struct(&format!("GtkFileChooserDialogClass @ {self:p}"))
4404            .field("parent_class", &self.parent_class)
4405            .field("_gtk_reserved1", &self._gtk_reserved1)
4406            .field("_gtk_reserved2", &self._gtk_reserved2)
4407            .field("_gtk_reserved3", &self._gtk_reserved3)
4408            .field("_gtk_reserved4", &self._gtk_reserved4)
4409            .finish()
4410    }
4411}
4412
4413#[repr(C)]
4414pub struct _GtkFileChooserDialogPrivate {
4415    _data: [u8; 0],
4416    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4417}
4418
4419pub type GtkFileChooserDialogPrivate = *mut _GtkFileChooserDialogPrivate;
4420
4421#[derive(Copy, Clone)]
4422#[repr(C)]
4423pub struct GtkFileChooserNativeClass {
4424    pub parent_class: GtkNativeDialogClass,
4425}
4426
4427impl ::std::fmt::Debug for GtkFileChooserNativeClass {
4428    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4429        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
4430            .field("parent_class", &self.parent_class)
4431            .finish()
4432    }
4433}
4434
4435#[derive(Copy, Clone)]
4436#[repr(C)]
4437pub struct GtkFileChooserWidgetAccessibleClass {
4438    pub parent_class: GtkContainerAccessibleClass,
4439}
4440
4441impl ::std::fmt::Debug for GtkFileChooserWidgetAccessibleClass {
4442    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4443        f.debug_struct(&format!("GtkFileChooserWidgetAccessibleClass @ {self:p}"))
4444            .field("parent_class", &self.parent_class)
4445            .finish()
4446    }
4447}
4448
4449#[repr(C)]
4450pub struct _GtkFileChooserWidgetAccessiblePrivate {
4451    _data: [u8; 0],
4452    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4453}
4454
4455pub type GtkFileChooserWidgetAccessiblePrivate = *mut _GtkFileChooserWidgetAccessiblePrivate;
4456
4457#[derive(Copy, Clone)]
4458#[repr(C)]
4459pub struct GtkFileChooserWidgetClass {
4460    pub parent_class: GtkBoxClass,
4461    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4462    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4463    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4464    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4465}
4466
4467impl ::std::fmt::Debug for GtkFileChooserWidgetClass {
4468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4469        f.debug_struct(&format!("GtkFileChooserWidgetClass @ {self:p}"))
4470            .field("parent_class", &self.parent_class)
4471            .field("_gtk_reserved1", &self._gtk_reserved1)
4472            .field("_gtk_reserved2", &self._gtk_reserved2)
4473            .field("_gtk_reserved3", &self._gtk_reserved3)
4474            .field("_gtk_reserved4", &self._gtk_reserved4)
4475            .finish()
4476    }
4477}
4478
4479#[repr(C)]
4480pub struct _GtkFileChooserWidgetPrivate {
4481    _data: [u8; 0],
4482    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4483}
4484
4485pub type GtkFileChooserWidgetPrivate = *mut _GtkFileChooserWidgetPrivate;
4486
4487#[derive(Copy, Clone)]
4488#[repr(C)]
4489pub struct GtkFileFilterInfo {
4490    pub contains: GtkFileFilterFlags,
4491    pub filename: *const c_char,
4492    pub uri: *const c_char,
4493    pub display_name: *const c_char,
4494    pub mime_type: *const c_char,
4495}
4496
4497impl ::std::fmt::Debug for GtkFileFilterInfo {
4498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4499        f.debug_struct(&format!("GtkFileFilterInfo @ {self:p}"))
4500            .field("contains", &self.contains)
4501            .field("filename", &self.filename)
4502            .field("uri", &self.uri)
4503            .field("display_name", &self.display_name)
4504            .field("mime_type", &self.mime_type)
4505            .finish()
4506    }
4507}
4508
4509#[derive(Copy, Clone)]
4510#[repr(C)]
4511pub struct GtkFixedChild {
4512    pub widget: *mut GtkWidget,
4513    pub x: c_int,
4514    pub y: c_int,
4515}
4516
4517impl ::std::fmt::Debug for GtkFixedChild {
4518    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4519        f.debug_struct(&format!("GtkFixedChild @ {self:p}"))
4520            .field("widget", &self.widget)
4521            .field("x", &self.x)
4522            .field("y", &self.y)
4523            .finish()
4524    }
4525}
4526
4527#[derive(Copy, Clone)]
4528#[repr(C)]
4529pub struct GtkFixedClass {
4530    pub parent_class: GtkContainerClass,
4531    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4532    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4533    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4534    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4535}
4536
4537impl ::std::fmt::Debug for GtkFixedClass {
4538    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4539        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
4540            .field("parent_class", &self.parent_class)
4541            .field("_gtk_reserved1", &self._gtk_reserved1)
4542            .field("_gtk_reserved2", &self._gtk_reserved2)
4543            .field("_gtk_reserved3", &self._gtk_reserved3)
4544            .field("_gtk_reserved4", &self._gtk_reserved4)
4545            .finish()
4546    }
4547}
4548
4549#[repr(C)]
4550pub struct _GtkFixedPrivate {
4551    _data: [u8; 0],
4552    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4553}
4554
4555pub type GtkFixedPrivate = *mut _GtkFixedPrivate;
4556
4557#[derive(Copy, Clone)]
4558#[repr(C)]
4559pub struct GtkFlowBoxAccessibleClass {
4560    pub parent_class: GtkContainerAccessibleClass,
4561}
4562
4563impl ::std::fmt::Debug for GtkFlowBoxAccessibleClass {
4564    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4565        f.debug_struct(&format!("GtkFlowBoxAccessibleClass @ {self:p}"))
4566            .field("parent_class", &self.parent_class)
4567            .finish()
4568    }
4569}
4570
4571#[repr(C)]
4572pub struct _GtkFlowBoxAccessiblePrivate {
4573    _data: [u8; 0],
4574    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4575}
4576
4577pub type GtkFlowBoxAccessiblePrivate = *mut _GtkFlowBoxAccessiblePrivate;
4578
4579#[derive(Copy, Clone)]
4580#[repr(C)]
4581pub struct GtkFlowBoxChildAccessibleClass {
4582    pub parent_class: GtkContainerAccessibleClass,
4583}
4584
4585impl ::std::fmt::Debug for GtkFlowBoxChildAccessibleClass {
4586    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4587        f.debug_struct(&format!("GtkFlowBoxChildAccessibleClass @ {self:p}"))
4588            .field("parent_class", &self.parent_class)
4589            .finish()
4590    }
4591}
4592
4593#[derive(Copy, Clone)]
4594#[repr(C)]
4595pub struct GtkFlowBoxChildClass {
4596    pub parent_class: GtkBinClass,
4597    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
4598    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4599    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4600}
4601
4602impl ::std::fmt::Debug for GtkFlowBoxChildClass {
4603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4604        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
4605            .field("parent_class", &self.parent_class)
4606            .field("activate", &self.activate)
4607            .field("_gtk_reserved1", &self._gtk_reserved1)
4608            .field("_gtk_reserved2", &self._gtk_reserved2)
4609            .finish()
4610    }
4611}
4612
4613#[derive(Copy, Clone)]
4614#[repr(C)]
4615pub struct GtkFlowBoxClass {
4616    pub parent_class: GtkContainerClass,
4617    pub child_activated: Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild)>,
4618    pub selected_children_changed: Option<unsafe extern "C" fn(*mut GtkFlowBox)>,
4619    pub activate_cursor_child: Option<unsafe extern "C" fn(*mut GtkFlowBox)>,
4620    pub toggle_cursor_child: Option<unsafe extern "C" fn(*mut GtkFlowBox)>,
4621    pub move_cursor:
4622        Option<unsafe extern "C" fn(*mut GtkFlowBox, GtkMovementStep, c_int) -> gboolean>,
4623    pub select_all: Option<unsafe extern "C" fn(*mut GtkFlowBox)>,
4624    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkFlowBox)>,
4625    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4626    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4627    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4628    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4629    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4630    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4631}
4632
4633impl ::std::fmt::Debug for GtkFlowBoxClass {
4634    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4635        f.debug_struct(&format!("GtkFlowBoxClass @ {self:p}"))
4636            .field("parent_class", &self.parent_class)
4637            .field("child_activated", &self.child_activated)
4638            .field("selected_children_changed", &self.selected_children_changed)
4639            .field("activate_cursor_child", &self.activate_cursor_child)
4640            .field("toggle_cursor_child", &self.toggle_cursor_child)
4641            .field("move_cursor", &self.move_cursor)
4642            .field("select_all", &self.select_all)
4643            .field("unselect_all", &self.unselect_all)
4644            .field("_gtk_reserved1", &self._gtk_reserved1)
4645            .field("_gtk_reserved2", &self._gtk_reserved2)
4646            .field("_gtk_reserved3", &self._gtk_reserved3)
4647            .field("_gtk_reserved4", &self._gtk_reserved4)
4648            .field("_gtk_reserved5", &self._gtk_reserved5)
4649            .field("_gtk_reserved6", &self._gtk_reserved6)
4650            .finish()
4651    }
4652}
4653
4654#[derive(Copy, Clone)]
4655#[repr(C)]
4656pub struct GtkFontButtonClass {
4657    pub parent_class: GtkButtonClass,
4658    pub font_set: Option<unsafe extern "C" fn(*mut GtkFontButton)>,
4659    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4660    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4661    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4662    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4663}
4664
4665impl ::std::fmt::Debug for GtkFontButtonClass {
4666    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4667        f.debug_struct(&format!("GtkFontButtonClass @ {self:p}"))
4668            .field("parent_class", &self.parent_class)
4669            .field("font_set", &self.font_set)
4670            .field("_gtk_reserved1", &self._gtk_reserved1)
4671            .field("_gtk_reserved2", &self._gtk_reserved2)
4672            .field("_gtk_reserved3", &self._gtk_reserved3)
4673            .field("_gtk_reserved4", &self._gtk_reserved4)
4674            .finish()
4675    }
4676}
4677
4678#[repr(C)]
4679pub struct _GtkFontButtonPrivate {
4680    _data: [u8; 0],
4681    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4682}
4683
4684pub type GtkFontButtonPrivate = *mut _GtkFontButtonPrivate;
4685
4686#[derive(Copy, Clone)]
4687#[repr(C)]
4688pub struct GtkFontChooserDialogClass {
4689    pub parent_class: GtkDialogClass,
4690    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4691    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4692    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4693    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4694}
4695
4696impl ::std::fmt::Debug for GtkFontChooserDialogClass {
4697    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4698        f.debug_struct(&format!("GtkFontChooserDialogClass @ {self:p}"))
4699            .field("parent_class", &self.parent_class)
4700            .field("_gtk_reserved1", &self._gtk_reserved1)
4701            .field("_gtk_reserved2", &self._gtk_reserved2)
4702            .field("_gtk_reserved3", &self._gtk_reserved3)
4703            .field("_gtk_reserved4", &self._gtk_reserved4)
4704            .finish()
4705    }
4706}
4707
4708#[repr(C)]
4709pub struct _GtkFontChooserDialogPrivate {
4710    _data: [u8; 0],
4711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4712}
4713
4714pub type GtkFontChooserDialogPrivate = *mut _GtkFontChooserDialogPrivate;
4715
4716#[derive(Copy, Clone)]
4717#[repr(C)]
4718pub struct GtkFontChooserIface {
4719    pub base_iface: gobject::GTypeInterface,
4720    pub get_font_family:
4721        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
4722    pub get_font_face:
4723        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
4724    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
4725    pub set_filter_func: Option<
4726        unsafe extern "C" fn(
4727            *mut GtkFontChooser,
4728            GtkFontFilterFunc,
4729            gpointer,
4730            glib::GDestroyNotify,
4731        ),
4732    >,
4733    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
4734    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
4735    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
4736    pub padding: [gpointer; 10],
4737}
4738
4739impl ::std::fmt::Debug for GtkFontChooserIface {
4740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4741        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
4742            .field("base_iface", &self.base_iface)
4743            .field("get_font_family", &self.get_font_family)
4744            .field("get_font_face", &self.get_font_face)
4745            .field("get_font_size", &self.get_font_size)
4746            .field("set_filter_func", &self.set_filter_func)
4747            .field("font_activated", &self.font_activated)
4748            .field("set_font_map", &self.set_font_map)
4749            .field("get_font_map", &self.get_font_map)
4750            .field("padding", &self.padding)
4751            .finish()
4752    }
4753}
4754
4755#[derive(Copy, Clone)]
4756#[repr(C)]
4757pub struct GtkFontChooserWidgetClass {
4758    pub parent_class: GtkBoxClass,
4759    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4760    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4761    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4762    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4763    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4764    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4765    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4766    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4767}
4768
4769impl ::std::fmt::Debug for GtkFontChooserWidgetClass {
4770    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4771        f.debug_struct(&format!("GtkFontChooserWidgetClass @ {self:p}"))
4772            .field("parent_class", &self.parent_class)
4773            .field("_gtk_reserved1", &self._gtk_reserved1)
4774            .field("_gtk_reserved2", &self._gtk_reserved2)
4775            .field("_gtk_reserved3", &self._gtk_reserved3)
4776            .field("_gtk_reserved4", &self._gtk_reserved4)
4777            .field("_gtk_reserved5", &self._gtk_reserved5)
4778            .field("_gtk_reserved6", &self._gtk_reserved6)
4779            .field("_gtk_reserved7", &self._gtk_reserved7)
4780            .field("_gtk_reserved8", &self._gtk_reserved8)
4781            .finish()
4782    }
4783}
4784
4785#[repr(C)]
4786pub struct _GtkFontChooserWidgetPrivate {
4787    _data: [u8; 0],
4788    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4789}
4790
4791pub type GtkFontChooserWidgetPrivate = *mut _GtkFontChooserWidgetPrivate;
4792
4793#[derive(Copy, Clone)]
4794#[repr(C)]
4795pub struct GtkFontSelectionClass {
4796    pub parent_class: GtkBoxClass,
4797    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4798    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4799    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4800    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4801}
4802
4803impl ::std::fmt::Debug for GtkFontSelectionClass {
4804    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4805        f.debug_struct(&format!("GtkFontSelectionClass @ {self:p}"))
4806            .field("parent_class", &self.parent_class)
4807            .field("_gtk_reserved1", &self._gtk_reserved1)
4808            .field("_gtk_reserved2", &self._gtk_reserved2)
4809            .field("_gtk_reserved3", &self._gtk_reserved3)
4810            .field("_gtk_reserved4", &self._gtk_reserved4)
4811            .finish()
4812    }
4813}
4814
4815#[derive(Copy, Clone)]
4816#[repr(C)]
4817pub struct GtkFontSelectionDialogClass {
4818    pub parent_class: GtkDialogClass,
4819    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4820    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4821    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4822    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4823}
4824
4825impl ::std::fmt::Debug for GtkFontSelectionDialogClass {
4826    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4827        f.debug_struct(&format!("GtkFontSelectionDialogClass @ {self:p}"))
4828            .field("parent_class", &self.parent_class)
4829            .field("_gtk_reserved1", &self._gtk_reserved1)
4830            .field("_gtk_reserved2", &self._gtk_reserved2)
4831            .field("_gtk_reserved3", &self._gtk_reserved3)
4832            .field("_gtk_reserved4", &self._gtk_reserved4)
4833            .finish()
4834    }
4835}
4836
4837#[repr(C)]
4838pub struct _GtkFontSelectionDialogPrivate {
4839    _data: [u8; 0],
4840    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4841}
4842
4843pub type GtkFontSelectionDialogPrivate = *mut _GtkFontSelectionDialogPrivate;
4844
4845#[repr(C)]
4846pub struct _GtkFontSelectionPrivate {
4847    _data: [u8; 0],
4848    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4849}
4850
4851pub type GtkFontSelectionPrivate = *mut _GtkFontSelectionPrivate;
4852
4853#[derive(Copy, Clone)]
4854#[repr(C)]
4855pub struct GtkFrameAccessibleClass {
4856    pub parent_class: GtkContainerAccessibleClass,
4857}
4858
4859impl ::std::fmt::Debug for GtkFrameAccessibleClass {
4860    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4861        f.debug_struct(&format!("GtkFrameAccessibleClass @ {self:p}"))
4862            .field("parent_class", &self.parent_class)
4863            .finish()
4864    }
4865}
4866
4867#[repr(C)]
4868pub struct _GtkFrameAccessiblePrivate {
4869    _data: [u8; 0],
4870    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4871}
4872
4873pub type GtkFrameAccessiblePrivate = *mut _GtkFrameAccessiblePrivate;
4874
4875#[derive(Copy, Clone)]
4876#[repr(C)]
4877pub struct GtkFrameClass {
4878    pub parent_class: GtkBinClass,
4879    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
4880    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4881    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4882    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4883    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4884}
4885
4886impl ::std::fmt::Debug for GtkFrameClass {
4887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4888        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
4889            .field("parent_class", &self.parent_class)
4890            .field("compute_child_allocation", &self.compute_child_allocation)
4891            .field("_gtk_reserved1", &self._gtk_reserved1)
4892            .field("_gtk_reserved2", &self._gtk_reserved2)
4893            .field("_gtk_reserved3", &self._gtk_reserved3)
4894            .field("_gtk_reserved4", &self._gtk_reserved4)
4895            .finish()
4896    }
4897}
4898
4899#[repr(C)]
4900pub struct _GtkFramePrivate {
4901    _data: [u8; 0],
4902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4903}
4904
4905pub type GtkFramePrivate = *mut _GtkFramePrivate;
4906
4907#[derive(Copy, Clone)]
4908#[repr(C)]
4909pub struct GtkGLAreaClass {
4910    pub parent_class: GtkWidgetClass,
4911    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
4912    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
4913    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
4914    pub _padding: [gpointer; 6],
4915}
4916
4917impl ::std::fmt::Debug for GtkGLAreaClass {
4918    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4919        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
4920            .field("render", &self.render)
4921            .field("resize", &self.resize)
4922            .field("create_context", &self.create_context)
4923            .finish()
4924    }
4925}
4926
4927#[repr(C)]
4928pub struct _GtkGestureClass {
4929    _data: [u8; 0],
4930    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4931}
4932
4933pub type GtkGestureClass = *mut _GtkGestureClass;
4934
4935#[repr(C)]
4936pub struct _GtkGestureDragClass {
4937    _data: [u8; 0],
4938    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4939}
4940
4941pub type GtkGestureDragClass = *mut _GtkGestureDragClass;
4942
4943#[repr(C)]
4944pub struct _GtkGestureLongPressClass {
4945    _data: [u8; 0],
4946    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4947}
4948
4949pub type GtkGestureLongPressClass = *mut _GtkGestureLongPressClass;
4950
4951#[repr(C)]
4952pub struct _GtkGestureMultiPressClass {
4953    _data: [u8; 0],
4954    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4955}
4956
4957pub type GtkGestureMultiPressClass = *mut _GtkGestureMultiPressClass;
4958
4959#[repr(C)]
4960pub struct _GtkGesturePanClass {
4961    _data: [u8; 0],
4962    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4963}
4964
4965pub type GtkGesturePanClass = *mut _GtkGesturePanClass;
4966
4967#[repr(C)]
4968pub struct _GtkGestureRotateClass {
4969    _data: [u8; 0],
4970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4971}
4972
4973pub type GtkGestureRotateClass = *mut _GtkGestureRotateClass;
4974
4975#[repr(C)]
4976pub struct _GtkGestureSingleClass {
4977    _data: [u8; 0],
4978    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4979}
4980
4981pub type GtkGestureSingleClass = *mut _GtkGestureSingleClass;
4982
4983#[repr(C)]
4984pub struct _GtkGestureStylusClass {
4985    _data: [u8; 0],
4986    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4987}
4988
4989pub type GtkGestureStylusClass = *mut _GtkGestureStylusClass;
4990
4991#[repr(C)]
4992pub struct _GtkGestureSwipeClass {
4993    _data: [u8; 0],
4994    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4995}
4996
4997pub type GtkGestureSwipeClass = *mut _GtkGestureSwipeClass;
4998
4999#[repr(C)]
5000pub struct _GtkGestureZoomClass {
5001    _data: [u8; 0],
5002    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5003}
5004
5005pub type GtkGestureZoomClass = *mut _GtkGestureZoomClass;
5006
5007#[repr(C)]
5008pub struct GtkGradient {
5009    _data: [u8; 0],
5010    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5011}
5012
5013impl ::std::fmt::Debug for GtkGradient {
5014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5015        f.debug_struct(&format!("GtkGradient @ {self:p}")).finish()
5016    }
5017}
5018
5019#[derive(Copy, Clone)]
5020#[repr(C)]
5021pub struct GtkGridClass {
5022    pub parent_class: GtkContainerClass,
5023    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5024    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5025    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5026    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5027    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5028    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5029    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5030    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5031}
5032
5033impl ::std::fmt::Debug for GtkGridClass {
5034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5035        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
5036            .field("parent_class", &self.parent_class)
5037            .field("_gtk_reserved1", &self._gtk_reserved1)
5038            .field("_gtk_reserved2", &self._gtk_reserved2)
5039            .field("_gtk_reserved3", &self._gtk_reserved3)
5040            .field("_gtk_reserved4", &self._gtk_reserved4)
5041            .field("_gtk_reserved5", &self._gtk_reserved5)
5042            .field("_gtk_reserved6", &self._gtk_reserved6)
5043            .field("_gtk_reserved7", &self._gtk_reserved7)
5044            .field("_gtk_reserved8", &self._gtk_reserved8)
5045            .finish()
5046    }
5047}
5048
5049#[repr(C)]
5050pub struct _GtkGridPrivate {
5051    _data: [u8; 0],
5052    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5053}
5054
5055pub type GtkGridPrivate = *mut _GtkGridPrivate;
5056
5057#[derive(Copy, Clone)]
5058#[repr(C)]
5059pub struct GtkHBoxClass {
5060    pub parent_class: GtkBoxClass,
5061}
5062
5063impl ::std::fmt::Debug for GtkHBoxClass {
5064    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5065        f.debug_struct(&format!("GtkHBoxClass @ {self:p}"))
5066            .field("parent_class", &self.parent_class)
5067            .finish()
5068    }
5069}
5070
5071#[derive(Copy, Clone)]
5072#[repr(C)]
5073pub struct GtkHButtonBoxClass {
5074    pub parent_class: GtkButtonBoxClass,
5075}
5076
5077impl ::std::fmt::Debug for GtkHButtonBoxClass {
5078    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5079        f.debug_struct(&format!("GtkHButtonBoxClass @ {self:p}"))
5080            .field("parent_class", &self.parent_class)
5081            .finish()
5082    }
5083}
5084
5085#[derive(Copy, Clone)]
5086#[repr(C)]
5087pub struct GtkHPanedClass {
5088    pub parent_class: GtkPanedClass,
5089}
5090
5091impl ::std::fmt::Debug for GtkHPanedClass {
5092    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5093        f.debug_struct(&format!("GtkHPanedClass @ {self:p}"))
5094            .field("parent_class", &self.parent_class)
5095            .finish()
5096    }
5097}
5098
5099#[derive(Copy, Clone)]
5100#[repr(C)]
5101pub struct GtkHSVClass {
5102    pub parent_class: GtkWidgetClass,
5103    pub changed: Option<unsafe extern "C" fn(*mut GtkHSV)>,
5104    pub move_: Option<unsafe extern "C" fn(*mut GtkHSV, GtkDirectionType)>,
5105    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5106    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5107    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5108    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5109}
5110
5111impl ::std::fmt::Debug for GtkHSVClass {
5112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5113        f.debug_struct(&format!("GtkHSVClass @ {self:p}"))
5114            .field("parent_class", &self.parent_class)
5115            .field("changed", &self.changed)
5116            .field("move_", &self.move_)
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#[repr(C)]
5126pub struct _GtkHSVPrivate {
5127    _data: [u8; 0],
5128    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5129}
5130
5131pub type GtkHSVPrivate = *mut _GtkHSVPrivate;
5132
5133#[derive(Copy, Clone)]
5134#[repr(C)]
5135pub struct GtkHScaleClass {
5136    pub parent_class: GtkScaleClass,
5137}
5138
5139impl ::std::fmt::Debug for GtkHScaleClass {
5140    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5141        f.debug_struct(&format!("GtkHScaleClass @ {self:p}"))
5142            .field("parent_class", &self.parent_class)
5143            .finish()
5144    }
5145}
5146
5147#[derive(Copy, Clone)]
5148#[repr(C)]
5149pub struct GtkHScrollbarClass {
5150    pub parent_class: GtkScrollbarClass,
5151}
5152
5153impl ::std::fmt::Debug for GtkHScrollbarClass {
5154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5155        f.debug_struct(&format!("GtkHScrollbarClass @ {self:p}"))
5156            .field("parent_class", &self.parent_class)
5157            .finish()
5158    }
5159}
5160
5161#[derive(Copy, Clone)]
5162#[repr(C)]
5163pub struct GtkHSeparatorClass {
5164    pub parent_class: GtkSeparatorClass,
5165}
5166
5167impl ::std::fmt::Debug for GtkHSeparatorClass {
5168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5169        f.debug_struct(&format!("GtkHSeparatorClass @ {self:p}"))
5170            .field("parent_class", &self.parent_class)
5171            .finish()
5172    }
5173}
5174
5175#[derive(Copy, Clone)]
5176#[repr(C)]
5177pub struct GtkHandleBoxClass {
5178    pub parent_class: GtkBinClass,
5179    pub child_attached: Option<unsafe extern "C" fn(*mut GtkHandleBox, *mut GtkWidget)>,
5180    pub child_detached: Option<unsafe extern "C" fn(*mut GtkHandleBox, *mut GtkWidget)>,
5181    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5182    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5183    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5184    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5185}
5186
5187impl ::std::fmt::Debug for GtkHandleBoxClass {
5188    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5189        f.debug_struct(&format!("GtkHandleBoxClass @ {self:p}"))
5190            .field("parent_class", &self.parent_class)
5191            .field("child_attached", &self.child_attached)
5192            .field("child_detached", &self.child_detached)
5193            .field("_gtk_reserved1", &self._gtk_reserved1)
5194            .field("_gtk_reserved2", &self._gtk_reserved2)
5195            .field("_gtk_reserved3", &self._gtk_reserved3)
5196            .field("_gtk_reserved4", &self._gtk_reserved4)
5197            .finish()
5198    }
5199}
5200
5201#[repr(C)]
5202pub struct _GtkHandleBoxPrivate {
5203    _data: [u8; 0],
5204    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5205}
5206
5207pub type GtkHandleBoxPrivate = *mut _GtkHandleBoxPrivate;
5208
5209#[derive(Copy, Clone)]
5210#[repr(C)]
5211pub struct GtkHeaderBarAccessibleClass {
5212    pub parent_class: GtkContainerAccessibleClass,
5213}
5214
5215impl ::std::fmt::Debug for GtkHeaderBarAccessibleClass {
5216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5217        f.debug_struct(&format!("GtkHeaderBarAccessibleClass @ {self:p}"))
5218            .field("parent_class", &self.parent_class)
5219            .finish()
5220    }
5221}
5222
5223#[repr(C)]
5224pub struct _GtkHeaderBarAccessiblePrivate {
5225    _data: [u8; 0],
5226    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5227}
5228
5229pub type GtkHeaderBarAccessiblePrivate = *mut _GtkHeaderBarAccessiblePrivate;
5230
5231#[derive(Copy, Clone)]
5232#[repr(C)]
5233pub struct GtkHeaderBarClass {
5234    pub parent_class: GtkContainerClass,
5235    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5236    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5237    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5238    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5239}
5240
5241impl ::std::fmt::Debug for GtkHeaderBarClass {
5242    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5243        f.debug_struct(&format!("GtkHeaderBarClass @ {self:p}"))
5244            .field("parent_class", &self.parent_class)
5245            .field("_gtk_reserved1", &self._gtk_reserved1)
5246            .field("_gtk_reserved2", &self._gtk_reserved2)
5247            .field("_gtk_reserved3", &self._gtk_reserved3)
5248            .field("_gtk_reserved4", &self._gtk_reserved4)
5249            .finish()
5250    }
5251}
5252
5253#[repr(C)]
5254pub struct _GtkHeaderBarPrivate {
5255    _data: [u8; 0],
5256    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5257}
5258
5259pub type GtkHeaderBarPrivate = *mut _GtkHeaderBarPrivate;
5260
5261#[derive(Copy, Clone)]
5262#[repr(C)]
5263pub struct GtkIMContextClass {
5264    pub parent_class: gobject::GObjectClass,
5265    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5266    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5267    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5268    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
5269    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
5270    pub delete_surrounding:
5271        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
5272    pub set_client_window: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkWindow)>,
5273    pub get_preedit_string: Option<
5274        unsafe extern "C" fn(
5275            *mut GtkIMContext,
5276            *mut *mut c_char,
5277            *mut *mut pango::PangoAttrList,
5278            *mut c_int,
5279        ),
5280    >,
5281    pub filter_keypress:
5282        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEventKey) -> gboolean>,
5283    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5284    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5285    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
5286    pub set_cursor_location:
5287        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
5288    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
5289    pub set_surrounding:
5290        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
5291    pub get_surrounding:
5292        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
5293    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5294    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5295    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5296    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5297    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5298    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5299}
5300
5301impl ::std::fmt::Debug for GtkIMContextClass {
5302    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5303        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
5304            .field("preedit_start", &self.preedit_start)
5305            .field("preedit_end", &self.preedit_end)
5306            .field("preedit_changed", &self.preedit_changed)
5307            .field("commit", &self.commit)
5308            .field("retrieve_surrounding", &self.retrieve_surrounding)
5309            .field("delete_surrounding", &self.delete_surrounding)
5310            .field("set_client_window", &self.set_client_window)
5311            .field("get_preedit_string", &self.get_preedit_string)
5312            .field("filter_keypress", &self.filter_keypress)
5313            .field("focus_in", &self.focus_in)
5314            .field("focus_out", &self.focus_out)
5315            .field("reset", &self.reset)
5316            .field("set_cursor_location", &self.set_cursor_location)
5317            .field("set_use_preedit", &self.set_use_preedit)
5318            .field("set_surrounding", &self.set_surrounding)
5319            .field("get_surrounding", &self.get_surrounding)
5320            .field("_gtk_reserved1", &self._gtk_reserved1)
5321            .field("_gtk_reserved2", &self._gtk_reserved2)
5322            .field("_gtk_reserved3", &self._gtk_reserved3)
5323            .field("_gtk_reserved4", &self._gtk_reserved4)
5324            .field("_gtk_reserved5", &self._gtk_reserved5)
5325            .field("_gtk_reserved6", &self._gtk_reserved6)
5326            .finish()
5327    }
5328}
5329
5330#[derive(Copy, Clone)]
5331#[repr(C)]
5332pub struct GtkIMContextInfo {
5333    pub context_id: *const c_char,
5334    pub context_name: *const c_char,
5335    pub domain: *const c_char,
5336    pub domain_dirname: *const c_char,
5337    pub default_locales: *const c_char,
5338}
5339
5340impl ::std::fmt::Debug for GtkIMContextInfo {
5341    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5342        f.debug_struct(&format!("GtkIMContextInfo @ {self:p}"))
5343            .field("context_id", &self.context_id)
5344            .field("context_name", &self.context_name)
5345            .field("domain", &self.domain)
5346            .field("domain_dirname", &self.domain_dirname)
5347            .field("default_locales", &self.default_locales)
5348            .finish()
5349    }
5350}
5351
5352#[derive(Copy, Clone)]
5353#[repr(C)]
5354pub struct GtkIMContextSimpleClass {
5355    pub parent_class: GtkIMContextClass,
5356}
5357
5358impl ::std::fmt::Debug for GtkIMContextSimpleClass {
5359    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5360        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
5361            .field("parent_class", &self.parent_class)
5362            .finish()
5363    }
5364}
5365
5366#[repr(C)]
5367pub struct _GtkIMContextSimplePrivate {
5368    _data: [u8; 0],
5369    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5370}
5371
5372pub type GtkIMContextSimplePrivate = *mut _GtkIMContextSimplePrivate;
5373
5374#[derive(Copy, Clone)]
5375#[repr(C)]
5376pub struct GtkIMMulticontextClass {
5377    pub parent_class: GtkIMContextClass,
5378    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5379    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5380    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5381    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5382}
5383
5384impl ::std::fmt::Debug for GtkIMMulticontextClass {
5385    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5386        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
5387            .field("parent_class", &self.parent_class)
5388            .field("_gtk_reserved1", &self._gtk_reserved1)
5389            .field("_gtk_reserved2", &self._gtk_reserved2)
5390            .field("_gtk_reserved3", &self._gtk_reserved3)
5391            .field("_gtk_reserved4", &self._gtk_reserved4)
5392            .finish()
5393    }
5394}
5395
5396#[repr(C)]
5397pub struct _GtkIMMulticontextPrivate {
5398    _data: [u8; 0],
5399    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5400}
5401
5402pub type GtkIMMulticontextPrivate = *mut _GtkIMMulticontextPrivate;
5403
5404#[derive(Copy, Clone)]
5405#[repr(C)]
5406pub struct GtkIconFactoryClass {
5407    pub parent_class: gobject::GObjectClass,
5408    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5409    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5410    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5411    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5412}
5413
5414impl ::std::fmt::Debug for GtkIconFactoryClass {
5415    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5416        f.debug_struct(&format!("GtkIconFactoryClass @ {self:p}"))
5417            .field("parent_class", &self.parent_class)
5418            .field("_gtk_reserved1", &self._gtk_reserved1)
5419            .field("_gtk_reserved2", &self._gtk_reserved2)
5420            .field("_gtk_reserved3", &self._gtk_reserved3)
5421            .field("_gtk_reserved4", &self._gtk_reserved4)
5422            .finish()
5423    }
5424}
5425
5426#[repr(C)]
5427pub struct _GtkIconFactoryPrivate {
5428    _data: [u8; 0],
5429    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5430}
5431
5432pub type GtkIconFactoryPrivate = *mut _GtkIconFactoryPrivate;
5433
5434#[repr(C)]
5435pub struct _GtkIconInfoClass {
5436    _data: [u8; 0],
5437    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5438}
5439
5440pub type GtkIconInfoClass = *mut _GtkIconInfoClass;
5441
5442#[repr(C)]
5443pub struct GtkIconSet {
5444    _data: [u8; 0],
5445    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5446}
5447
5448impl ::std::fmt::Debug for GtkIconSet {
5449    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5450        f.debug_struct(&format!("GtkIconSet @ {self:p}")).finish()
5451    }
5452}
5453
5454#[repr(C)]
5455pub struct GtkIconSource {
5456    _data: [u8; 0],
5457    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5458}
5459
5460impl ::std::fmt::Debug for GtkIconSource {
5461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5462        f.debug_struct(&format!("GtkIconSource @ {self:p}"))
5463            .finish()
5464    }
5465}
5466
5467#[derive(Copy, Clone)]
5468#[repr(C)]
5469pub struct GtkIconThemeClass {
5470    pub parent_class: gobject::GObjectClass,
5471    pub changed: Option<unsafe extern "C" fn(*mut GtkIconTheme)>,
5472    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5473    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5474    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5475    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5476}
5477
5478impl ::std::fmt::Debug for GtkIconThemeClass {
5479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5480        f.debug_struct(&format!("GtkIconThemeClass @ {self:p}"))
5481            .field("parent_class", &self.parent_class)
5482            .field("changed", &self.changed)
5483            .field("_gtk_reserved1", &self._gtk_reserved1)
5484            .field("_gtk_reserved2", &self._gtk_reserved2)
5485            .field("_gtk_reserved3", &self._gtk_reserved3)
5486            .field("_gtk_reserved4", &self._gtk_reserved4)
5487            .finish()
5488    }
5489}
5490
5491#[repr(C)]
5492pub struct _GtkIconThemePrivate {
5493    _data: [u8; 0],
5494    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5495}
5496
5497pub type GtkIconThemePrivate = *mut _GtkIconThemePrivate;
5498
5499#[derive(Copy, Clone)]
5500#[repr(C)]
5501pub struct GtkIconViewAccessibleClass {
5502    pub parent_class: GtkContainerAccessibleClass,
5503}
5504
5505impl ::std::fmt::Debug for GtkIconViewAccessibleClass {
5506    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5507        f.debug_struct(&format!("GtkIconViewAccessibleClass @ {self:p}"))
5508            .field("parent_class", &self.parent_class)
5509            .finish()
5510    }
5511}
5512
5513#[repr(C)]
5514pub struct _GtkIconViewAccessiblePrivate {
5515    _data: [u8; 0],
5516    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5517}
5518
5519pub type GtkIconViewAccessiblePrivate = *mut _GtkIconViewAccessiblePrivate;
5520
5521#[derive(Copy, Clone)]
5522#[repr(C)]
5523pub struct GtkIconViewClass {
5524    pub parent_class: GtkContainerClass,
5525    pub item_activated: Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath)>,
5526    pub selection_changed: Option<unsafe extern "C" fn(*mut GtkIconView)>,
5527    pub select_all: Option<unsafe extern "C" fn(*mut GtkIconView)>,
5528    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkIconView)>,
5529    pub select_cursor_item: Option<unsafe extern "C" fn(*mut GtkIconView)>,
5530    pub toggle_cursor_item: Option<unsafe extern "C" fn(*mut GtkIconView)>,
5531    pub move_cursor:
5532        Option<unsafe extern "C" fn(*mut GtkIconView, GtkMovementStep, c_int) -> gboolean>,
5533    pub activate_cursor_item: Option<unsafe extern "C" fn(*mut GtkIconView) -> gboolean>,
5534    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5535    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5536    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5537    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5538}
5539
5540impl ::std::fmt::Debug for GtkIconViewClass {
5541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5542        f.debug_struct(&format!("GtkIconViewClass @ {self:p}"))
5543            .field("parent_class", &self.parent_class)
5544            .field("item_activated", &self.item_activated)
5545            .field("selection_changed", &self.selection_changed)
5546            .field("select_all", &self.select_all)
5547            .field("unselect_all", &self.unselect_all)
5548            .field("select_cursor_item", &self.select_cursor_item)
5549            .field("toggle_cursor_item", &self.toggle_cursor_item)
5550            .field("move_cursor", &self.move_cursor)
5551            .field("activate_cursor_item", &self.activate_cursor_item)
5552            .field("_gtk_reserved1", &self._gtk_reserved1)
5553            .field("_gtk_reserved2", &self._gtk_reserved2)
5554            .field("_gtk_reserved3", &self._gtk_reserved3)
5555            .field("_gtk_reserved4", &self._gtk_reserved4)
5556            .finish()
5557    }
5558}
5559
5560#[repr(C)]
5561pub struct _GtkIconViewPrivate {
5562    _data: [u8; 0],
5563    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5564}
5565
5566pub type GtkIconViewPrivate = *mut _GtkIconViewPrivate;
5567
5568#[derive(Copy, Clone)]
5569#[repr(C)]
5570pub struct GtkImageAccessibleClass {
5571    pub parent_class: GtkWidgetAccessibleClass,
5572}
5573
5574impl ::std::fmt::Debug for GtkImageAccessibleClass {
5575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5576        f.debug_struct(&format!("GtkImageAccessibleClass @ {self:p}"))
5577            .field("parent_class", &self.parent_class)
5578            .finish()
5579    }
5580}
5581
5582#[repr(C)]
5583pub struct _GtkImageAccessiblePrivate {
5584    _data: [u8; 0],
5585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5586}
5587
5588pub type GtkImageAccessiblePrivate = *mut _GtkImageAccessiblePrivate;
5589
5590#[derive(Copy, Clone)]
5591#[repr(C)]
5592pub struct GtkImageCellAccessibleClass {
5593    pub parent_class: GtkRendererCellAccessibleClass,
5594}
5595
5596impl ::std::fmt::Debug for GtkImageCellAccessibleClass {
5597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5598        f.debug_struct(&format!("GtkImageCellAccessibleClass @ {self:p}"))
5599            .field("parent_class", &self.parent_class)
5600            .finish()
5601    }
5602}
5603
5604#[repr(C)]
5605pub struct _GtkImageCellAccessiblePrivate {
5606    _data: [u8; 0],
5607    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5608}
5609
5610pub type GtkImageCellAccessiblePrivate = *mut _GtkImageCellAccessiblePrivate;
5611
5612#[derive(Copy, Clone)]
5613#[repr(C)]
5614pub struct GtkImageClass {
5615    pub parent_class: GtkMiscClass,
5616    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5617    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5618    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5619    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5620}
5621
5622impl ::std::fmt::Debug for GtkImageClass {
5623    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5624        f.debug_struct(&format!("GtkImageClass @ {self:p}"))
5625            .field("parent_class", &self.parent_class)
5626            .field("_gtk_reserved1", &self._gtk_reserved1)
5627            .field("_gtk_reserved2", &self._gtk_reserved2)
5628            .field("_gtk_reserved3", &self._gtk_reserved3)
5629            .field("_gtk_reserved4", &self._gtk_reserved4)
5630            .finish()
5631    }
5632}
5633
5634#[derive(Copy, Clone)]
5635#[repr(C)]
5636pub struct GtkImageMenuItemClass {
5637    pub parent_class: GtkMenuItemClass,
5638    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5639    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5640    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5641    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5642}
5643
5644impl ::std::fmt::Debug for GtkImageMenuItemClass {
5645    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5646        f.debug_struct(&format!("GtkImageMenuItemClass @ {self:p}"))
5647            .field("parent_class", &self.parent_class)
5648            .field("_gtk_reserved1", &self._gtk_reserved1)
5649            .field("_gtk_reserved2", &self._gtk_reserved2)
5650            .field("_gtk_reserved3", &self._gtk_reserved3)
5651            .field("_gtk_reserved4", &self._gtk_reserved4)
5652            .finish()
5653    }
5654}
5655
5656#[repr(C)]
5657pub struct _GtkImageMenuItemPrivate {
5658    _data: [u8; 0],
5659    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5660}
5661
5662pub type GtkImageMenuItemPrivate = *mut _GtkImageMenuItemPrivate;
5663
5664#[repr(C)]
5665pub struct _GtkImagePrivate {
5666    _data: [u8; 0],
5667    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5668}
5669
5670pub type GtkImagePrivate = *mut _GtkImagePrivate;
5671
5672#[derive(Copy, Clone)]
5673#[repr(C)]
5674pub struct GtkInfoBarClass {
5675    pub parent_class: GtkBoxClass,
5676    pub response: Option<unsafe extern "C" fn(*mut GtkInfoBar, GtkResponseType)>,
5677    pub close: Option<unsafe extern "C" fn(*mut GtkInfoBar)>,
5678    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5679    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5680    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5681    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5682}
5683
5684impl ::std::fmt::Debug for GtkInfoBarClass {
5685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5686        f.debug_struct(&format!("GtkInfoBarClass @ {self:p}"))
5687            .field("parent_class", &self.parent_class)
5688            .field("response", &self.response)
5689            .field("close", &self.close)
5690            .field("_gtk_reserved1", &self._gtk_reserved1)
5691            .field("_gtk_reserved2", &self._gtk_reserved2)
5692            .field("_gtk_reserved3", &self._gtk_reserved3)
5693            .field("_gtk_reserved4", &self._gtk_reserved4)
5694            .finish()
5695    }
5696}
5697
5698#[repr(C)]
5699pub struct _GtkInfoBarPrivate {
5700    _data: [u8; 0],
5701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5702}
5703
5704pub type GtkInfoBarPrivate = *mut _GtkInfoBarPrivate;
5705
5706#[derive(Copy, Clone)]
5707#[repr(C)]
5708pub struct GtkInvisibleClass {
5709    pub parent_class: GtkWidgetClass,
5710    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5711    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5712    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5713    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5714}
5715
5716impl ::std::fmt::Debug for GtkInvisibleClass {
5717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5718        f.debug_struct(&format!("GtkInvisibleClass @ {self:p}"))
5719            .field("parent_class", &self.parent_class)
5720            .field("_gtk_reserved1", &self._gtk_reserved1)
5721            .field("_gtk_reserved2", &self._gtk_reserved2)
5722            .field("_gtk_reserved3", &self._gtk_reserved3)
5723            .field("_gtk_reserved4", &self._gtk_reserved4)
5724            .finish()
5725    }
5726}
5727
5728#[repr(C)]
5729pub struct _GtkInvisiblePrivate {
5730    _data: [u8; 0],
5731    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5732}
5733
5734pub type GtkInvisiblePrivate = *mut _GtkInvisiblePrivate;
5735
5736#[derive(Copy, Clone)]
5737#[repr(C)]
5738pub struct GtkLabelAccessibleClass {
5739    pub parent_class: GtkWidgetAccessibleClass,
5740}
5741
5742impl ::std::fmt::Debug for GtkLabelAccessibleClass {
5743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5744        f.debug_struct(&format!("GtkLabelAccessibleClass @ {self:p}"))
5745            .field("parent_class", &self.parent_class)
5746            .finish()
5747    }
5748}
5749
5750#[repr(C)]
5751pub struct _GtkLabelAccessiblePrivate {
5752    _data: [u8; 0],
5753    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5754}
5755
5756pub type GtkLabelAccessiblePrivate = *mut _GtkLabelAccessiblePrivate;
5757
5758#[derive(Copy, Clone)]
5759#[repr(C)]
5760pub struct GtkLabelClass {
5761    pub parent_class: GtkMiscClass,
5762    pub move_cursor: Option<unsafe extern "C" fn(*mut GtkLabel, GtkMovementStep, c_int, gboolean)>,
5763    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkLabel)>,
5764    pub populate_popup: Option<unsafe extern "C" fn(*mut GtkLabel, *mut GtkMenu)>,
5765    pub activate_link: Option<unsafe extern "C" fn(*mut GtkLabel, *const c_char) -> gboolean>,
5766    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5767    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5768    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5769    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5770    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5771    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5772    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5773    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5774}
5775
5776impl ::std::fmt::Debug for GtkLabelClass {
5777    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5778        f.debug_struct(&format!("GtkLabelClass @ {self:p}"))
5779            .field("parent_class", &self.parent_class)
5780            .field("move_cursor", &self.move_cursor)
5781            .field("copy_clipboard", &self.copy_clipboard)
5782            .field("populate_popup", &self.populate_popup)
5783            .field("activate_link", &self.activate_link)
5784            .field("_gtk_reserved1", &self._gtk_reserved1)
5785            .field("_gtk_reserved2", &self._gtk_reserved2)
5786            .field("_gtk_reserved3", &self._gtk_reserved3)
5787            .field("_gtk_reserved4", &self._gtk_reserved4)
5788            .field("_gtk_reserved5", &self._gtk_reserved5)
5789            .field("_gtk_reserved6", &self._gtk_reserved6)
5790            .field("_gtk_reserved7", &self._gtk_reserved7)
5791            .field("_gtk_reserved8", &self._gtk_reserved8)
5792            .finish()
5793    }
5794}
5795
5796#[repr(C)]
5797pub struct _GtkLabelPrivate {
5798    _data: [u8; 0],
5799    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5800}
5801
5802pub type GtkLabelPrivate = *mut _GtkLabelPrivate;
5803
5804#[repr(C)]
5805pub struct _GtkLabelSelectionInfo {
5806    _data: [u8; 0],
5807    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5808}
5809
5810pub type GtkLabelSelectionInfo = *mut _GtkLabelSelectionInfo;
5811
5812#[derive(Copy, Clone)]
5813#[repr(C)]
5814pub struct GtkLayoutClass {
5815    pub parent_class: GtkContainerClass,
5816    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5817    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5818    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5819    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5820}
5821
5822impl ::std::fmt::Debug for GtkLayoutClass {
5823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5824        f.debug_struct(&format!("GtkLayoutClass @ {self:p}"))
5825            .field("parent_class", &self.parent_class)
5826            .field("_gtk_reserved1", &self._gtk_reserved1)
5827            .field("_gtk_reserved2", &self._gtk_reserved2)
5828            .field("_gtk_reserved3", &self._gtk_reserved3)
5829            .field("_gtk_reserved4", &self._gtk_reserved4)
5830            .finish()
5831    }
5832}
5833
5834#[repr(C)]
5835pub struct _GtkLayoutPrivate {
5836    _data: [u8; 0],
5837    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5838}
5839
5840pub type GtkLayoutPrivate = *mut _GtkLayoutPrivate;
5841
5842#[derive(Copy, Clone)]
5843#[repr(C)]
5844pub struct GtkLevelBarAccessibleClass {
5845    pub parent_class: GtkWidgetAccessibleClass,
5846}
5847
5848impl ::std::fmt::Debug for GtkLevelBarAccessibleClass {
5849    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5850        f.debug_struct(&format!("GtkLevelBarAccessibleClass @ {self:p}"))
5851            .field("parent_class", &self.parent_class)
5852            .finish()
5853    }
5854}
5855
5856#[repr(C)]
5857pub struct _GtkLevelBarAccessiblePrivate {
5858    _data: [u8; 0],
5859    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5860}
5861
5862pub type GtkLevelBarAccessiblePrivate = *mut _GtkLevelBarAccessiblePrivate;
5863
5864#[derive(Copy, Clone)]
5865#[repr(C)]
5866pub struct GtkLevelBarClass {
5867    pub parent_class: GtkWidgetClass,
5868    pub offset_changed: Option<unsafe extern "C" fn(*mut GtkLevelBar, *const c_char)>,
5869    pub padding: [gpointer; 16],
5870}
5871
5872impl ::std::fmt::Debug for GtkLevelBarClass {
5873    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5874        f.debug_struct(&format!("GtkLevelBarClass @ {self:p}"))
5875            .field("offset_changed", &self.offset_changed)
5876            .finish()
5877    }
5878}
5879
5880#[repr(C)]
5881pub struct _GtkLevelBarPrivate {
5882    _data: [u8; 0],
5883    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5884}
5885
5886pub type GtkLevelBarPrivate = *mut _GtkLevelBarPrivate;
5887
5888#[derive(Copy, Clone)]
5889#[repr(C)]
5890pub struct GtkLinkButtonAccessibleClass {
5891    pub parent_class: GtkButtonAccessibleClass,
5892}
5893
5894impl ::std::fmt::Debug for GtkLinkButtonAccessibleClass {
5895    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5896        f.debug_struct(&format!("GtkLinkButtonAccessibleClass @ {self:p}"))
5897            .field("parent_class", &self.parent_class)
5898            .finish()
5899    }
5900}
5901
5902#[repr(C)]
5903pub struct _GtkLinkButtonAccessiblePrivate {
5904    _data: [u8; 0],
5905    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5906}
5907
5908pub type GtkLinkButtonAccessiblePrivate = *mut _GtkLinkButtonAccessiblePrivate;
5909
5910#[derive(Copy, Clone)]
5911#[repr(C)]
5912pub struct GtkLinkButtonClass {
5913    pub parent_class: GtkButtonClass,
5914    pub activate_link: Option<unsafe extern "C" fn(*mut GtkLinkButton) -> gboolean>,
5915    pub _gtk_padding1: Option<unsafe extern "C" fn()>,
5916    pub _gtk_padding2: Option<unsafe extern "C" fn()>,
5917    pub _gtk_padding3: Option<unsafe extern "C" fn()>,
5918    pub _gtk_padding4: Option<unsafe extern "C" fn()>,
5919}
5920
5921impl ::std::fmt::Debug for GtkLinkButtonClass {
5922    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5923        f.debug_struct(&format!("GtkLinkButtonClass @ {self:p}"))
5924            .field("activate_link", &self.activate_link)
5925            .field("_gtk_padding1", &self._gtk_padding1)
5926            .field("_gtk_padding2", &self._gtk_padding2)
5927            .field("_gtk_padding3", &self._gtk_padding3)
5928            .field("_gtk_padding4", &self._gtk_padding4)
5929            .finish()
5930    }
5931}
5932
5933#[repr(C)]
5934pub struct _GtkLinkButtonPrivate {
5935    _data: [u8; 0],
5936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5937}
5938
5939pub type GtkLinkButtonPrivate = *mut _GtkLinkButtonPrivate;
5940
5941#[derive(Copy, Clone)]
5942#[repr(C)]
5943pub struct GtkListBoxAccessibleClass {
5944    pub parent_class: GtkContainerAccessibleClass,
5945}
5946
5947impl ::std::fmt::Debug for GtkListBoxAccessibleClass {
5948    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5949        f.debug_struct(&format!("GtkListBoxAccessibleClass @ {self:p}"))
5950            .field("parent_class", &self.parent_class)
5951            .finish()
5952    }
5953}
5954
5955#[repr(C)]
5956pub struct _GtkListBoxAccessiblePrivate {
5957    _data: [u8; 0],
5958    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5959}
5960
5961pub type GtkListBoxAccessiblePrivate = *mut _GtkListBoxAccessiblePrivate;
5962
5963#[derive(Copy, Clone)]
5964#[repr(C)]
5965pub struct GtkListBoxClass {
5966    pub parent_class: GtkContainerClass,
5967    pub row_selected: Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow)>,
5968    pub row_activated: Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow)>,
5969    pub activate_cursor_row: Option<unsafe extern "C" fn(*mut GtkListBox)>,
5970    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkListBox)>,
5971    pub move_cursor: Option<unsafe extern "C" fn(*mut GtkListBox, GtkMovementStep, c_int)>,
5972    pub selected_rows_changed: Option<unsafe extern "C" fn(*mut GtkListBox)>,
5973    pub select_all: Option<unsafe extern "C" fn(*mut GtkListBox)>,
5974    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkListBox)>,
5975    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5976    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5977    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5978}
5979
5980impl ::std::fmt::Debug for GtkListBoxClass {
5981    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5982        f.debug_struct(&format!("GtkListBoxClass @ {self:p}"))
5983            .field("parent_class", &self.parent_class)
5984            .field("row_selected", &self.row_selected)
5985            .field("row_activated", &self.row_activated)
5986            .field("activate_cursor_row", &self.activate_cursor_row)
5987            .field("toggle_cursor_row", &self.toggle_cursor_row)
5988            .field("move_cursor", &self.move_cursor)
5989            .field("selected_rows_changed", &self.selected_rows_changed)
5990            .field("select_all", &self.select_all)
5991            .field("unselect_all", &self.unselect_all)
5992            .field("_gtk_reserved1", &self._gtk_reserved1)
5993            .field("_gtk_reserved2", &self._gtk_reserved2)
5994            .field("_gtk_reserved3", &self._gtk_reserved3)
5995            .finish()
5996    }
5997}
5998
5999#[derive(Copy, Clone)]
6000#[repr(C)]
6001pub struct GtkListBoxRowAccessibleClass {
6002    pub parent_class: GtkContainerAccessibleClass,
6003}
6004
6005impl ::std::fmt::Debug for GtkListBoxRowAccessibleClass {
6006    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6007        f.debug_struct(&format!("GtkListBoxRowAccessibleClass @ {self:p}"))
6008            .field("parent_class", &self.parent_class)
6009            .finish()
6010    }
6011}
6012
6013#[derive(Copy, Clone)]
6014#[repr(C)]
6015pub struct GtkListBoxRowClass {
6016    pub parent_class: GtkBinClass,
6017    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
6018    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6019    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6020}
6021
6022impl ::std::fmt::Debug for GtkListBoxRowClass {
6023    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6024        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
6025            .field("parent_class", &self.parent_class)
6026            .field("activate", &self.activate)
6027            .field("_gtk_reserved1", &self._gtk_reserved1)
6028            .field("_gtk_reserved2", &self._gtk_reserved2)
6029            .finish()
6030    }
6031}
6032
6033#[derive(Copy, Clone)]
6034#[repr(C)]
6035pub struct GtkListStoreClass {
6036    pub parent_class: gobject::GObjectClass,
6037    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6038    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6039    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6040    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6041}
6042
6043impl ::std::fmt::Debug for GtkListStoreClass {
6044    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6045        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
6046            .field("parent_class", &self.parent_class)
6047            .field("_gtk_reserved1", &self._gtk_reserved1)
6048            .field("_gtk_reserved2", &self._gtk_reserved2)
6049            .field("_gtk_reserved3", &self._gtk_reserved3)
6050            .field("_gtk_reserved4", &self._gtk_reserved4)
6051            .finish()
6052    }
6053}
6054
6055#[repr(C)]
6056pub struct _GtkListStorePrivate {
6057    _data: [u8; 0],
6058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6059}
6060
6061pub type GtkListStorePrivate = *mut _GtkListStorePrivate;
6062
6063#[derive(Copy, Clone)]
6064#[repr(C)]
6065pub struct GtkLockButtonAccessibleClass {
6066    pub parent_class: GtkButtonAccessibleClass,
6067}
6068
6069impl ::std::fmt::Debug for GtkLockButtonAccessibleClass {
6070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6071        f.debug_struct(&format!("GtkLockButtonAccessibleClass @ {self:p}"))
6072            .field("parent_class", &self.parent_class)
6073            .finish()
6074    }
6075}
6076
6077#[repr(C)]
6078pub struct _GtkLockButtonAccessiblePrivate {
6079    _data: [u8; 0],
6080    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6081}
6082
6083pub type GtkLockButtonAccessiblePrivate = *mut _GtkLockButtonAccessiblePrivate;
6084
6085#[derive(Copy, Clone)]
6086#[repr(C)]
6087pub struct GtkLockButtonClass {
6088    pub parent_class: GtkButtonClass,
6089    pub reserved0: Option<unsafe extern "C" fn()>,
6090    pub reserved1: Option<unsafe extern "C" fn()>,
6091    pub reserved2: Option<unsafe extern "C" fn()>,
6092    pub reserved3: Option<unsafe extern "C" fn()>,
6093    pub reserved4: Option<unsafe extern "C" fn()>,
6094    pub reserved5: Option<unsafe extern "C" fn()>,
6095    pub reserved6: Option<unsafe extern "C" fn()>,
6096    pub reserved7: Option<unsafe extern "C" fn()>,
6097}
6098
6099impl ::std::fmt::Debug for GtkLockButtonClass {
6100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6101        f.debug_struct(&format!("GtkLockButtonClass @ {self:p}"))
6102            .field("parent_class", &self.parent_class)
6103            .field("reserved0", &self.reserved0)
6104            .field("reserved1", &self.reserved1)
6105            .field("reserved2", &self.reserved2)
6106            .field("reserved3", &self.reserved3)
6107            .field("reserved4", &self.reserved4)
6108            .field("reserved5", &self.reserved5)
6109            .field("reserved6", &self.reserved6)
6110            .field("reserved7", &self.reserved7)
6111            .finish()
6112    }
6113}
6114
6115#[repr(C)]
6116pub struct _GtkLockButtonPrivate {
6117    _data: [u8; 0],
6118    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6119}
6120
6121pub type GtkLockButtonPrivate = *mut _GtkLockButtonPrivate;
6122
6123#[derive(Copy, Clone)]
6124#[repr(C)]
6125pub struct GtkMenuAccessibleClass {
6126    pub parent_class: GtkMenuShellAccessibleClass,
6127}
6128
6129impl ::std::fmt::Debug for GtkMenuAccessibleClass {
6130    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6131        f.debug_struct(&format!("GtkMenuAccessibleClass @ {self:p}"))
6132            .field("parent_class", &self.parent_class)
6133            .finish()
6134    }
6135}
6136
6137#[repr(C)]
6138pub struct _GtkMenuAccessiblePrivate {
6139    _data: [u8; 0],
6140    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6141}
6142
6143pub type GtkMenuAccessiblePrivate = *mut _GtkMenuAccessiblePrivate;
6144
6145#[derive(Copy, Clone)]
6146#[repr(C)]
6147pub struct GtkMenuBarClass {
6148    pub parent_class: GtkMenuShellClass,
6149    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6150    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6151    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6152    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6153}
6154
6155impl ::std::fmt::Debug for GtkMenuBarClass {
6156    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6157        f.debug_struct(&format!("GtkMenuBarClass @ {self:p}"))
6158            .field("parent_class", &self.parent_class)
6159            .field("_gtk_reserved1", &self._gtk_reserved1)
6160            .field("_gtk_reserved2", &self._gtk_reserved2)
6161            .field("_gtk_reserved3", &self._gtk_reserved3)
6162            .field("_gtk_reserved4", &self._gtk_reserved4)
6163            .finish()
6164    }
6165}
6166
6167#[repr(C)]
6168pub struct _GtkMenuBarPrivate {
6169    _data: [u8; 0],
6170    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6171}
6172
6173pub type GtkMenuBarPrivate = *mut _GtkMenuBarPrivate;
6174
6175#[derive(Copy, Clone)]
6176#[repr(C)]
6177pub struct GtkMenuButtonAccessibleClass {
6178    pub parent_class: GtkToggleButtonAccessibleClass,
6179}
6180
6181impl ::std::fmt::Debug for GtkMenuButtonAccessibleClass {
6182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6183        f.debug_struct(&format!("GtkMenuButtonAccessibleClass @ {self:p}"))
6184            .field("parent_class", &self.parent_class)
6185            .finish()
6186    }
6187}
6188
6189#[repr(C)]
6190pub struct _GtkMenuButtonAccessiblePrivate {
6191    _data: [u8; 0],
6192    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6193}
6194
6195pub type GtkMenuButtonAccessiblePrivate = *mut _GtkMenuButtonAccessiblePrivate;
6196
6197#[derive(Copy, Clone)]
6198#[repr(C)]
6199pub struct GtkMenuButtonClass {
6200    pub parent_class: GtkToggleButtonClass,
6201    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6202    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6203    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6204    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6205}
6206
6207impl ::std::fmt::Debug for GtkMenuButtonClass {
6208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6209        f.debug_struct(&format!("GtkMenuButtonClass @ {self:p}"))
6210            .field("parent_class", &self.parent_class)
6211            .field("_gtk_reserved1", &self._gtk_reserved1)
6212            .field("_gtk_reserved2", &self._gtk_reserved2)
6213            .field("_gtk_reserved3", &self._gtk_reserved3)
6214            .field("_gtk_reserved4", &self._gtk_reserved4)
6215            .finish()
6216    }
6217}
6218
6219#[repr(C)]
6220pub struct _GtkMenuButtonPrivate {
6221    _data: [u8; 0],
6222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6223}
6224
6225pub type GtkMenuButtonPrivate = *mut _GtkMenuButtonPrivate;
6226
6227#[derive(Copy, Clone)]
6228#[repr(C)]
6229pub struct GtkMenuClass {
6230    pub parent_class: GtkMenuShellClass,
6231    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6232    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6233    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6234    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6235}
6236
6237impl ::std::fmt::Debug for GtkMenuClass {
6238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6239        f.debug_struct(&format!("GtkMenuClass @ {self:p}"))
6240            .field("parent_class", &self.parent_class)
6241            .field("_gtk_reserved1", &self._gtk_reserved1)
6242            .field("_gtk_reserved2", &self._gtk_reserved2)
6243            .field("_gtk_reserved3", &self._gtk_reserved3)
6244            .field("_gtk_reserved4", &self._gtk_reserved4)
6245            .finish()
6246    }
6247}
6248
6249#[derive(Copy, Clone)]
6250#[repr(C)]
6251pub struct GtkMenuItemAccessibleClass {
6252    pub parent_class: GtkContainerAccessibleClass,
6253}
6254
6255impl ::std::fmt::Debug for GtkMenuItemAccessibleClass {
6256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6257        f.debug_struct(&format!("GtkMenuItemAccessibleClass @ {self:p}"))
6258            .field("parent_class", &self.parent_class)
6259            .finish()
6260    }
6261}
6262
6263#[repr(C)]
6264pub struct _GtkMenuItemAccessiblePrivate {
6265    _data: [u8; 0],
6266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6267}
6268
6269pub type GtkMenuItemAccessiblePrivate = *mut _GtkMenuItemAccessiblePrivate;
6270
6271#[derive(Copy, Clone)]
6272#[repr(C)]
6273pub struct GtkMenuItemClass {
6274    pub parent_class: GtkBinClass,
6275    pub hide_on_activate: c_uint,
6276    pub activate: Option<unsafe extern "C" fn(*mut GtkMenuItem)>,
6277    pub activate_item: Option<unsafe extern "C" fn(*mut GtkMenuItem)>,
6278    pub toggle_size_request: Option<unsafe extern "C" fn(*mut GtkMenuItem, c_int)>,
6279    pub toggle_size_allocate: Option<unsafe extern "C" fn(*mut GtkMenuItem, c_int)>,
6280    pub set_label: Option<unsafe extern "C" fn(*mut GtkMenuItem, *const c_char)>,
6281    pub get_label: Option<unsafe extern "C" fn(*mut GtkMenuItem) -> *const c_char>,
6282    pub select: Option<unsafe extern "C" fn(*mut GtkMenuItem)>,
6283    pub deselect: Option<unsafe extern "C" fn(*mut GtkMenuItem)>,
6284    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6285    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6286    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6287    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6288}
6289
6290impl ::std::fmt::Debug for GtkMenuItemClass {
6291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6292        f.debug_struct(&format!("GtkMenuItemClass @ {self:p}"))
6293            .field("parent_class", &self.parent_class)
6294            .field("hide_on_activate", &self.hide_on_activate)
6295            .field("activate", &self.activate)
6296            .field("activate_item", &self.activate_item)
6297            .field("toggle_size_request", &self.toggle_size_request)
6298            .field("toggle_size_allocate", &self.toggle_size_allocate)
6299            .field("set_label", &self.set_label)
6300            .field("get_label", &self.get_label)
6301            .field("select", &self.select)
6302            .field("deselect", &self.deselect)
6303            .field("_gtk_reserved1", &self._gtk_reserved1)
6304            .field("_gtk_reserved2", &self._gtk_reserved2)
6305            .field("_gtk_reserved3", &self._gtk_reserved3)
6306            .field("_gtk_reserved4", &self._gtk_reserved4)
6307            .finish()
6308    }
6309}
6310
6311#[repr(C)]
6312pub struct _GtkMenuItemPrivate {
6313    _data: [u8; 0],
6314    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6315}
6316
6317pub type GtkMenuItemPrivate = *mut _GtkMenuItemPrivate;
6318
6319#[repr(C)]
6320pub struct _GtkMenuPrivate {
6321    _data: [u8; 0],
6322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6323}
6324
6325pub type GtkMenuPrivate = *mut _GtkMenuPrivate;
6326
6327#[derive(Copy, Clone)]
6328#[repr(C)]
6329pub struct GtkMenuShellAccessibleClass {
6330    pub parent_class: GtkContainerAccessibleClass,
6331}
6332
6333impl ::std::fmt::Debug for GtkMenuShellAccessibleClass {
6334    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6335        f.debug_struct(&format!("GtkMenuShellAccessibleClass @ {self:p}"))
6336            .field("parent_class", &self.parent_class)
6337            .finish()
6338    }
6339}
6340
6341#[repr(C)]
6342pub struct _GtkMenuShellAccessiblePrivate {
6343    _data: [u8; 0],
6344    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6345}
6346
6347pub type GtkMenuShellAccessiblePrivate = *mut _GtkMenuShellAccessiblePrivate;
6348
6349#[derive(Copy, Clone)]
6350#[repr(C)]
6351pub struct GtkMenuShellClass {
6352    pub parent_class: GtkContainerClass,
6353    pub submenu_placement: c_uint,
6354    pub deactivate: Option<unsafe extern "C" fn(*mut GtkMenuShell)>,
6355    pub selection_done: Option<unsafe extern "C" fn(*mut GtkMenuShell)>,
6356    pub move_current: Option<unsafe extern "C" fn(*mut GtkMenuShell, GtkMenuDirectionType)>,
6357    pub activate_current: Option<unsafe extern "C" fn(*mut GtkMenuShell, gboolean)>,
6358    pub cancel: Option<unsafe extern "C" fn(*mut GtkMenuShell)>,
6359    pub select_item: Option<unsafe extern "C" fn(*mut GtkMenuShell, *mut GtkWidget)>,
6360    pub insert: Option<unsafe extern "C" fn(*mut GtkMenuShell, *mut GtkWidget, c_int)>,
6361    pub get_popup_delay: Option<unsafe extern "C" fn(*mut GtkMenuShell) -> c_int>,
6362    pub move_selected: Option<unsafe extern "C" fn(*mut GtkMenuShell, c_int) -> gboolean>,
6363    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6364    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6365    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6366    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6367}
6368
6369impl ::std::fmt::Debug for GtkMenuShellClass {
6370    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6371        f.debug_struct(&format!("GtkMenuShellClass @ {self:p}"))
6372            .field("parent_class", &self.parent_class)
6373            .field("submenu_placement", &self.submenu_placement)
6374            .field("deactivate", &self.deactivate)
6375            .field("selection_done", &self.selection_done)
6376            .field("move_current", &self.move_current)
6377            .field("activate_current", &self.activate_current)
6378            .field("cancel", &self.cancel)
6379            .field("select_item", &self.select_item)
6380            .field("insert", &self.insert)
6381            .field("get_popup_delay", &self.get_popup_delay)
6382            .field("move_selected", &self.move_selected)
6383            .field("_gtk_reserved1", &self._gtk_reserved1)
6384            .field("_gtk_reserved2", &self._gtk_reserved2)
6385            .field("_gtk_reserved3", &self._gtk_reserved3)
6386            .field("_gtk_reserved4", &self._gtk_reserved4)
6387            .finish()
6388    }
6389}
6390
6391#[repr(C)]
6392pub struct _GtkMenuShellPrivate {
6393    _data: [u8; 0],
6394    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6395}
6396
6397pub type GtkMenuShellPrivate = *mut _GtkMenuShellPrivate;
6398
6399#[derive(Copy, Clone)]
6400#[repr(C)]
6401pub struct GtkMenuToolButtonClass {
6402    pub parent_class: GtkToolButtonClass,
6403    pub show_menu: Option<unsafe extern "C" fn(*mut GtkMenuToolButton)>,
6404    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6405    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6406    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6407    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6408}
6409
6410impl ::std::fmt::Debug for GtkMenuToolButtonClass {
6411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6412        f.debug_struct(&format!("GtkMenuToolButtonClass @ {self:p}"))
6413            .field("parent_class", &self.parent_class)
6414            .field("show_menu", &self.show_menu)
6415            .field("_gtk_reserved1", &self._gtk_reserved1)
6416            .field("_gtk_reserved2", &self._gtk_reserved2)
6417            .field("_gtk_reserved3", &self._gtk_reserved3)
6418            .field("_gtk_reserved4", &self._gtk_reserved4)
6419            .finish()
6420    }
6421}
6422
6423#[repr(C)]
6424pub struct _GtkMenuToolButtonPrivate {
6425    _data: [u8; 0],
6426    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6427}
6428
6429pub type GtkMenuToolButtonPrivate = *mut _GtkMenuToolButtonPrivate;
6430
6431#[derive(Copy, Clone)]
6432#[repr(C)]
6433pub struct GtkMessageDialogClass {
6434    pub parent_class: GtkDialogClass,
6435    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6436    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6437    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6438    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6439}
6440
6441impl ::std::fmt::Debug for GtkMessageDialogClass {
6442    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6443        f.debug_struct(&format!("GtkMessageDialogClass @ {self:p}"))
6444            .field("parent_class", &self.parent_class)
6445            .field("_gtk_reserved1", &self._gtk_reserved1)
6446            .field("_gtk_reserved2", &self._gtk_reserved2)
6447            .field("_gtk_reserved3", &self._gtk_reserved3)
6448            .field("_gtk_reserved4", &self._gtk_reserved4)
6449            .finish()
6450    }
6451}
6452
6453#[repr(C)]
6454pub struct _GtkMessageDialogPrivate {
6455    _data: [u8; 0],
6456    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6457}
6458
6459pub type GtkMessageDialogPrivate = *mut _GtkMessageDialogPrivate;
6460
6461#[derive(Copy, Clone)]
6462#[repr(C)]
6463pub struct GtkMiscClass {
6464    pub parent_class: GtkWidgetClass,
6465    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6466    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6467    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6468    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6469}
6470
6471impl ::std::fmt::Debug for GtkMiscClass {
6472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6473        f.debug_struct(&format!("GtkMiscClass @ {self:p}"))
6474            .field("parent_class", &self.parent_class)
6475            .field("_gtk_reserved1", &self._gtk_reserved1)
6476            .field("_gtk_reserved2", &self._gtk_reserved2)
6477            .field("_gtk_reserved3", &self._gtk_reserved3)
6478            .field("_gtk_reserved4", &self._gtk_reserved4)
6479            .finish()
6480    }
6481}
6482
6483#[repr(C)]
6484pub struct _GtkMiscPrivate {
6485    _data: [u8; 0],
6486    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6487}
6488
6489pub type GtkMiscPrivate = *mut _GtkMiscPrivate;
6490
6491#[derive(Copy, Clone)]
6492#[repr(C)]
6493pub struct GtkMountOperationClass {
6494    pub parent_class: gio::GMountOperationClass,
6495    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6496    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6497    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6498    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6499}
6500
6501impl ::std::fmt::Debug for GtkMountOperationClass {
6502    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6503        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
6504            .field("parent_class", &self.parent_class)
6505            .field("_gtk_reserved1", &self._gtk_reserved1)
6506            .field("_gtk_reserved2", &self._gtk_reserved2)
6507            .field("_gtk_reserved3", &self._gtk_reserved3)
6508            .field("_gtk_reserved4", &self._gtk_reserved4)
6509            .finish()
6510    }
6511}
6512
6513#[repr(C)]
6514pub struct _GtkMountOperationPrivate {
6515    _data: [u8; 0],
6516    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6517}
6518
6519pub type GtkMountOperationPrivate = *mut _GtkMountOperationPrivate;
6520
6521#[derive(Copy, Clone)]
6522#[repr(C)]
6523pub struct GtkNativeDialogClass {
6524    pub parent_class: gobject::GObjectClass,
6525    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
6526    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
6527    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
6528    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6529    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6530    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6531    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6532}
6533
6534impl ::std::fmt::Debug for GtkNativeDialogClass {
6535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6536        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
6537            .field("parent_class", &self.parent_class)
6538            .field("response", &self.response)
6539            .field("show", &self.show)
6540            .field("hide", &self.hide)
6541            .field("_gtk_reserved1", &self._gtk_reserved1)
6542            .field("_gtk_reserved2", &self._gtk_reserved2)
6543            .field("_gtk_reserved3", &self._gtk_reserved3)
6544            .field("_gtk_reserved4", &self._gtk_reserved4)
6545            .finish()
6546    }
6547}
6548
6549#[derive(Copy, Clone)]
6550#[repr(C)]
6551pub struct GtkNotebookAccessibleClass {
6552    pub parent_class: GtkContainerAccessibleClass,
6553}
6554
6555impl ::std::fmt::Debug for GtkNotebookAccessibleClass {
6556    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6557        f.debug_struct(&format!("GtkNotebookAccessibleClass @ {self:p}"))
6558            .field("parent_class", &self.parent_class)
6559            .finish()
6560    }
6561}
6562
6563#[repr(C)]
6564pub struct _GtkNotebookAccessiblePrivate {
6565    _data: [u8; 0],
6566    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6567}
6568
6569pub type GtkNotebookAccessiblePrivate = *mut _GtkNotebookAccessiblePrivate;
6570
6571#[derive(Copy, Clone)]
6572#[repr(C)]
6573pub struct GtkNotebookClass {
6574    pub parent_class: GtkContainerClass,
6575    pub switch_page: Option<unsafe extern "C" fn(*mut GtkNotebook, *mut GtkWidget, c_uint)>,
6576    pub select_page: Option<unsafe extern "C" fn(*mut GtkNotebook, gboolean) -> gboolean>,
6577    pub focus_tab: Option<unsafe extern "C" fn(*mut GtkNotebook, GtkNotebookTab) -> gboolean>,
6578    pub change_current_page: Option<unsafe extern "C" fn(*mut GtkNotebook, c_int) -> gboolean>,
6579    pub move_focus_out: Option<unsafe extern "C" fn(*mut GtkNotebook, GtkDirectionType)>,
6580    pub reorder_tab:
6581        Option<unsafe extern "C" fn(*mut GtkNotebook, GtkDirectionType, gboolean) -> gboolean>,
6582    pub insert_page: Option<
6583        unsafe extern "C" fn(
6584            *mut GtkNotebook,
6585            *mut GtkWidget,
6586            *mut GtkWidget,
6587            *mut GtkWidget,
6588            c_int,
6589        ) -> c_int,
6590    >,
6591    pub create_window: Option<
6592        unsafe extern "C" fn(*mut GtkNotebook, *mut GtkWidget, c_int, c_int) -> *mut GtkNotebook,
6593    >,
6594    pub page_reordered: Option<unsafe extern "C" fn(*mut GtkNotebook, *mut GtkWidget, c_uint)>,
6595    pub page_removed: Option<unsafe extern "C" fn(*mut GtkNotebook, *mut GtkWidget, c_uint)>,
6596    pub page_added: Option<unsafe extern "C" fn(*mut GtkNotebook, *mut GtkWidget, c_uint)>,
6597    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6598    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6599    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6600    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6601    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
6602    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
6603    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
6604    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
6605}
6606
6607impl ::std::fmt::Debug for GtkNotebookClass {
6608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6609        f.debug_struct(&format!("GtkNotebookClass @ {self:p}"))
6610            .field("parent_class", &self.parent_class)
6611            .field("switch_page", &self.switch_page)
6612            .field("select_page", &self.select_page)
6613            .field("focus_tab", &self.focus_tab)
6614            .field("change_current_page", &self.change_current_page)
6615            .field("move_focus_out", &self.move_focus_out)
6616            .field("reorder_tab", &self.reorder_tab)
6617            .field("insert_page", &self.insert_page)
6618            .field("create_window", &self.create_window)
6619            .field("page_reordered", &self.page_reordered)
6620            .field("page_removed", &self.page_removed)
6621            .field("page_added", &self.page_added)
6622            .field("_gtk_reserved1", &self._gtk_reserved1)
6623            .field("_gtk_reserved2", &self._gtk_reserved2)
6624            .field("_gtk_reserved3", &self._gtk_reserved3)
6625            .field("_gtk_reserved4", &self._gtk_reserved4)
6626            .field("_gtk_reserved5", &self._gtk_reserved5)
6627            .field("_gtk_reserved6", &self._gtk_reserved6)
6628            .field("_gtk_reserved7", &self._gtk_reserved7)
6629            .field("_gtk_reserved8", &self._gtk_reserved8)
6630            .finish()
6631    }
6632}
6633
6634#[derive(Copy, Clone)]
6635#[repr(C)]
6636pub struct GtkNotebookPageAccessibleClass {
6637    pub parent_class: atk::AtkObjectClass,
6638}
6639
6640impl ::std::fmt::Debug for GtkNotebookPageAccessibleClass {
6641    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6642        f.debug_struct(&format!("GtkNotebookPageAccessibleClass @ {self:p}"))
6643            .field("parent_class", &self.parent_class)
6644            .finish()
6645    }
6646}
6647
6648#[repr(C)]
6649pub struct _GtkNotebookPageAccessiblePrivate {
6650    _data: [u8; 0],
6651    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6652}
6653
6654pub type GtkNotebookPageAccessiblePrivate = *mut _GtkNotebookPageAccessiblePrivate;
6655
6656#[repr(C)]
6657pub struct _GtkNotebookPrivate {
6658    _data: [u8; 0],
6659    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6660}
6661
6662pub type GtkNotebookPrivate = *mut _GtkNotebookPrivate;
6663
6664#[derive(Copy, Clone)]
6665#[repr(C)]
6666pub struct GtkNumerableIconClass {
6667    pub parent_class: gio::GEmblemedIconClass,
6668    pub padding: [gpointer; 16],
6669}
6670
6671impl ::std::fmt::Debug for GtkNumerableIconClass {
6672    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6673        f.debug_struct(&format!("GtkNumerableIconClass @ {self:p}"))
6674            .field("parent_class", &self.parent_class)
6675            .field("padding", &self.padding)
6676            .finish()
6677    }
6678}
6679
6680#[repr(C)]
6681pub struct _GtkNumerableIconPrivate {
6682    _data: [u8; 0],
6683    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6684}
6685
6686pub type GtkNumerableIconPrivate = *mut _GtkNumerableIconPrivate;
6687
6688#[derive(Copy, Clone)]
6689#[repr(C)]
6690pub struct GtkOffscreenWindowClass {
6691    pub parent_class: GtkWindowClass,
6692    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6693    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6694    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6695    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6696}
6697
6698impl ::std::fmt::Debug for GtkOffscreenWindowClass {
6699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6700        f.debug_struct(&format!("GtkOffscreenWindowClass @ {self:p}"))
6701            .field("parent_class", &self.parent_class)
6702            .field("_gtk_reserved1", &self._gtk_reserved1)
6703            .field("_gtk_reserved2", &self._gtk_reserved2)
6704            .field("_gtk_reserved3", &self._gtk_reserved3)
6705            .field("_gtk_reserved4", &self._gtk_reserved4)
6706            .finish()
6707    }
6708}
6709
6710#[derive(Copy, Clone)]
6711#[repr(C)]
6712pub struct GtkOrientableIface {
6713    pub base_iface: gobject::GTypeInterface,
6714}
6715
6716impl ::std::fmt::Debug for GtkOrientableIface {
6717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6718        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
6719            .field("base_iface", &self.base_iface)
6720            .finish()
6721    }
6722}
6723
6724#[derive(Copy, Clone)]
6725#[repr(C)]
6726pub struct GtkOverlayClass {
6727    pub parent_class: GtkBinClass,
6728    pub get_child_position: Option<
6729        unsafe extern "C" fn(*mut GtkOverlay, *mut GtkWidget, *mut GtkAllocation) -> gboolean,
6730    >,
6731    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6732    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6733    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6734    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6735    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
6736    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
6737    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
6738    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
6739}
6740
6741impl ::std::fmt::Debug for GtkOverlayClass {
6742    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6743        f.debug_struct(&format!("GtkOverlayClass @ {self:p}"))
6744            .field("parent_class", &self.parent_class)
6745            .field("get_child_position", &self.get_child_position)
6746            .field("_gtk_reserved1", &self._gtk_reserved1)
6747            .field("_gtk_reserved2", &self._gtk_reserved2)
6748            .field("_gtk_reserved3", &self._gtk_reserved3)
6749            .field("_gtk_reserved4", &self._gtk_reserved4)
6750            .field("_gtk_reserved5", &self._gtk_reserved5)
6751            .field("_gtk_reserved6", &self._gtk_reserved6)
6752            .field("_gtk_reserved7", &self._gtk_reserved7)
6753            .field("_gtk_reserved8", &self._gtk_reserved8)
6754            .finish()
6755    }
6756}
6757
6758#[repr(C)]
6759pub struct _GtkOverlayPrivate {
6760    _data: [u8; 0],
6761    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6762}
6763
6764pub type GtkOverlayPrivate = *mut _GtkOverlayPrivate;
6765
6766#[derive(Copy, Clone)]
6767#[repr(C)]
6768pub struct GtkPadActionEntry {
6769    pub type_: GtkPadActionType,
6770    pub index: c_int,
6771    pub mode: c_int,
6772    pub label: *mut c_char,
6773    pub action_name: *mut c_char,
6774}
6775
6776impl ::std::fmt::Debug for GtkPadActionEntry {
6777    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6778        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
6779            .field("type_", &self.type_)
6780            .field("index", &self.index)
6781            .field("mode", &self.mode)
6782            .field("label", &self.label)
6783            .field("action_name", &self.action_name)
6784            .finish()
6785    }
6786}
6787
6788#[repr(C)]
6789pub struct _GtkPadControllerClass {
6790    _data: [u8; 0],
6791    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6792}
6793
6794pub type GtkPadControllerClass = *mut _GtkPadControllerClass;
6795
6796#[derive(Copy, Clone)]
6797#[repr(C)]
6798pub struct GtkPageRange {
6799    pub start: c_int,
6800    pub end: c_int,
6801}
6802
6803impl ::std::fmt::Debug for GtkPageRange {
6804    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6805        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
6806            .field("start", &self.start)
6807            .field("end", &self.end)
6808            .finish()
6809    }
6810}
6811
6812#[derive(Copy, Clone)]
6813#[repr(C)]
6814pub struct GtkPanedAccessibleClass {
6815    pub parent_class: GtkContainerAccessibleClass,
6816}
6817
6818impl ::std::fmt::Debug for GtkPanedAccessibleClass {
6819    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6820        f.debug_struct(&format!("GtkPanedAccessibleClass @ {self:p}"))
6821            .field("parent_class", &self.parent_class)
6822            .finish()
6823    }
6824}
6825
6826#[repr(C)]
6827pub struct _GtkPanedAccessiblePrivate {
6828    _data: [u8; 0],
6829    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6830}
6831
6832pub type GtkPanedAccessiblePrivate = *mut _GtkPanedAccessiblePrivate;
6833
6834#[derive(Copy, Clone)]
6835#[repr(C)]
6836pub struct GtkPanedClass {
6837    pub parent_class: GtkContainerClass,
6838    pub cycle_child_focus: Option<unsafe extern "C" fn(*mut GtkPaned, gboolean) -> gboolean>,
6839    pub toggle_handle_focus: Option<unsafe extern "C" fn(*mut GtkPaned) -> gboolean>,
6840    pub move_handle: Option<unsafe extern "C" fn(*mut GtkPaned, GtkScrollType) -> gboolean>,
6841    pub cycle_handle_focus: Option<unsafe extern "C" fn(*mut GtkPaned, gboolean) -> gboolean>,
6842    pub accept_position: Option<unsafe extern "C" fn(*mut GtkPaned) -> gboolean>,
6843    pub cancel_position: Option<unsafe extern "C" fn(*mut GtkPaned) -> gboolean>,
6844    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6845    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6846    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6847    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6848}
6849
6850impl ::std::fmt::Debug for GtkPanedClass {
6851    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6852        f.debug_struct(&format!("GtkPanedClass @ {self:p}"))
6853            .field("parent_class", &self.parent_class)
6854            .field("cycle_child_focus", &self.cycle_child_focus)
6855            .field("toggle_handle_focus", &self.toggle_handle_focus)
6856            .field("move_handle", &self.move_handle)
6857            .field("cycle_handle_focus", &self.cycle_handle_focus)
6858            .field("accept_position", &self.accept_position)
6859            .field("cancel_position", &self.cancel_position)
6860            .field("_gtk_reserved1", &self._gtk_reserved1)
6861            .field("_gtk_reserved2", &self._gtk_reserved2)
6862            .field("_gtk_reserved3", &self._gtk_reserved3)
6863            .field("_gtk_reserved4", &self._gtk_reserved4)
6864            .finish()
6865    }
6866}
6867
6868#[repr(C)]
6869pub struct _GtkPanedPrivate {
6870    _data: [u8; 0],
6871    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6872}
6873
6874pub type GtkPanedPrivate = *mut _GtkPanedPrivate;
6875
6876#[repr(C)]
6877pub struct GtkPaperSize {
6878    _data: [u8; 0],
6879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6880}
6881
6882impl ::std::fmt::Debug for GtkPaperSize {
6883    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6884        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
6885    }
6886}
6887
6888#[repr(C)]
6889pub struct _GtkPlacesSidebarClass {
6890    _data: [u8; 0],
6891    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6892}
6893
6894pub type GtkPlacesSidebarClass = *mut _GtkPlacesSidebarClass;
6895
6896#[derive(Copy, Clone)]
6897#[repr(C)]
6898pub struct GtkPlugAccessibleClass {
6899    pub parent_class: GtkWindowAccessibleClass,
6900}
6901
6902impl ::std::fmt::Debug for GtkPlugAccessibleClass {
6903    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6904        f.debug_struct(&format!("GtkPlugAccessibleClass @ {self:p}"))
6905            .field("parent_class", &self.parent_class)
6906            .finish()
6907    }
6908}
6909
6910#[repr(C)]
6911pub struct _GtkPlugAccessiblePrivate {
6912    _data: [u8; 0],
6913    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6914}
6915
6916pub type GtkPlugAccessiblePrivate = *mut _GtkPlugAccessiblePrivate;
6917
6918#[derive(Copy, Clone)]
6919#[repr(C)]
6920pub struct GtkPlugClass {
6921    pub parent_class: GtkWindowClass,
6922    pub embedded: Option<unsafe extern "C" fn(*mut GtkPlug)>,
6923    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6924    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6925    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6926    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6927}
6928
6929impl ::std::fmt::Debug for GtkPlugClass {
6930    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6931        f.debug_struct(&format!("GtkPlugClass @ {self:p}"))
6932            .field("parent_class", &self.parent_class)
6933            .field("embedded", &self.embedded)
6934            .field("_gtk_reserved1", &self._gtk_reserved1)
6935            .field("_gtk_reserved2", &self._gtk_reserved2)
6936            .field("_gtk_reserved3", &self._gtk_reserved3)
6937            .field("_gtk_reserved4", &self._gtk_reserved4)
6938            .finish()
6939    }
6940}
6941
6942#[repr(C)]
6943pub struct _GtkPlugPrivate {
6944    _data: [u8; 0],
6945    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6946}
6947
6948pub type GtkPlugPrivate = *mut _GtkPlugPrivate;
6949
6950#[derive(Copy, Clone)]
6951#[repr(C)]
6952pub struct GtkPopoverAccessibleClass {
6953    pub parent_class: GtkContainerAccessibleClass,
6954}
6955
6956impl ::std::fmt::Debug for GtkPopoverAccessibleClass {
6957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6958        f.debug_struct(&format!("GtkPopoverAccessibleClass @ {self:p}"))
6959            .field("parent_class", &self.parent_class)
6960            .finish()
6961    }
6962}
6963
6964#[derive(Copy, Clone)]
6965#[repr(C)]
6966pub struct GtkPopoverClass {
6967    pub parent_class: GtkBinClass,
6968    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
6969    pub reserved: [gpointer; 10],
6970}
6971
6972impl ::std::fmt::Debug for GtkPopoverClass {
6973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6974        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
6975            .field("parent_class", &self.parent_class)
6976            .field("closed", &self.closed)
6977            .finish()
6978    }
6979}
6980
6981#[derive(Copy, Clone)]
6982#[repr(C)]
6983pub struct GtkPopoverMenuClass {
6984    pub parent_class: GtkPopoverClass,
6985    pub reserved: [gpointer; 10],
6986}
6987
6988impl ::std::fmt::Debug for GtkPopoverMenuClass {
6989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6990        f.debug_struct(&format!("GtkPopoverMenuClass @ {self:p}"))
6991            .field("parent_class", &self.parent_class)
6992            .finish()
6993    }
6994}
6995
6996#[repr(C)]
6997pub struct _GtkPopoverPrivate {
6998    _data: [u8; 0],
6999    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7000}
7001
7002pub type GtkPopoverPrivate = *mut _GtkPopoverPrivate;
7003
7004#[derive(Copy, Clone)]
7005#[repr(C)]
7006pub struct GtkPrintOperationClass {
7007    pub parent_class: gobject::GObjectClass,
7008    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
7009    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
7010    pub paginate:
7011        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
7012    pub request_page_setup: Option<
7013        unsafe extern "C" fn(
7014            *mut GtkPrintOperation,
7015            *mut GtkPrintContext,
7016            c_int,
7017            *mut GtkPageSetup,
7018        ),
7019    >,
7020    pub draw_page:
7021        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
7022    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
7023    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
7024    pub create_custom_widget:
7025        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
7026    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
7027    pub preview: Option<
7028        unsafe extern "C" fn(
7029            *mut GtkPrintOperation,
7030            *mut GtkPrintOperationPreview,
7031            *mut GtkPrintContext,
7032            *mut GtkWindow,
7033        ) -> gboolean,
7034    >,
7035    pub update_custom_widget: Option<
7036        unsafe extern "C" fn(
7037            *mut GtkPrintOperation,
7038            *mut GtkWidget,
7039            *mut GtkPageSetup,
7040            *mut GtkPrintSettings,
7041        ),
7042    >,
7043    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7044    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7045    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7046    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7047    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
7048    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
7049    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
7050    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
7051}
7052
7053impl ::std::fmt::Debug for GtkPrintOperationClass {
7054    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7055        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
7056            .field("parent_class", &self.parent_class)
7057            .field("done", &self.done)
7058            .field("begin_print", &self.begin_print)
7059            .field("paginate", &self.paginate)
7060            .field("request_page_setup", &self.request_page_setup)
7061            .field("draw_page", &self.draw_page)
7062            .field("end_print", &self.end_print)
7063            .field("status_changed", &self.status_changed)
7064            .field("create_custom_widget", &self.create_custom_widget)
7065            .field("custom_widget_apply", &self.custom_widget_apply)
7066            .field("preview", &self.preview)
7067            .field("update_custom_widget", &self.update_custom_widget)
7068            .field("_gtk_reserved1", &self._gtk_reserved1)
7069            .field("_gtk_reserved2", &self._gtk_reserved2)
7070            .field("_gtk_reserved3", &self._gtk_reserved3)
7071            .field("_gtk_reserved4", &self._gtk_reserved4)
7072            .field("_gtk_reserved5", &self._gtk_reserved5)
7073            .field("_gtk_reserved6", &self._gtk_reserved6)
7074            .field("_gtk_reserved7", &self._gtk_reserved7)
7075            .field("_gtk_reserved8", &self._gtk_reserved8)
7076            .finish()
7077    }
7078}
7079
7080#[derive(Copy, Clone)]
7081#[repr(C)]
7082pub struct GtkPrintOperationPreviewIface {
7083    pub g_iface: gobject::GTypeInterface,
7084    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
7085    pub got_page_size: Option<
7086        unsafe extern "C" fn(
7087            *mut GtkPrintOperationPreview,
7088            *mut GtkPrintContext,
7089            *mut GtkPageSetup,
7090        ),
7091    >,
7092    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
7093    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
7094    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
7095    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7096    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7097    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7098    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7099    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
7100    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
7101    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
7102    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
7103}
7104
7105impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
7106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7107        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
7108            .field("g_iface", &self.g_iface)
7109            .field("ready", &self.ready)
7110            .field("got_page_size", &self.got_page_size)
7111            .field("render_page", &self.render_page)
7112            .field("is_selected", &self.is_selected)
7113            .field("end_preview", &self.end_preview)
7114            .field("_gtk_reserved1", &self._gtk_reserved1)
7115            .field("_gtk_reserved2", &self._gtk_reserved2)
7116            .field("_gtk_reserved3", &self._gtk_reserved3)
7117            .field("_gtk_reserved4", &self._gtk_reserved4)
7118            .field("_gtk_reserved5", &self._gtk_reserved5)
7119            .field("_gtk_reserved6", &self._gtk_reserved6)
7120            .field("_gtk_reserved7", &self._gtk_reserved7)
7121            .field("_gtk_reserved8", &self._gtk_reserved8)
7122            .finish()
7123    }
7124}
7125
7126#[repr(C)]
7127pub struct _GtkPrintOperationPrivate {
7128    _data: [u8; 0],
7129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7130}
7131
7132pub type GtkPrintOperationPrivate = *mut _GtkPrintOperationPrivate;
7133
7134#[derive(Copy, Clone)]
7135#[repr(C)]
7136pub struct GtkProgressBarAccessibleClass {
7137    pub parent_class: GtkWidgetAccessibleClass,
7138}
7139
7140impl ::std::fmt::Debug for GtkProgressBarAccessibleClass {
7141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7142        f.debug_struct(&format!("GtkProgressBarAccessibleClass @ {self:p}"))
7143            .field("parent_class", &self.parent_class)
7144            .finish()
7145    }
7146}
7147
7148#[repr(C)]
7149pub struct _GtkProgressBarAccessiblePrivate {
7150    _data: [u8; 0],
7151    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7152}
7153
7154pub type GtkProgressBarAccessiblePrivate = *mut _GtkProgressBarAccessiblePrivate;
7155
7156#[derive(Copy, Clone)]
7157#[repr(C)]
7158pub struct GtkProgressBarClass {
7159    pub parent_class: GtkWidgetClass,
7160    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7161    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7162    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7163    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7164}
7165
7166impl ::std::fmt::Debug for GtkProgressBarClass {
7167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7168        f.debug_struct(&format!("GtkProgressBarClass @ {self:p}"))
7169            .field("parent_class", &self.parent_class)
7170            .field("_gtk_reserved1", &self._gtk_reserved1)
7171            .field("_gtk_reserved2", &self._gtk_reserved2)
7172            .field("_gtk_reserved3", &self._gtk_reserved3)
7173            .field("_gtk_reserved4", &self._gtk_reserved4)
7174            .finish()
7175    }
7176}
7177
7178#[repr(C)]
7179pub struct _GtkProgressBarPrivate {
7180    _data: [u8; 0],
7181    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7182}
7183
7184pub type GtkProgressBarPrivate = *mut _GtkProgressBarPrivate;
7185
7186#[derive(Copy, Clone)]
7187#[repr(C)]
7188pub struct GtkRadioActionClass {
7189    pub parent_class: GtkToggleActionClass,
7190    pub changed: Option<unsafe extern "C" fn(*mut GtkRadioAction, *mut GtkRadioAction)>,
7191    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7192    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7193    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7194    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7195}
7196
7197impl ::std::fmt::Debug for GtkRadioActionClass {
7198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7199        f.debug_struct(&format!("GtkRadioActionClass @ {self:p}"))
7200            .field("parent_class", &self.parent_class)
7201            .field("changed", &self.changed)
7202            .field("_gtk_reserved1", &self._gtk_reserved1)
7203            .field("_gtk_reserved2", &self._gtk_reserved2)
7204            .field("_gtk_reserved3", &self._gtk_reserved3)
7205            .field("_gtk_reserved4", &self._gtk_reserved4)
7206            .finish()
7207    }
7208}
7209
7210#[derive(Copy, Clone)]
7211#[repr(C)]
7212pub struct GtkRadioActionEntry {
7213    pub name: *const c_char,
7214    pub stock_id: *const c_char,
7215    pub label: *const c_char,
7216    pub accelerator: *const c_char,
7217    pub tooltip: *const c_char,
7218    pub value: c_int,
7219}
7220
7221impl ::std::fmt::Debug for GtkRadioActionEntry {
7222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7223        f.debug_struct(&format!("GtkRadioActionEntry @ {self:p}"))
7224            .field("name", &self.name)
7225            .field("stock_id", &self.stock_id)
7226            .field("label", &self.label)
7227            .field("accelerator", &self.accelerator)
7228            .field("tooltip", &self.tooltip)
7229            .field("value", &self.value)
7230            .finish()
7231    }
7232}
7233
7234#[repr(C)]
7235pub struct _GtkRadioActionPrivate {
7236    _data: [u8; 0],
7237    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7238}
7239
7240pub type GtkRadioActionPrivate = *mut _GtkRadioActionPrivate;
7241
7242#[derive(Copy, Clone)]
7243#[repr(C)]
7244pub struct GtkRadioButtonAccessibleClass {
7245    pub parent_class: GtkToggleButtonAccessibleClass,
7246}
7247
7248impl ::std::fmt::Debug for GtkRadioButtonAccessibleClass {
7249    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7250        f.debug_struct(&format!("GtkRadioButtonAccessibleClass @ {self:p}"))
7251            .field("parent_class", &self.parent_class)
7252            .finish()
7253    }
7254}
7255
7256#[repr(C)]
7257pub struct _GtkRadioButtonAccessiblePrivate {
7258    _data: [u8; 0],
7259    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7260}
7261
7262pub type GtkRadioButtonAccessiblePrivate = *mut _GtkRadioButtonAccessiblePrivate;
7263
7264#[derive(Copy, Clone)]
7265#[repr(C)]
7266pub struct GtkRadioButtonClass {
7267    pub parent_class: GtkCheckButtonClass,
7268    pub group_changed: Option<unsafe extern "C" fn(*mut GtkRadioButton)>,
7269    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7270    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7271    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7272    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7273}
7274
7275impl ::std::fmt::Debug for GtkRadioButtonClass {
7276    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7277        f.debug_struct(&format!("GtkRadioButtonClass @ {self:p}"))
7278            .field("parent_class", &self.parent_class)
7279            .field("group_changed", &self.group_changed)
7280            .field("_gtk_reserved1", &self._gtk_reserved1)
7281            .field("_gtk_reserved2", &self._gtk_reserved2)
7282            .field("_gtk_reserved3", &self._gtk_reserved3)
7283            .field("_gtk_reserved4", &self._gtk_reserved4)
7284            .finish()
7285    }
7286}
7287
7288#[repr(C)]
7289pub struct _GtkRadioButtonPrivate {
7290    _data: [u8; 0],
7291    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7292}
7293
7294pub type GtkRadioButtonPrivate = *mut _GtkRadioButtonPrivate;
7295
7296#[derive(Copy, Clone)]
7297#[repr(C)]
7298pub struct GtkRadioMenuItemAccessibleClass {
7299    pub parent_class: GtkCheckMenuItemAccessibleClass,
7300}
7301
7302impl ::std::fmt::Debug for GtkRadioMenuItemAccessibleClass {
7303    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7304        f.debug_struct(&format!("GtkRadioMenuItemAccessibleClass @ {self:p}"))
7305            .field("parent_class", &self.parent_class)
7306            .finish()
7307    }
7308}
7309
7310#[repr(C)]
7311pub struct _GtkRadioMenuItemAccessiblePrivate {
7312    _data: [u8; 0],
7313    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7314}
7315
7316pub type GtkRadioMenuItemAccessiblePrivate = *mut _GtkRadioMenuItemAccessiblePrivate;
7317
7318#[derive(Copy, Clone)]
7319#[repr(C)]
7320pub struct GtkRadioMenuItemClass {
7321    pub parent_class: GtkCheckMenuItemClass,
7322    pub group_changed: Option<unsafe extern "C" fn(*mut GtkRadioMenuItem)>,
7323    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7324    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7325    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7326    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7327}
7328
7329impl ::std::fmt::Debug for GtkRadioMenuItemClass {
7330    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7331        f.debug_struct(&format!("GtkRadioMenuItemClass @ {self:p}"))
7332            .field("parent_class", &self.parent_class)
7333            .field("group_changed", &self.group_changed)
7334            .field("_gtk_reserved1", &self._gtk_reserved1)
7335            .field("_gtk_reserved2", &self._gtk_reserved2)
7336            .field("_gtk_reserved3", &self._gtk_reserved3)
7337            .field("_gtk_reserved4", &self._gtk_reserved4)
7338            .finish()
7339    }
7340}
7341
7342#[repr(C)]
7343pub struct _GtkRadioMenuItemPrivate {
7344    _data: [u8; 0],
7345    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7346}
7347
7348pub type GtkRadioMenuItemPrivate = *mut _GtkRadioMenuItemPrivate;
7349
7350#[derive(Copy, Clone)]
7351#[repr(C)]
7352pub struct GtkRadioToolButtonClass {
7353    pub parent_class: GtkToggleToolButtonClass,
7354    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7355    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7356    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7357    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7358}
7359
7360impl ::std::fmt::Debug for GtkRadioToolButtonClass {
7361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7362        f.debug_struct(&format!("GtkRadioToolButtonClass @ {self:p}"))
7363            .field("parent_class", &self.parent_class)
7364            .field("_gtk_reserved1", &self._gtk_reserved1)
7365            .field("_gtk_reserved2", &self._gtk_reserved2)
7366            .field("_gtk_reserved3", &self._gtk_reserved3)
7367            .field("_gtk_reserved4", &self._gtk_reserved4)
7368            .finish()
7369    }
7370}
7371
7372#[derive(Copy, Clone)]
7373#[repr(C)]
7374pub struct GtkRangeAccessibleClass {
7375    pub parent_class: GtkWidgetAccessibleClass,
7376}
7377
7378impl ::std::fmt::Debug for GtkRangeAccessibleClass {
7379    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7380        f.debug_struct(&format!("GtkRangeAccessibleClass @ {self:p}"))
7381            .field("parent_class", &self.parent_class)
7382            .finish()
7383    }
7384}
7385
7386#[repr(C)]
7387pub struct _GtkRangeAccessiblePrivate {
7388    _data: [u8; 0],
7389    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7390}
7391
7392pub type GtkRangeAccessiblePrivate = *mut _GtkRangeAccessiblePrivate;
7393
7394#[derive(Copy, Clone)]
7395#[repr(C)]
7396pub struct GtkRangeClass {
7397    pub parent_class: GtkWidgetClass,
7398    pub slider_detail: *mut c_char,
7399    pub stepper_detail: *mut c_char,
7400    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
7401    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
7402    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
7403    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
7404    pub change_value:
7405        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
7406    pub get_range_size_request:
7407        Option<unsafe extern "C" fn(*mut GtkRange, GtkOrientation, *mut c_int, *mut c_int)>,
7408    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7409    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7410    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7411}
7412
7413impl ::std::fmt::Debug for GtkRangeClass {
7414    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7415        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
7416            .field("parent_class", &self.parent_class)
7417            .field("slider_detail", &self.slider_detail)
7418            .field("stepper_detail", &self.stepper_detail)
7419            .field("value_changed", &self.value_changed)
7420            .field("adjust_bounds", &self.adjust_bounds)
7421            .field("move_slider", &self.move_slider)
7422            .field("get_range_border", &self.get_range_border)
7423            .field("change_value", &self.change_value)
7424            .field("get_range_size_request", &self.get_range_size_request)
7425            .field("_gtk_reserved1", &self._gtk_reserved1)
7426            .field("_gtk_reserved2", &self._gtk_reserved2)
7427            .field("_gtk_reserved3", &self._gtk_reserved3)
7428            .finish()
7429    }
7430}
7431
7432#[repr(C)]
7433pub struct _GtkRangePrivate {
7434    _data: [u8; 0],
7435    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7436}
7437
7438pub type GtkRangePrivate = *mut _GtkRangePrivate;
7439
7440#[repr(C)]
7441pub struct _GtkRcContext {
7442    _data: [u8; 0],
7443    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7444}
7445
7446pub type GtkRcContext = *mut _GtkRcContext;
7447
7448#[derive(Copy, Clone)]
7449#[repr(C)]
7450pub struct GtkRcProperty {
7451    pub type_name: glib::GQuark,
7452    pub property_name: glib::GQuark,
7453    pub origin: *mut c_char,
7454    pub value: gobject::GValue,
7455}
7456
7457impl ::std::fmt::Debug for GtkRcProperty {
7458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7459        f.debug_struct(&format!("GtkRcProperty @ {self:p}"))
7460            .field("type_name", &self.type_name)
7461            .field("property_name", &self.property_name)
7462            .field("origin", &self.origin)
7463            .field("value", &self.value)
7464            .finish()
7465    }
7466}
7467
7468#[derive(Copy, Clone)]
7469#[repr(C)]
7470pub struct GtkRcStyleClass {
7471    pub parent_class: gobject::GObjectClass,
7472    pub create_rc_style: Option<unsafe extern "C" fn(*mut GtkRcStyle) -> *mut GtkRcStyle>,
7473    pub parse: Option<
7474        unsafe extern "C" fn(*mut GtkRcStyle, *mut GtkSettings, *mut glib::GScanner) -> c_uint,
7475    >,
7476    pub merge: Option<unsafe extern "C" fn(*mut GtkRcStyle, *mut GtkRcStyle)>,
7477    pub create_style: Option<unsafe extern "C" fn(*mut GtkRcStyle) -> *mut GtkStyle>,
7478    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7479    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7480    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7481    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7482}
7483
7484impl ::std::fmt::Debug for GtkRcStyleClass {
7485    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7486        f.debug_struct(&format!("GtkRcStyleClass @ {self:p}"))
7487            .field("parent_class", &self.parent_class)
7488            .field("create_rc_style", &self.create_rc_style)
7489            .field("parse", &self.parse)
7490            .field("merge", &self.merge)
7491            .field("create_style", &self.create_style)
7492            .field("_gtk_reserved1", &self._gtk_reserved1)
7493            .field("_gtk_reserved2", &self._gtk_reserved2)
7494            .field("_gtk_reserved3", &self._gtk_reserved3)
7495            .field("_gtk_reserved4", &self._gtk_reserved4)
7496            .finish()
7497    }
7498}
7499
7500#[derive(Copy, Clone)]
7501#[repr(C)]
7502pub struct GtkRecentActionClass {
7503    pub parent_class: GtkActionClass,
7504    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7505    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7506    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7507    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7508}
7509
7510impl ::std::fmt::Debug for GtkRecentActionClass {
7511    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7512        f.debug_struct(&format!("GtkRecentActionClass @ {self:p}"))
7513            .field("parent_class", &self.parent_class)
7514            .field("_gtk_reserved1", &self._gtk_reserved1)
7515            .field("_gtk_reserved2", &self._gtk_reserved2)
7516            .field("_gtk_reserved3", &self._gtk_reserved3)
7517            .field("_gtk_reserved4", &self._gtk_reserved4)
7518            .finish()
7519    }
7520}
7521
7522#[repr(C)]
7523pub struct _GtkRecentActionPrivate {
7524    _data: [u8; 0],
7525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7526}
7527
7528pub type GtkRecentActionPrivate = *mut _GtkRecentActionPrivate;
7529
7530#[derive(Copy, Clone)]
7531#[repr(C)]
7532pub struct GtkRecentChooserDialogClass {
7533    pub parent_class: GtkDialogClass,
7534    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7535    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7536    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7537    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7538}
7539
7540impl ::std::fmt::Debug for GtkRecentChooserDialogClass {
7541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7542        f.debug_struct(&format!("GtkRecentChooserDialogClass @ {self:p}"))
7543            .field("parent_class", &self.parent_class)
7544            .field("_gtk_reserved1", &self._gtk_reserved1)
7545            .field("_gtk_reserved2", &self._gtk_reserved2)
7546            .field("_gtk_reserved3", &self._gtk_reserved3)
7547            .field("_gtk_reserved4", &self._gtk_reserved4)
7548            .finish()
7549    }
7550}
7551
7552#[repr(C)]
7553pub struct _GtkRecentChooserDialogPrivate {
7554    _data: [u8; 0],
7555    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7556}
7557
7558pub type GtkRecentChooserDialogPrivate = *mut _GtkRecentChooserDialogPrivate;
7559
7560#[derive(Copy, Clone)]
7561#[repr(C)]
7562pub struct GtkRecentChooserIface {
7563    pub base_iface: gobject::GTypeInterface,
7564    pub set_current_uri: Option<
7565        unsafe extern "C" fn(
7566            *mut GtkRecentChooser,
7567            *const c_char,
7568            *mut *mut glib::GError,
7569        ) -> gboolean,
7570    >,
7571    pub get_current_uri: Option<unsafe extern "C" fn(*mut GtkRecentChooser) -> *mut c_char>,
7572    pub select_uri: Option<
7573        unsafe extern "C" fn(
7574            *mut GtkRecentChooser,
7575            *const c_char,
7576            *mut *mut glib::GError,
7577        ) -> gboolean,
7578    >,
7579    pub unselect_uri: Option<unsafe extern "C" fn(*mut GtkRecentChooser, *const c_char)>,
7580    pub select_all: Option<unsafe extern "C" fn(*mut GtkRecentChooser)>,
7581    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkRecentChooser)>,
7582    pub get_items: Option<unsafe extern "C" fn(*mut GtkRecentChooser) -> *mut glib::GList>,
7583    pub get_recent_manager:
7584        Option<unsafe extern "C" fn(*mut GtkRecentChooser) -> *mut GtkRecentManager>,
7585    pub add_filter: Option<unsafe extern "C" fn(*mut GtkRecentChooser, *mut GtkRecentFilter)>,
7586    pub remove_filter: Option<unsafe extern "C" fn(*mut GtkRecentChooser, *mut GtkRecentFilter)>,
7587    pub list_filters: Option<unsafe extern "C" fn(*mut GtkRecentChooser) -> *mut glib::GSList>,
7588    pub set_sort_func: Option<
7589        unsafe extern "C" fn(
7590            *mut GtkRecentChooser,
7591            GtkRecentSortFunc,
7592            gpointer,
7593            glib::GDestroyNotify,
7594        ),
7595    >,
7596    pub item_activated: Option<unsafe extern "C" fn(*mut GtkRecentChooser)>,
7597    pub selection_changed: Option<unsafe extern "C" fn(*mut GtkRecentChooser)>,
7598}
7599
7600impl ::std::fmt::Debug for GtkRecentChooserIface {
7601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7602        f.debug_struct(&format!("GtkRecentChooserIface @ {self:p}"))
7603            .field("set_current_uri", &self.set_current_uri)
7604            .field("get_current_uri", &self.get_current_uri)
7605            .field("select_uri", &self.select_uri)
7606            .field("unselect_uri", &self.unselect_uri)
7607            .field("select_all", &self.select_all)
7608            .field("unselect_all", &self.unselect_all)
7609            .field("get_items", &self.get_items)
7610            .field("get_recent_manager", &self.get_recent_manager)
7611            .field("add_filter", &self.add_filter)
7612            .field("remove_filter", &self.remove_filter)
7613            .field("list_filters", &self.list_filters)
7614            .field("set_sort_func", &self.set_sort_func)
7615            .field("item_activated", &self.item_activated)
7616            .field("selection_changed", &self.selection_changed)
7617            .finish()
7618    }
7619}
7620
7621#[derive(Copy, Clone)]
7622#[repr(C)]
7623pub struct GtkRecentChooserMenuClass {
7624    pub parent_class: GtkMenuClass,
7625    pub gtk_recent1: Option<unsafe extern "C" fn()>,
7626    pub gtk_recent2: Option<unsafe extern "C" fn()>,
7627    pub gtk_recent3: Option<unsafe extern "C" fn()>,
7628    pub gtk_recent4: Option<unsafe extern "C" fn()>,
7629}
7630
7631impl ::std::fmt::Debug for GtkRecentChooserMenuClass {
7632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7633        f.debug_struct(&format!("GtkRecentChooserMenuClass @ {self:p}"))
7634            .field("parent_class", &self.parent_class)
7635            .field("gtk_recent1", &self.gtk_recent1)
7636            .field("gtk_recent2", &self.gtk_recent2)
7637            .field("gtk_recent3", &self.gtk_recent3)
7638            .field("gtk_recent4", &self.gtk_recent4)
7639            .finish()
7640    }
7641}
7642
7643#[repr(C)]
7644pub struct _GtkRecentChooserMenuPrivate {
7645    _data: [u8; 0],
7646    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7647}
7648
7649pub type GtkRecentChooserMenuPrivate = *mut _GtkRecentChooserMenuPrivate;
7650
7651#[derive(Copy, Clone)]
7652#[repr(C)]
7653pub struct GtkRecentChooserWidgetClass {
7654    pub parent_class: GtkBoxClass,
7655    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7656    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7657    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7658    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7659}
7660
7661impl ::std::fmt::Debug for GtkRecentChooserWidgetClass {
7662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7663        f.debug_struct(&format!("GtkRecentChooserWidgetClass @ {self:p}"))
7664            .field("parent_class", &self.parent_class)
7665            .field("_gtk_reserved1", &self._gtk_reserved1)
7666            .field("_gtk_reserved2", &self._gtk_reserved2)
7667            .field("_gtk_reserved3", &self._gtk_reserved3)
7668            .field("_gtk_reserved4", &self._gtk_reserved4)
7669            .finish()
7670    }
7671}
7672
7673#[repr(C)]
7674pub struct _GtkRecentChooserWidgetPrivate {
7675    _data: [u8; 0],
7676    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7677}
7678
7679pub type GtkRecentChooserWidgetPrivate = *mut _GtkRecentChooserWidgetPrivate;
7680
7681#[derive(Copy, Clone)]
7682#[repr(C)]
7683pub struct GtkRecentData {
7684    pub display_name: *mut c_char,
7685    pub description: *mut c_char,
7686    pub mime_type: *mut c_char,
7687    pub app_name: *mut c_char,
7688    pub app_exec: *mut c_char,
7689    pub groups: *mut *mut c_char,
7690    pub is_private: gboolean,
7691}
7692
7693impl ::std::fmt::Debug for GtkRecentData {
7694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7695        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
7696            .field("display_name", &self.display_name)
7697            .field("description", &self.description)
7698            .field("mime_type", &self.mime_type)
7699            .field("app_name", &self.app_name)
7700            .field("app_exec", &self.app_exec)
7701            .field("groups", &self.groups)
7702            .field("is_private", &self.is_private)
7703            .finish()
7704    }
7705}
7706
7707#[derive(Copy, Clone)]
7708#[repr(C)]
7709pub struct GtkRecentFilterInfo {
7710    pub contains: GtkRecentFilterFlags,
7711    pub uri: *const c_char,
7712    pub display_name: *const c_char,
7713    pub mime_type: *const c_char,
7714    pub applications: *mut *const c_char,
7715    pub groups: *mut *const c_char,
7716    pub age: c_int,
7717}
7718
7719impl ::std::fmt::Debug for GtkRecentFilterInfo {
7720    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7721        f.debug_struct(&format!("GtkRecentFilterInfo @ {self:p}"))
7722            .field("contains", &self.contains)
7723            .field("uri", &self.uri)
7724            .field("display_name", &self.display_name)
7725            .field("mime_type", &self.mime_type)
7726            .field("applications", &self.applications)
7727            .field("groups", &self.groups)
7728            .field("age", &self.age)
7729            .finish()
7730    }
7731}
7732
7733#[repr(C)]
7734pub struct GtkRecentInfo {
7735    _data: [u8; 0],
7736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7737}
7738
7739impl ::std::fmt::Debug for GtkRecentInfo {
7740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7741        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
7742            .finish()
7743    }
7744}
7745
7746#[derive(Copy, Clone)]
7747#[repr(C)]
7748pub struct GtkRecentManagerClass {
7749    pub parent_class: gobject::GObjectClass,
7750    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
7751    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
7752    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
7753    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
7754    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
7755}
7756
7757impl ::std::fmt::Debug for GtkRecentManagerClass {
7758    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7759        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
7760            .field("changed", &self.changed)
7761            .field("_gtk_recent1", &self._gtk_recent1)
7762            .field("_gtk_recent2", &self._gtk_recent2)
7763            .field("_gtk_recent3", &self._gtk_recent3)
7764            .field("_gtk_recent4", &self._gtk_recent4)
7765            .finish()
7766    }
7767}
7768
7769#[repr(C)]
7770pub struct _GtkRecentManagerPrivate {
7771    _data: [u8; 0],
7772    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7773}
7774
7775pub type GtkRecentManagerPrivate = *mut _GtkRecentManagerPrivate;
7776
7777#[derive(Copy, Clone)]
7778#[repr(C)]
7779pub struct GtkRendererCellAccessibleClass {
7780    pub parent_class: GtkCellAccessibleClass,
7781}
7782
7783impl ::std::fmt::Debug for GtkRendererCellAccessibleClass {
7784    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7785        f.debug_struct(&format!("GtkRendererCellAccessibleClass @ {self:p}"))
7786            .field("parent_class", &self.parent_class)
7787            .finish()
7788    }
7789}
7790
7791#[repr(C)]
7792pub struct _GtkRendererCellAccessiblePrivate {
7793    _data: [u8; 0],
7794    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7795}
7796
7797pub type GtkRendererCellAccessiblePrivate = *mut _GtkRendererCellAccessiblePrivate;
7798
7799#[derive(Copy, Clone)]
7800#[repr(C)]
7801pub struct GtkRequestedSize {
7802    pub data: gpointer,
7803    pub minimum_size: c_int,
7804    pub natural_size: c_int,
7805}
7806
7807impl ::std::fmt::Debug for GtkRequestedSize {
7808    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7809        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
7810            .field("data", &self.data)
7811            .field("minimum_size", &self.minimum_size)
7812            .field("natural_size", &self.natural_size)
7813            .finish()
7814    }
7815}
7816
7817#[derive(Copy, Clone)]
7818#[repr(C)]
7819pub struct GtkRequisition {
7820    pub width: c_int,
7821    pub height: c_int,
7822}
7823
7824impl ::std::fmt::Debug for GtkRequisition {
7825    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7826        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
7827            .field("width", &self.width)
7828            .field("height", &self.height)
7829            .finish()
7830    }
7831}
7832
7833#[derive(Copy, Clone)]
7834#[repr(C)]
7835pub struct GtkRevealerClass {
7836    pub parent_class: GtkBinClass,
7837}
7838
7839impl ::std::fmt::Debug for GtkRevealerClass {
7840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7841        f.debug_struct(&format!("GtkRevealerClass @ {self:p}"))
7842            .field("parent_class", &self.parent_class)
7843            .finish()
7844    }
7845}
7846
7847#[derive(Copy, Clone)]
7848#[repr(C)]
7849pub struct GtkScaleAccessibleClass {
7850    pub parent_class: GtkRangeAccessibleClass,
7851}
7852
7853impl ::std::fmt::Debug for GtkScaleAccessibleClass {
7854    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7855        f.debug_struct(&format!("GtkScaleAccessibleClass @ {self:p}"))
7856            .field("parent_class", &self.parent_class)
7857            .finish()
7858    }
7859}
7860
7861#[repr(C)]
7862pub struct _GtkScaleAccessiblePrivate {
7863    _data: [u8; 0],
7864    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7865}
7866
7867pub type GtkScaleAccessiblePrivate = *mut _GtkScaleAccessiblePrivate;
7868
7869#[derive(Copy, Clone)]
7870#[repr(C)]
7871pub struct GtkScaleButtonAccessibleClass {
7872    pub parent_class: GtkButtonAccessibleClass,
7873}
7874
7875impl ::std::fmt::Debug for GtkScaleButtonAccessibleClass {
7876    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7877        f.debug_struct(&format!("GtkScaleButtonAccessibleClass @ {self:p}"))
7878            .field("parent_class", &self.parent_class)
7879            .finish()
7880    }
7881}
7882
7883#[repr(C)]
7884pub struct _GtkScaleButtonAccessiblePrivate {
7885    _data: [u8; 0],
7886    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7887}
7888
7889pub type GtkScaleButtonAccessiblePrivate = *mut _GtkScaleButtonAccessiblePrivate;
7890
7891#[derive(Copy, Clone)]
7892#[repr(C)]
7893pub struct GtkScaleButtonClass {
7894    pub parent_class: GtkButtonClass,
7895    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
7896    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7897    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7898    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7899    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7900}
7901
7902impl ::std::fmt::Debug for GtkScaleButtonClass {
7903    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7904        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
7905            .field("parent_class", &self.parent_class)
7906            .field("value_changed", &self.value_changed)
7907            .field("_gtk_reserved1", &self._gtk_reserved1)
7908            .field("_gtk_reserved2", &self._gtk_reserved2)
7909            .field("_gtk_reserved3", &self._gtk_reserved3)
7910            .field("_gtk_reserved4", &self._gtk_reserved4)
7911            .finish()
7912    }
7913}
7914
7915#[repr(C)]
7916pub struct _GtkScaleButtonPrivate {
7917    _data: [u8; 0],
7918    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7919}
7920
7921pub type GtkScaleButtonPrivate = *mut _GtkScaleButtonPrivate;
7922
7923#[derive(Copy, Clone)]
7924#[repr(C)]
7925pub struct GtkScaleClass {
7926    pub parent_class: GtkRangeClass,
7927    pub format_value: Option<unsafe extern "C" fn(*mut GtkScale, c_double) -> *mut c_char>,
7928    pub draw_value: Option<unsafe extern "C" fn(*mut GtkScale)>,
7929    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
7930    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7931    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7932    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7933    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7934}
7935
7936impl ::std::fmt::Debug for GtkScaleClass {
7937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7938        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
7939            .field("parent_class", &self.parent_class)
7940            .field("format_value", &self.format_value)
7941            .field("draw_value", &self.draw_value)
7942            .field("get_layout_offsets", &self.get_layout_offsets)
7943            .field("_gtk_reserved1", &self._gtk_reserved1)
7944            .field("_gtk_reserved2", &self._gtk_reserved2)
7945            .field("_gtk_reserved3", &self._gtk_reserved3)
7946            .field("_gtk_reserved4", &self._gtk_reserved4)
7947            .finish()
7948    }
7949}
7950
7951#[repr(C)]
7952pub struct _GtkScalePrivate {
7953    _data: [u8; 0],
7954    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7955}
7956
7957pub type GtkScalePrivate = *mut _GtkScalePrivate;
7958
7959#[derive(Copy, Clone)]
7960#[repr(C)]
7961pub struct GtkScrollableInterface {
7962    pub base_iface: gobject::GTypeInterface,
7963    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
7964}
7965
7966impl ::std::fmt::Debug for GtkScrollableInterface {
7967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7968        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
7969            .field("base_iface", &self.base_iface)
7970            .field("get_border", &self.get_border)
7971            .finish()
7972    }
7973}
7974
7975#[derive(Copy, Clone)]
7976#[repr(C)]
7977pub struct GtkScrollbarClass {
7978    pub parent_class: GtkRangeClass,
7979    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
7980    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
7981    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
7982    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
7983}
7984
7985impl ::std::fmt::Debug for GtkScrollbarClass {
7986    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7987        f.debug_struct(&format!("GtkScrollbarClass @ {self:p}"))
7988            .field("parent_class", &self.parent_class)
7989            .field("_gtk_reserved1", &self._gtk_reserved1)
7990            .field("_gtk_reserved2", &self._gtk_reserved2)
7991            .field("_gtk_reserved3", &self._gtk_reserved3)
7992            .field("_gtk_reserved4", &self._gtk_reserved4)
7993            .finish()
7994    }
7995}
7996
7997#[derive(Copy, Clone)]
7998#[repr(C)]
7999pub struct GtkScrolledWindowAccessibleClass {
8000    pub parent_class: GtkContainerAccessibleClass,
8001}
8002
8003impl ::std::fmt::Debug for GtkScrolledWindowAccessibleClass {
8004    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8005        f.debug_struct(&format!("GtkScrolledWindowAccessibleClass @ {self:p}"))
8006            .field("parent_class", &self.parent_class)
8007            .finish()
8008    }
8009}
8010
8011#[repr(C)]
8012pub struct _GtkScrolledWindowAccessiblePrivate {
8013    _data: [u8; 0],
8014    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8015}
8016
8017pub type GtkScrolledWindowAccessiblePrivate = *mut _GtkScrolledWindowAccessiblePrivate;
8018
8019#[derive(Copy, Clone)]
8020#[repr(C)]
8021pub struct GtkScrolledWindowClass {
8022    pub parent_class: GtkBinClass,
8023    pub scrollbar_spacing: c_int,
8024    pub scroll_child:
8025        Option<unsafe extern "C" fn(*mut GtkScrolledWindow, GtkScrollType, gboolean) -> gboolean>,
8026    pub move_focus_out: Option<unsafe extern "C" fn(*mut GtkScrolledWindow, GtkDirectionType)>,
8027    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8028    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8029    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8030    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8031}
8032
8033impl ::std::fmt::Debug for GtkScrolledWindowClass {
8034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8035        f.debug_struct(&format!("GtkScrolledWindowClass @ {self:p}"))
8036            .field("parent_class", &self.parent_class)
8037            .field("scrollbar_spacing", &self.scrollbar_spacing)
8038            .field("scroll_child", &self.scroll_child)
8039            .field("move_focus_out", &self.move_focus_out)
8040            .field("_gtk_reserved1", &self._gtk_reserved1)
8041            .field("_gtk_reserved2", &self._gtk_reserved2)
8042            .field("_gtk_reserved3", &self._gtk_reserved3)
8043            .field("_gtk_reserved4", &self._gtk_reserved4)
8044            .finish()
8045    }
8046}
8047
8048#[repr(C)]
8049pub struct _GtkScrolledWindowPrivate {
8050    _data: [u8; 0],
8051    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8052}
8053
8054pub type GtkScrolledWindowPrivate = *mut _GtkScrolledWindowPrivate;
8055
8056#[derive(Copy, Clone)]
8057#[repr(C)]
8058pub struct GtkSearchBarClass {
8059    pub parent_class: GtkBinClass,
8060    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8061    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8062    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8063    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8064}
8065
8066impl ::std::fmt::Debug for GtkSearchBarClass {
8067    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8068        f.debug_struct(&format!("GtkSearchBarClass @ {self:p}"))
8069            .field("parent_class", &self.parent_class)
8070            .field("_gtk_reserved1", &self._gtk_reserved1)
8071            .field("_gtk_reserved2", &self._gtk_reserved2)
8072            .field("_gtk_reserved3", &self._gtk_reserved3)
8073            .field("_gtk_reserved4", &self._gtk_reserved4)
8074            .finish()
8075    }
8076}
8077
8078#[derive(Copy, Clone)]
8079#[repr(C)]
8080pub struct GtkSearchEntryClass {
8081    pub parent_class: GtkEntryClass,
8082    pub search_changed: Option<unsafe extern "C" fn(*mut GtkSearchEntry)>,
8083    pub next_match: Option<unsafe extern "C" fn(*mut GtkSearchEntry)>,
8084    pub previous_match: Option<unsafe extern "C" fn(*mut GtkSearchEntry)>,
8085    pub stop_search: Option<unsafe extern "C" fn(*mut GtkSearchEntry)>,
8086}
8087
8088impl ::std::fmt::Debug for GtkSearchEntryClass {
8089    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8090        f.debug_struct(&format!("GtkSearchEntryClass @ {self:p}"))
8091            .field("parent_class", &self.parent_class)
8092            .field("search_changed", &self.search_changed)
8093            .field("next_match", &self.next_match)
8094            .field("previous_match", &self.previous_match)
8095            .field("stop_search", &self.stop_search)
8096            .finish()
8097    }
8098}
8099
8100#[repr(C)]
8101pub struct GtkSelectionData {
8102    _data: [u8; 0],
8103    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8104}
8105
8106impl ::std::fmt::Debug for GtkSelectionData {
8107    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8108        f.debug_struct(&format!("GtkSelectionData @ {self:p}"))
8109            .finish()
8110    }
8111}
8112
8113#[derive(Copy, Clone)]
8114#[repr(C)]
8115pub struct GtkSeparatorClass {
8116    pub parent_class: GtkWidgetClass,
8117    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8118    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8119    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8120    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8121}
8122
8123impl ::std::fmt::Debug for GtkSeparatorClass {
8124    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8125        f.debug_struct(&format!("GtkSeparatorClass @ {self:p}"))
8126            .field("parent_class", &self.parent_class)
8127            .field("_gtk_reserved1", &self._gtk_reserved1)
8128            .field("_gtk_reserved2", &self._gtk_reserved2)
8129            .field("_gtk_reserved3", &self._gtk_reserved3)
8130            .field("_gtk_reserved4", &self._gtk_reserved4)
8131            .finish()
8132    }
8133}
8134
8135#[derive(Copy, Clone)]
8136#[repr(C)]
8137pub struct GtkSeparatorMenuItemClass {
8138    pub parent_class: GtkMenuItemClass,
8139    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8140    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8141    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8142    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8143}
8144
8145impl ::std::fmt::Debug for GtkSeparatorMenuItemClass {
8146    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8147        f.debug_struct(&format!("GtkSeparatorMenuItemClass @ {self:p}"))
8148            .field("parent_class", &self.parent_class)
8149            .field("_gtk_reserved1", &self._gtk_reserved1)
8150            .field("_gtk_reserved2", &self._gtk_reserved2)
8151            .field("_gtk_reserved3", &self._gtk_reserved3)
8152            .field("_gtk_reserved4", &self._gtk_reserved4)
8153            .finish()
8154    }
8155}
8156
8157#[repr(C)]
8158pub struct _GtkSeparatorPrivate {
8159    _data: [u8; 0],
8160    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8161}
8162
8163pub type GtkSeparatorPrivate = *mut _GtkSeparatorPrivate;
8164
8165#[derive(Copy, Clone)]
8166#[repr(C)]
8167pub struct GtkSeparatorToolItemClass {
8168    pub parent_class: GtkToolItemClass,
8169    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8170    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8171    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8172    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8173}
8174
8175impl ::std::fmt::Debug for GtkSeparatorToolItemClass {
8176    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8177        f.debug_struct(&format!("GtkSeparatorToolItemClass @ {self:p}"))
8178            .field("parent_class", &self.parent_class)
8179            .field("_gtk_reserved1", &self._gtk_reserved1)
8180            .field("_gtk_reserved2", &self._gtk_reserved2)
8181            .field("_gtk_reserved3", &self._gtk_reserved3)
8182            .field("_gtk_reserved4", &self._gtk_reserved4)
8183            .finish()
8184    }
8185}
8186
8187#[repr(C)]
8188pub struct _GtkSeparatorToolItemPrivate {
8189    _data: [u8; 0],
8190    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8191}
8192
8193pub type GtkSeparatorToolItemPrivate = *mut _GtkSeparatorToolItemPrivate;
8194
8195#[derive(Copy, Clone)]
8196#[repr(C)]
8197pub struct GtkSettingsClass {
8198    pub parent_class: gobject::GObjectClass,
8199    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8200    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8201    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8202    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8203}
8204
8205impl ::std::fmt::Debug for GtkSettingsClass {
8206    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8207        f.debug_struct(&format!("GtkSettingsClass @ {self:p}"))
8208            .field("parent_class", &self.parent_class)
8209            .field("_gtk_reserved1", &self._gtk_reserved1)
8210            .field("_gtk_reserved2", &self._gtk_reserved2)
8211            .field("_gtk_reserved3", &self._gtk_reserved3)
8212            .field("_gtk_reserved4", &self._gtk_reserved4)
8213            .finish()
8214    }
8215}
8216
8217#[repr(C)]
8218pub struct _GtkSettingsPrivate {
8219    _data: [u8; 0],
8220    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8221}
8222
8223pub type GtkSettingsPrivate = *mut _GtkSettingsPrivate;
8224
8225#[derive(Copy, Clone)]
8226#[repr(C)]
8227pub struct GtkSettingsValue {
8228    pub origin: *mut c_char,
8229    pub value: gobject::GValue,
8230}
8231
8232impl ::std::fmt::Debug for GtkSettingsValue {
8233    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8234        f.debug_struct(&format!("GtkSettingsValue @ {self:p}"))
8235            .field("origin", &self.origin)
8236            .field("value", &self.value)
8237            .finish()
8238    }
8239}
8240
8241#[repr(C)]
8242pub struct _GtkShortcutLabelClass {
8243    _data: [u8; 0],
8244    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8245}
8246
8247pub type GtkShortcutLabelClass = *mut _GtkShortcutLabelClass;
8248
8249#[repr(C)]
8250pub struct _GtkShortcutsGroupClass {
8251    _data: [u8; 0],
8252    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8253}
8254
8255pub type GtkShortcutsGroupClass = *mut _GtkShortcutsGroupClass;
8256
8257#[repr(C)]
8258pub struct _GtkShortcutsSectionClass {
8259    _data: [u8; 0],
8260    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8261}
8262
8263pub type GtkShortcutsSectionClass = *mut _GtkShortcutsSectionClass;
8264
8265#[repr(C)]
8266pub struct _GtkShortcutsShortcutClass {
8267    _data: [u8; 0],
8268    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8269}
8270
8271pub type GtkShortcutsShortcutClass = *mut _GtkShortcutsShortcutClass;
8272
8273#[derive(Copy, Clone)]
8274#[repr(C)]
8275pub struct GtkShortcutsWindowClass {
8276    pub parent_class: GtkWindowClass,
8277    pub close: Option<unsafe extern "C" fn(*mut GtkShortcutsWindow)>,
8278    pub search: Option<unsafe extern "C" fn(*mut GtkShortcutsWindow)>,
8279}
8280
8281impl ::std::fmt::Debug for GtkShortcutsWindowClass {
8282    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8283        f.debug_struct(&format!("GtkShortcutsWindowClass @ {self:p}"))
8284            .field("parent_class", &self.parent_class)
8285            .field("close", &self.close)
8286            .field("search", &self.search)
8287            .finish()
8288    }
8289}
8290
8291#[derive(Copy, Clone)]
8292#[repr(C)]
8293pub struct GtkSizeGroupClass {
8294    pub parent_class: gobject::GObjectClass,
8295    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8296    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8297    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8298    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8299}
8300
8301impl ::std::fmt::Debug for GtkSizeGroupClass {
8302    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8303        f.debug_struct(&format!("GtkSizeGroupClass @ {self:p}"))
8304            .field("parent_class", &self.parent_class)
8305            .field("_gtk_reserved1", &self._gtk_reserved1)
8306            .field("_gtk_reserved2", &self._gtk_reserved2)
8307            .field("_gtk_reserved3", &self._gtk_reserved3)
8308            .field("_gtk_reserved4", &self._gtk_reserved4)
8309            .finish()
8310    }
8311}
8312
8313#[repr(C)]
8314pub struct _GtkSizeGroupPrivate {
8315    _data: [u8; 0],
8316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8317}
8318
8319pub type GtkSizeGroupPrivate = *mut _GtkSizeGroupPrivate;
8320
8321#[derive(Copy, Clone)]
8322#[repr(C)]
8323pub struct GtkSocketAccessibleClass {
8324    pub parent_class: GtkContainerAccessibleClass,
8325}
8326
8327impl ::std::fmt::Debug for GtkSocketAccessibleClass {
8328    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8329        f.debug_struct(&format!("GtkSocketAccessibleClass @ {self:p}"))
8330            .field("parent_class", &self.parent_class)
8331            .finish()
8332    }
8333}
8334
8335#[repr(C)]
8336pub struct _GtkSocketAccessiblePrivate {
8337    _data: [u8; 0],
8338    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8339}
8340
8341pub type GtkSocketAccessiblePrivate = *mut _GtkSocketAccessiblePrivate;
8342
8343#[derive(Copy, Clone)]
8344#[repr(C)]
8345pub struct GtkSocketClass {
8346    pub parent_class: GtkContainerClass,
8347    pub plug_added: Option<unsafe extern "C" fn(*mut GtkSocket)>,
8348    pub plug_removed: Option<unsafe extern "C" fn(*mut GtkSocket) -> gboolean>,
8349    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8350    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8351    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8352    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8353}
8354
8355impl ::std::fmt::Debug for GtkSocketClass {
8356    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8357        f.debug_struct(&format!("GtkSocketClass @ {self:p}"))
8358            .field("parent_class", &self.parent_class)
8359            .field("plug_added", &self.plug_added)
8360            .field("plug_removed", &self.plug_removed)
8361            .field("_gtk_reserved1", &self._gtk_reserved1)
8362            .field("_gtk_reserved2", &self._gtk_reserved2)
8363            .field("_gtk_reserved3", &self._gtk_reserved3)
8364            .field("_gtk_reserved4", &self._gtk_reserved4)
8365            .finish()
8366    }
8367}
8368
8369#[repr(C)]
8370pub struct _GtkSocketPrivate {
8371    _data: [u8; 0],
8372    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8373}
8374
8375pub type GtkSocketPrivate = *mut _GtkSocketPrivate;
8376
8377#[derive(Copy, Clone)]
8378#[repr(C)]
8379pub struct GtkSpinButtonAccessibleClass {
8380    pub parent_class: GtkEntryAccessibleClass,
8381}
8382
8383impl ::std::fmt::Debug for GtkSpinButtonAccessibleClass {
8384    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8385        f.debug_struct(&format!("GtkSpinButtonAccessibleClass @ {self:p}"))
8386            .field("parent_class", &self.parent_class)
8387            .finish()
8388    }
8389}
8390
8391#[repr(C)]
8392pub struct _GtkSpinButtonAccessiblePrivate {
8393    _data: [u8; 0],
8394    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8395}
8396
8397pub type GtkSpinButtonAccessiblePrivate = *mut _GtkSpinButtonAccessiblePrivate;
8398
8399#[derive(Copy, Clone)]
8400#[repr(C)]
8401pub struct GtkSpinButtonClass {
8402    pub parent_class: GtkEntryClass,
8403    pub input: Option<unsafe extern "C" fn(*mut GtkSpinButton, *mut c_double) -> c_int>,
8404    pub output: Option<unsafe extern "C" fn(*mut GtkSpinButton) -> c_int>,
8405    pub value_changed: Option<unsafe extern "C" fn(*mut GtkSpinButton)>,
8406    pub change_value: Option<unsafe extern "C" fn(*mut GtkSpinButton, GtkScrollType)>,
8407    pub wrapped: Option<unsafe extern "C" fn(*mut GtkSpinButton)>,
8408    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8409    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8410    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8411    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8412}
8413
8414impl ::std::fmt::Debug for GtkSpinButtonClass {
8415    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8416        f.debug_struct(&format!("GtkSpinButtonClass @ {self:p}"))
8417            .field("parent_class", &self.parent_class)
8418            .field("input", &self.input)
8419            .field("output", &self.output)
8420            .field("value_changed", &self.value_changed)
8421            .field("change_value", &self.change_value)
8422            .field("wrapped", &self.wrapped)
8423            .field("_gtk_reserved1", &self._gtk_reserved1)
8424            .field("_gtk_reserved2", &self._gtk_reserved2)
8425            .field("_gtk_reserved3", &self._gtk_reserved3)
8426            .field("_gtk_reserved4", &self._gtk_reserved4)
8427            .finish()
8428    }
8429}
8430
8431#[repr(C)]
8432pub struct _GtkSpinButtonPrivate {
8433    _data: [u8; 0],
8434    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8435}
8436
8437pub type GtkSpinButtonPrivate = *mut _GtkSpinButtonPrivate;
8438
8439#[derive(Copy, Clone)]
8440#[repr(C)]
8441pub struct GtkSpinnerAccessibleClass {
8442    pub parent_class: GtkWidgetAccessibleClass,
8443}
8444
8445impl ::std::fmt::Debug for GtkSpinnerAccessibleClass {
8446    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8447        f.debug_struct(&format!("GtkSpinnerAccessibleClass @ {self:p}"))
8448            .field("parent_class", &self.parent_class)
8449            .finish()
8450    }
8451}
8452
8453#[repr(C)]
8454pub struct _GtkSpinnerAccessiblePrivate {
8455    _data: [u8; 0],
8456    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8457}
8458
8459pub type GtkSpinnerAccessiblePrivate = *mut _GtkSpinnerAccessiblePrivate;
8460
8461#[derive(Copy, Clone)]
8462#[repr(C)]
8463pub struct GtkSpinnerClass {
8464    pub parent_class: GtkWidgetClass,
8465    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8466    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8467    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8468    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8469}
8470
8471impl ::std::fmt::Debug for GtkSpinnerClass {
8472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8473        f.debug_struct(&format!("GtkSpinnerClass @ {self:p}"))
8474            .field("parent_class", &self.parent_class)
8475            .field("_gtk_reserved1", &self._gtk_reserved1)
8476            .field("_gtk_reserved2", &self._gtk_reserved2)
8477            .field("_gtk_reserved3", &self._gtk_reserved3)
8478            .field("_gtk_reserved4", &self._gtk_reserved4)
8479            .finish()
8480    }
8481}
8482
8483#[repr(C)]
8484pub struct _GtkSpinnerPrivate {
8485    _data: [u8; 0],
8486    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8487}
8488
8489pub type GtkSpinnerPrivate = *mut _GtkSpinnerPrivate;
8490
8491#[derive(Copy, Clone)]
8492#[repr(C)]
8493pub struct GtkStackAccessibleClass {
8494    pub parent_class: GtkContainerAccessibleClass,
8495}
8496
8497impl ::std::fmt::Debug for GtkStackAccessibleClass {
8498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8499        f.debug_struct(&format!("GtkStackAccessibleClass @ {self:p}"))
8500            .field("parent_class", &self.parent_class)
8501            .finish()
8502    }
8503}
8504
8505#[derive(Copy, Clone)]
8506#[repr(C)]
8507pub struct GtkStackClass {
8508    pub parent_class: GtkContainerClass,
8509}
8510
8511impl ::std::fmt::Debug for GtkStackClass {
8512    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8513        f.debug_struct(&format!("GtkStackClass @ {self:p}"))
8514            .field("parent_class", &self.parent_class)
8515            .finish()
8516    }
8517}
8518
8519#[derive(Copy, Clone)]
8520#[repr(C)]
8521pub struct GtkStackSidebarClass {
8522    pub parent_class: GtkBinClass,
8523    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8524    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8525    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8526    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8527}
8528
8529impl ::std::fmt::Debug for GtkStackSidebarClass {
8530    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8531        f.debug_struct(&format!("GtkStackSidebarClass @ {self:p}"))
8532            .field("parent_class", &self.parent_class)
8533            .field("_gtk_reserved1", &self._gtk_reserved1)
8534            .field("_gtk_reserved2", &self._gtk_reserved2)
8535            .field("_gtk_reserved3", &self._gtk_reserved3)
8536            .field("_gtk_reserved4", &self._gtk_reserved4)
8537            .finish()
8538    }
8539}
8540
8541#[repr(C)]
8542pub struct _GtkStackSidebarPrivate {
8543    _data: [u8; 0],
8544    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8545}
8546
8547pub type GtkStackSidebarPrivate = *mut _GtkStackSidebarPrivate;
8548
8549#[derive(Copy, Clone)]
8550#[repr(C)]
8551pub struct GtkStackSwitcherClass {
8552    pub parent_class: GtkBoxClass,
8553    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8554    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8555    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8556    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8557}
8558
8559impl ::std::fmt::Debug for GtkStackSwitcherClass {
8560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8561        f.debug_struct(&format!("GtkStackSwitcherClass @ {self:p}"))
8562            .field("parent_class", &self.parent_class)
8563            .field("_gtk_reserved1", &self._gtk_reserved1)
8564            .field("_gtk_reserved2", &self._gtk_reserved2)
8565            .field("_gtk_reserved3", &self._gtk_reserved3)
8566            .field("_gtk_reserved4", &self._gtk_reserved4)
8567            .finish()
8568    }
8569}
8570
8571#[derive(Copy, Clone)]
8572#[repr(C)]
8573pub struct GtkStatusIconClass {
8574    pub parent_class: gobject::GObjectClass,
8575    pub activate: Option<unsafe extern "C" fn(*mut GtkStatusIcon)>,
8576    pub popup_menu: Option<unsafe extern "C" fn(*mut GtkStatusIcon, c_uint, u32)>,
8577    pub size_changed: Option<unsafe extern "C" fn(*mut GtkStatusIcon, c_int) -> gboolean>,
8578    pub button_press_event:
8579        Option<unsafe extern "C" fn(*mut GtkStatusIcon, *mut gdk::GdkEventButton) -> gboolean>,
8580    pub button_release_event:
8581        Option<unsafe extern "C" fn(*mut GtkStatusIcon, *mut gdk::GdkEventButton) -> gboolean>,
8582    pub scroll_event:
8583        Option<unsafe extern "C" fn(*mut GtkStatusIcon, *mut gdk::GdkEventScroll) -> gboolean>,
8584    pub query_tooltip: Option<
8585        unsafe extern "C" fn(
8586            *mut GtkStatusIcon,
8587            c_int,
8588            c_int,
8589            gboolean,
8590            *mut GtkTooltip,
8591        ) -> gboolean,
8592    >,
8593    pub __gtk_reserved1: Option<unsafe extern "C" fn()>,
8594    pub __gtk_reserved2: Option<unsafe extern "C" fn()>,
8595    pub __gtk_reserved3: Option<unsafe extern "C" fn()>,
8596    pub __gtk_reserved4: Option<unsafe extern "C" fn()>,
8597}
8598
8599impl ::std::fmt::Debug for GtkStatusIconClass {
8600    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8601        f.debug_struct(&format!("GtkStatusIconClass @ {self:p}"))
8602            .field("parent_class", &self.parent_class)
8603            .field("activate", &self.activate)
8604            .field("popup_menu", &self.popup_menu)
8605            .field("size_changed", &self.size_changed)
8606            .field("button_press_event", &self.button_press_event)
8607            .field("button_release_event", &self.button_release_event)
8608            .field("scroll_event", &self.scroll_event)
8609            .field("query_tooltip", &self.query_tooltip)
8610            .field("__gtk_reserved1", &self.__gtk_reserved1)
8611            .field("__gtk_reserved2", &self.__gtk_reserved2)
8612            .field("__gtk_reserved3", &self.__gtk_reserved3)
8613            .field("__gtk_reserved4", &self.__gtk_reserved4)
8614            .finish()
8615    }
8616}
8617
8618#[repr(C)]
8619pub struct _GtkStatusIconPrivate {
8620    _data: [u8; 0],
8621    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8622}
8623
8624pub type GtkStatusIconPrivate = *mut _GtkStatusIconPrivate;
8625
8626#[derive(Copy, Clone)]
8627#[repr(C)]
8628pub struct GtkStatusbarAccessibleClass {
8629    pub parent_class: GtkContainerAccessibleClass,
8630}
8631
8632impl ::std::fmt::Debug for GtkStatusbarAccessibleClass {
8633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8634        f.debug_struct(&format!("GtkStatusbarAccessibleClass @ {self:p}"))
8635            .field("parent_class", &self.parent_class)
8636            .finish()
8637    }
8638}
8639
8640#[repr(C)]
8641pub struct _GtkStatusbarAccessiblePrivate {
8642    _data: [u8; 0],
8643    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8644}
8645
8646pub type GtkStatusbarAccessiblePrivate = *mut _GtkStatusbarAccessiblePrivate;
8647
8648#[derive(Copy, Clone)]
8649#[repr(C)]
8650pub struct GtkStatusbarClass {
8651    pub parent_class: GtkBoxClass,
8652    pub reserved: gpointer,
8653    pub text_pushed: Option<unsafe extern "C" fn(*mut GtkStatusbar, c_uint, *const c_char)>,
8654    pub text_popped: Option<unsafe extern "C" fn(*mut GtkStatusbar, c_uint, *const c_char)>,
8655    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
8656    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
8657    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
8658    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
8659}
8660
8661impl ::std::fmt::Debug for GtkStatusbarClass {
8662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8663        f.debug_struct(&format!("GtkStatusbarClass @ {self:p}"))
8664            .field("parent_class", &self.parent_class)
8665            .field("reserved", &self.reserved)
8666            .field("text_pushed", &self.text_pushed)
8667            .field("text_popped", &self.text_popped)
8668            .field("_gtk_reserved1", &self._gtk_reserved1)
8669            .field("_gtk_reserved2", &self._gtk_reserved2)
8670            .field("_gtk_reserved3", &self._gtk_reserved3)
8671            .field("_gtk_reserved4", &self._gtk_reserved4)
8672            .finish()
8673    }
8674}
8675
8676#[repr(C)]
8677pub struct _GtkStatusbarPrivate {
8678    _data: [u8; 0],
8679    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8680}
8681
8682pub type GtkStatusbarPrivate = *mut _GtkStatusbarPrivate;
8683
8684#[derive(Copy, Clone)]
8685#[repr(C)]
8686pub struct GtkStockItem {
8687    pub stock_id: *mut c_char,
8688    pub label: *mut c_char,
8689    pub modifier: gdk::GdkModifierType,
8690    pub keyval: c_uint,
8691    pub translation_domain: *mut c_char,
8692}
8693
8694impl ::std::fmt::Debug for GtkStockItem {
8695    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8696        f.debug_struct(&format!("GtkStockItem @ {self:p}"))
8697            .field("stock_id", &self.stock_id)
8698            .field("label", &self.label)
8699            .field("modifier", &self.modifier)
8700            .field("keyval", &self.keyval)
8701            .field("translation_domain", &self.translation_domain)
8702            .finish()
8703    }
8704}
8705
8706#[derive(Copy, Clone)]
8707#[repr(C)]
8708pub struct GtkStyleClass {
8709    pub parent_class: gobject::GObjectClass,
8710    pub realize: Option<unsafe extern "C" fn(*mut GtkStyle)>,
8711    pub unrealize: Option<unsafe extern "C" fn(*mut GtkStyle)>,
8712    pub copy: Option<unsafe extern "C" fn(*mut GtkStyle, *mut GtkStyle)>,
8713    pub clone: Option<unsafe extern "C" fn(*mut GtkStyle) -> *mut GtkStyle>,
8714    pub init_from_rc: Option<unsafe extern "C" fn(*mut GtkStyle, *mut GtkRcStyle)>,
8715    pub set_background:
8716        Option<unsafe extern "C" fn(*mut GtkStyle, *mut gdk::GdkWindow, GtkStateType)>,
8717    pub render_icon: Option<
8718        unsafe extern "C" fn(
8719            *mut GtkStyle,
8720            *const GtkIconSource,
8721            GtkTextDirection,
8722            GtkStateType,
8723            GtkIconSize,
8724            *mut GtkWidget,
8725            *const c_char,
8726        ) -> *mut gdk_pixbuf::GdkPixbuf,
8727    >,
8728    pub draw_hline: Option<
8729        unsafe extern "C" fn(
8730            *mut GtkStyle,
8731            *mut cairo::cairo_t,
8732            GtkStateType,
8733            *mut GtkWidget,
8734            *const c_char,
8735            c_int,
8736            c_int,
8737            c_int,
8738        ),
8739    >,
8740    pub draw_vline: Option<
8741        unsafe extern "C" fn(
8742            *mut GtkStyle,
8743            *mut cairo::cairo_t,
8744            GtkStateType,
8745            *mut GtkWidget,
8746            *const c_char,
8747            c_int,
8748            c_int,
8749            c_int,
8750        ),
8751    >,
8752    pub draw_shadow: Option<
8753        unsafe extern "C" fn(
8754            *mut GtkStyle,
8755            *mut cairo::cairo_t,
8756            GtkStateType,
8757            GtkShadowType,
8758            *mut GtkWidget,
8759            *const c_char,
8760            c_int,
8761            c_int,
8762            c_int,
8763            c_int,
8764        ),
8765    >,
8766    pub draw_arrow: Option<
8767        unsafe extern "C" fn(
8768            *mut GtkStyle,
8769            *mut cairo::cairo_t,
8770            GtkStateType,
8771            GtkShadowType,
8772            *mut GtkWidget,
8773            *const c_char,
8774            GtkArrowType,
8775            gboolean,
8776            c_int,
8777            c_int,
8778            c_int,
8779            c_int,
8780        ),
8781    >,
8782    pub draw_diamond: Option<
8783        unsafe extern "C" fn(
8784            *mut GtkStyle,
8785            *mut cairo::cairo_t,
8786            GtkStateType,
8787            GtkShadowType,
8788            *mut GtkWidget,
8789            *const c_char,
8790            c_int,
8791            c_int,
8792            c_int,
8793            c_int,
8794        ),
8795    >,
8796    pub draw_box: Option<
8797        unsafe extern "C" fn(
8798            *mut GtkStyle,
8799            *mut cairo::cairo_t,
8800            GtkStateType,
8801            GtkShadowType,
8802            *mut GtkWidget,
8803            *const c_char,
8804            c_int,
8805            c_int,
8806            c_int,
8807            c_int,
8808        ),
8809    >,
8810    pub draw_flat_box: Option<
8811        unsafe extern "C" fn(
8812            *mut GtkStyle,
8813            *mut cairo::cairo_t,
8814            GtkStateType,
8815            GtkShadowType,
8816            *mut GtkWidget,
8817            *const c_char,
8818            c_int,
8819            c_int,
8820            c_int,
8821            c_int,
8822        ),
8823    >,
8824    pub draw_check: Option<
8825        unsafe extern "C" fn(
8826            *mut GtkStyle,
8827            *mut cairo::cairo_t,
8828            GtkStateType,
8829            GtkShadowType,
8830            *mut GtkWidget,
8831            *const c_char,
8832            c_int,
8833            c_int,
8834            c_int,
8835            c_int,
8836        ),
8837    >,
8838    pub draw_option: Option<
8839        unsafe extern "C" fn(
8840            *mut GtkStyle,
8841            *mut cairo::cairo_t,
8842            GtkStateType,
8843            GtkShadowType,
8844            *mut GtkWidget,
8845            *const c_char,
8846            c_int,
8847            c_int,
8848            c_int,
8849            c_int,
8850        ),
8851    >,
8852    pub draw_tab: Option<
8853        unsafe extern "C" fn(
8854            *mut GtkStyle,
8855            *mut cairo::cairo_t,
8856            GtkStateType,
8857            GtkShadowType,
8858            *mut GtkWidget,
8859            *const c_char,
8860            c_int,
8861            c_int,
8862            c_int,
8863            c_int,
8864        ),
8865    >,
8866    pub draw_shadow_gap: Option<
8867        unsafe extern "C" fn(
8868            *mut GtkStyle,
8869            *mut cairo::cairo_t,
8870            GtkStateType,
8871            GtkShadowType,
8872            *mut GtkWidget,
8873            *const c_char,
8874            c_int,
8875            c_int,
8876            c_int,
8877            c_int,
8878            GtkPositionType,
8879            c_int,
8880            c_int,
8881        ),
8882    >,
8883    pub draw_box_gap: Option<
8884        unsafe extern "C" fn(
8885            *mut GtkStyle,
8886            *mut cairo::cairo_t,
8887            GtkStateType,
8888            GtkShadowType,
8889            *mut GtkWidget,
8890            *const c_char,
8891            c_int,
8892            c_int,
8893            c_int,
8894            c_int,
8895            GtkPositionType,
8896            c_int,
8897            c_int,
8898        ),
8899    >,
8900    pub draw_extension: Option<
8901        unsafe extern "C" fn(
8902            *mut GtkStyle,
8903            *mut cairo::cairo_t,
8904            GtkStateType,
8905            GtkShadowType,
8906            *mut GtkWidget,
8907            *const c_char,
8908            c_int,
8909            c_int,
8910            c_int,
8911            c_int,
8912            GtkPositionType,
8913        ),
8914    >,
8915    pub draw_focus: Option<
8916        unsafe extern "C" fn(
8917            *mut GtkStyle,
8918            *mut cairo::cairo_t,
8919            GtkStateType,
8920            *mut GtkWidget,
8921            *const c_char,
8922            c_int,
8923            c_int,
8924            c_int,
8925            c_int,
8926        ),
8927    >,
8928    pub draw_slider: Option<
8929        unsafe extern "C" fn(
8930            *mut GtkStyle,
8931            *mut cairo::cairo_t,
8932            GtkStateType,
8933            GtkShadowType,
8934            *mut GtkWidget,
8935            *const c_char,
8936            c_int,
8937            c_int,
8938            c_int,
8939            c_int,
8940            GtkOrientation,
8941        ),
8942    >,
8943    pub draw_handle: Option<
8944        unsafe extern "C" fn(
8945            *mut GtkStyle,
8946            *mut cairo::cairo_t,
8947            GtkStateType,
8948            GtkShadowType,
8949            *mut GtkWidget,
8950            *const c_char,
8951            c_int,
8952            c_int,
8953            c_int,
8954            c_int,
8955            GtkOrientation,
8956        ),
8957    >,
8958    pub draw_expander: Option<
8959        unsafe extern "C" fn(
8960            *mut GtkStyle,
8961            *mut cairo::cairo_t,
8962            GtkStateType,
8963            *mut GtkWidget,
8964            *const c_char,
8965            c_int,
8966            c_int,
8967            GtkExpanderStyle,
8968        ),
8969    >,
8970    pub draw_layout: Option<
8971        unsafe extern "C" fn(
8972            *mut GtkStyle,
8973            *mut cairo::cairo_t,
8974            GtkStateType,
8975            gboolean,
8976            *mut GtkWidget,
8977            *const c_char,
8978            c_int,
8979            c_int,
8980            *mut pango::PangoLayout,
8981        ),
8982    >,
8983    pub draw_resize_grip: Option<
8984        unsafe extern "C" fn(
8985            *mut GtkStyle,
8986            *mut cairo::cairo_t,
8987            GtkStateType,
8988            *mut GtkWidget,
8989            *const c_char,
8990            gdk::GdkWindowEdge,
8991            c_int,
8992            c_int,
8993            c_int,
8994            c_int,
8995        ),
8996    >,
8997    pub draw_spinner: Option<
8998        unsafe extern "C" fn(
8999            *mut GtkStyle,
9000            *mut cairo::cairo_t,
9001            GtkStateType,
9002            *mut GtkWidget,
9003            *const c_char,
9004            c_uint,
9005            c_int,
9006            c_int,
9007            c_int,
9008            c_int,
9009        ),
9010    >,
9011    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9012    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9013    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9014    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9015    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
9016    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
9017    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
9018    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
9019    pub _gtk_reserved9: Option<unsafe extern "C" fn()>,
9020    pub _gtk_reserved10: Option<unsafe extern "C" fn()>,
9021    pub _gtk_reserved11: Option<unsafe extern "C" fn()>,
9022}
9023
9024impl ::std::fmt::Debug for GtkStyleClass {
9025    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9026        f.debug_struct(&format!("GtkStyleClass @ {self:p}"))
9027            .field("parent_class", &self.parent_class)
9028            .field("realize", &self.realize)
9029            .field("unrealize", &self.unrealize)
9030            .field("copy", &self.copy)
9031            .field("clone", &self.clone)
9032            .field("init_from_rc", &self.init_from_rc)
9033            .field("set_background", &self.set_background)
9034            .field("render_icon", &self.render_icon)
9035            .field("draw_hline", &self.draw_hline)
9036            .field("draw_vline", &self.draw_vline)
9037            .field("draw_shadow", &self.draw_shadow)
9038            .field("draw_arrow", &self.draw_arrow)
9039            .field("draw_diamond", &self.draw_diamond)
9040            .field("draw_box", &self.draw_box)
9041            .field("draw_flat_box", &self.draw_flat_box)
9042            .field("draw_check", &self.draw_check)
9043            .field("draw_option", &self.draw_option)
9044            .field("draw_tab", &self.draw_tab)
9045            .field("draw_extension", &self.draw_extension)
9046            .field("draw_focus", &self.draw_focus)
9047            .field("draw_slider", &self.draw_slider)
9048            .field("draw_handle", &self.draw_handle)
9049            .field("draw_expander", &self.draw_expander)
9050            .field("draw_layout", &self.draw_layout)
9051            .field("draw_resize_grip", &self.draw_resize_grip)
9052            .field("draw_spinner", &self.draw_spinner)
9053            .field("_gtk_reserved1", &self._gtk_reserved1)
9054            .field("_gtk_reserved2", &self._gtk_reserved2)
9055            .field("_gtk_reserved3", &self._gtk_reserved3)
9056            .field("_gtk_reserved4", &self._gtk_reserved4)
9057            .field("_gtk_reserved5", &self._gtk_reserved5)
9058            .field("_gtk_reserved6", &self._gtk_reserved6)
9059            .field("_gtk_reserved7", &self._gtk_reserved7)
9060            .field("_gtk_reserved8", &self._gtk_reserved8)
9061            .field("_gtk_reserved9", &self._gtk_reserved9)
9062            .field("_gtk_reserved10", &self._gtk_reserved10)
9063            .field("_gtk_reserved11", &self._gtk_reserved11)
9064            .finish()
9065    }
9066}
9067
9068#[derive(Copy, Clone)]
9069#[repr(C)]
9070pub struct GtkStyleContextClass {
9071    pub parent_class: gobject::GObjectClass,
9072    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
9073    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9074    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9075    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9076    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9077}
9078
9079impl ::std::fmt::Debug for GtkStyleContextClass {
9080    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9081        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
9082            .field("parent_class", &self.parent_class)
9083            .field("changed", &self.changed)
9084            .field("_gtk_reserved1", &self._gtk_reserved1)
9085            .field("_gtk_reserved2", &self._gtk_reserved2)
9086            .field("_gtk_reserved3", &self._gtk_reserved3)
9087            .field("_gtk_reserved4", &self._gtk_reserved4)
9088            .finish()
9089    }
9090}
9091
9092#[repr(C)]
9093pub struct _GtkStyleContextPrivate {
9094    _data: [u8; 0],
9095    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9096}
9097
9098pub type GtkStyleContextPrivate = *mut _GtkStyleContextPrivate;
9099
9100#[derive(Copy, Clone)]
9101#[repr(C)]
9102pub struct GtkStylePropertiesClass {
9103    pub parent_class: gobject::GObjectClass,
9104    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9105    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9106    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9107    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9108}
9109
9110impl ::std::fmt::Debug for GtkStylePropertiesClass {
9111    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9112        f.debug_struct(&format!("GtkStylePropertiesClass @ {self:p}"))
9113            .field("_gtk_reserved1", &self._gtk_reserved1)
9114            .field("_gtk_reserved2", &self._gtk_reserved2)
9115            .field("_gtk_reserved3", &self._gtk_reserved3)
9116            .field("_gtk_reserved4", &self._gtk_reserved4)
9117            .finish()
9118    }
9119}
9120
9121#[repr(C)]
9122pub struct _GtkStylePropertiesPrivate {
9123    _data: [u8; 0],
9124    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9125}
9126
9127pub type GtkStylePropertiesPrivate = *mut _GtkStylePropertiesPrivate;
9128
9129#[derive(Copy, Clone)]
9130#[repr(C)]
9131pub struct GtkStyleProviderIface {
9132    pub g_iface: gobject::GTypeInterface,
9133    pub get_style: Option<
9134        unsafe extern "C" fn(*mut GtkStyleProvider, *mut GtkWidgetPath) -> *mut GtkStyleProperties,
9135    >,
9136    pub get_style_property: Option<
9137        unsafe extern "C" fn(
9138            *mut GtkStyleProvider,
9139            *mut GtkWidgetPath,
9140            GtkStateFlags,
9141            *mut gobject::GParamSpec,
9142            *mut gobject::GValue,
9143        ) -> gboolean,
9144    >,
9145    pub get_icon_factory: Option<
9146        unsafe extern "C" fn(*mut GtkStyleProvider, *mut GtkWidgetPath) -> *mut GtkIconFactory,
9147    >,
9148}
9149
9150impl ::std::fmt::Debug for GtkStyleProviderIface {
9151    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9152        f.debug_struct(&format!("GtkStyleProviderIface @ {self:p}"))
9153            .field("get_style", &self.get_style)
9154            .field("get_style_property", &self.get_style_property)
9155            .field("get_icon_factory", &self.get_icon_factory)
9156            .finish()
9157    }
9158}
9159
9160#[derive(Copy, Clone)]
9161#[repr(C)]
9162pub struct GtkSwitchAccessibleClass {
9163    pub parent_class: GtkWidgetAccessibleClass,
9164}
9165
9166impl ::std::fmt::Debug for GtkSwitchAccessibleClass {
9167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9168        f.debug_struct(&format!("GtkSwitchAccessibleClass @ {self:p}"))
9169            .field("parent_class", &self.parent_class)
9170            .finish()
9171    }
9172}
9173
9174#[repr(C)]
9175pub struct _GtkSwitchAccessiblePrivate {
9176    _data: [u8; 0],
9177    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9178}
9179
9180pub type GtkSwitchAccessiblePrivate = *mut _GtkSwitchAccessiblePrivate;
9181
9182#[derive(Copy, Clone)]
9183#[repr(C)]
9184pub struct GtkSwitchClass {
9185    pub parent_class: GtkWidgetClass,
9186    pub activate: Option<unsafe extern "C" fn(*mut GtkSwitch)>,
9187    pub state_set: Option<unsafe extern "C" fn(*mut GtkSwitch, gboolean) -> gboolean>,
9188    pub _switch_padding_1: Option<unsafe extern "C" fn()>,
9189    pub _switch_padding_2: Option<unsafe extern "C" fn()>,
9190    pub _switch_padding_3: Option<unsafe extern "C" fn()>,
9191    pub _switch_padding_4: Option<unsafe extern "C" fn()>,
9192    pub _switch_padding_5: Option<unsafe extern "C" fn()>,
9193}
9194
9195impl ::std::fmt::Debug for GtkSwitchClass {
9196    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9197        f.debug_struct(&format!("GtkSwitchClass @ {self:p}"))
9198            .field("parent_class", &self.parent_class)
9199            .field("activate", &self.activate)
9200            .field("state_set", &self.state_set)
9201            .field("_switch_padding_1", &self._switch_padding_1)
9202            .field("_switch_padding_2", &self._switch_padding_2)
9203            .field("_switch_padding_3", &self._switch_padding_3)
9204            .field("_switch_padding_4", &self._switch_padding_4)
9205            .field("_switch_padding_5", &self._switch_padding_5)
9206            .finish()
9207    }
9208}
9209
9210#[repr(C)]
9211pub struct _GtkSwitchPrivate {
9212    _data: [u8; 0],
9213    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9214}
9215
9216pub type GtkSwitchPrivate = *mut _GtkSwitchPrivate;
9217
9218#[repr(C)]
9219pub struct GtkSymbolicColor {
9220    _data: [u8; 0],
9221    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9222}
9223
9224impl ::std::fmt::Debug for GtkSymbolicColor {
9225    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9226        f.debug_struct(&format!("GtkSymbolicColor @ {self:p}"))
9227            .finish()
9228    }
9229}
9230
9231#[repr(C)]
9232pub struct GtkTableChild {
9233    pub widget: *mut GtkWidget,
9234    pub left_attach: u16,
9235    pub right_attach: u16,
9236    pub top_attach: u16,
9237    pub bottom_attach: u16,
9238    pub xpadding: u16,
9239    pub ypadding: u16,
9240    pub xexpand: c_uint,
9241    _truncated_record_marker: c_void,
9242    // field yexpand has incomplete type
9243}
9244
9245impl ::std::fmt::Debug for GtkTableChild {
9246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9247        f.debug_struct(&format!("GtkTableChild @ {self:p}"))
9248            .field("widget", &self.widget)
9249            .field("left_attach", &self.left_attach)
9250            .field("right_attach", &self.right_attach)
9251            .field("top_attach", &self.top_attach)
9252            .field("bottom_attach", &self.bottom_attach)
9253            .field("xpadding", &self.xpadding)
9254            .field("ypadding", &self.ypadding)
9255            .field("xexpand", &self.xexpand)
9256            .finish()
9257    }
9258}
9259
9260#[derive(Copy, Clone)]
9261#[repr(C)]
9262pub struct GtkTableClass {
9263    pub parent_class: GtkContainerClass,
9264    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9265    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9266    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9267    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9268}
9269
9270impl ::std::fmt::Debug for GtkTableClass {
9271    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9272        f.debug_struct(&format!("GtkTableClass @ {self:p}"))
9273            .field("parent_class", &self.parent_class)
9274            .field("_gtk_reserved1", &self._gtk_reserved1)
9275            .field("_gtk_reserved2", &self._gtk_reserved2)
9276            .field("_gtk_reserved3", &self._gtk_reserved3)
9277            .field("_gtk_reserved4", &self._gtk_reserved4)
9278            .finish()
9279    }
9280}
9281
9282#[repr(C)]
9283pub struct _GtkTablePrivate {
9284    _data: [u8; 0],
9285    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9286}
9287
9288pub type GtkTablePrivate = *mut _GtkTablePrivate;
9289
9290#[repr(C)]
9291pub struct GtkTableRowCol {
9292    pub requisition: u16,
9293    pub allocation: u16,
9294    pub spacing: u16,
9295    pub need_expand: c_uint,
9296    _truncated_record_marker: c_void,
9297    // field need_shrink has incomplete type
9298}
9299
9300impl ::std::fmt::Debug for GtkTableRowCol {
9301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9302        f.debug_struct(&format!("GtkTableRowCol @ {self:p}"))
9303            .field("requisition", &self.requisition)
9304            .field("allocation", &self.allocation)
9305            .field("spacing", &self.spacing)
9306            .field("need_expand", &self.need_expand)
9307            .finish()
9308    }
9309}
9310
9311#[derive(Copy, Clone)]
9312#[repr(C)]
9313pub struct GtkTargetEntry {
9314    pub target: *mut c_char,
9315    pub flags: c_uint,
9316    pub info: c_uint,
9317}
9318
9319impl ::std::fmt::Debug for GtkTargetEntry {
9320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9321        f.debug_struct(&format!("GtkTargetEntry @ {self:p}"))
9322            .field("target", &self.target)
9323            .field("flags", &self.flags)
9324            .field("info", &self.info)
9325            .finish()
9326    }
9327}
9328
9329#[repr(C)]
9330pub struct GtkTargetList {
9331    _data: [u8; 0],
9332    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9333}
9334
9335impl ::std::fmt::Debug for GtkTargetList {
9336    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9337        f.debug_struct(&format!("GtkTargetList @ {self:p}"))
9338            .finish()
9339    }
9340}
9341
9342#[derive(Copy, Clone)]
9343#[repr(C)]
9344pub struct GtkTargetPair {
9345    pub target: gdk::GdkAtom,
9346    pub flags: c_uint,
9347    pub info: c_uint,
9348}
9349
9350impl ::std::fmt::Debug for GtkTargetPair {
9351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9352        f.debug_struct(&format!("GtkTargetPair @ {self:p}"))
9353            .field("target", &self.target)
9354            .field("flags", &self.flags)
9355            .field("info", &self.info)
9356            .finish()
9357    }
9358}
9359
9360#[derive(Copy, Clone)]
9361#[repr(C)]
9362pub struct GtkTearoffMenuItemClass {
9363    pub parent_class: GtkMenuItemClass,
9364    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9365    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9366    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9367    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9368}
9369
9370impl ::std::fmt::Debug for GtkTearoffMenuItemClass {
9371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9372        f.debug_struct(&format!("GtkTearoffMenuItemClass @ {self:p}"))
9373            .field("parent_class", &self.parent_class)
9374            .field("_gtk_reserved1", &self._gtk_reserved1)
9375            .field("_gtk_reserved2", &self._gtk_reserved2)
9376            .field("_gtk_reserved3", &self._gtk_reserved3)
9377            .field("_gtk_reserved4", &self._gtk_reserved4)
9378            .finish()
9379    }
9380}
9381
9382#[repr(C)]
9383pub struct _GtkTearoffMenuItemPrivate {
9384    _data: [u8; 0],
9385    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9386}
9387
9388pub type GtkTearoffMenuItemPrivate = *mut _GtkTearoffMenuItemPrivate;
9389
9390#[repr(C)]
9391pub struct GtkTextAppearance {
9392    pub bg_color: gdk::GdkColor,
9393    pub fg_color: gdk::GdkColor,
9394    pub rise: c_int,
9395    pub underline: c_uint,
9396    _truncated_record_marker: c_void,
9397    // field strikethrough has incomplete type
9398}
9399
9400impl ::std::fmt::Debug for GtkTextAppearance {
9401    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9402        f.debug_struct(&format!("GtkTextAppearance @ {self:p}"))
9403            .field("bg_color", &self.bg_color)
9404            .field("fg_color", &self.fg_color)
9405            .field("rise", &self.rise)
9406            .field("underline", &self.underline)
9407            .finish()
9408    }
9409}
9410
9411#[repr(C)]
9412pub struct GtkTextAttributes {
9413    pub refcount: c_uint,
9414    _truncated_record_marker: c_void,
9415    // /*Ignored*/field appearance has incomplete type
9416}
9417
9418impl ::std::fmt::Debug for GtkTextAttributes {
9419    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9420        f.debug_struct(&format!("GtkTextAttributes @ {self:p}"))
9421            .finish()
9422    }
9423}
9424
9425#[repr(C)]
9426pub struct _GtkTextBTree {
9427    _data: [u8; 0],
9428    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9429}
9430
9431pub type GtkTextBTree = *mut _GtkTextBTree;
9432
9433#[derive(Copy, Clone)]
9434#[repr(C)]
9435pub struct GtkTextBufferClass {
9436    pub parent_class: gobject::GObjectClass,
9437    pub insert_text:
9438        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
9439    pub insert_pixbuf: Option<
9440        unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk_pixbuf::GdkPixbuf),
9441    >,
9442    pub insert_child_anchor:
9443        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
9444    pub delete_range:
9445        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
9446    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
9447    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
9448    pub mark_set:
9449        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
9450    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
9451    pub apply_tag: Option<
9452        unsafe extern "C" fn(
9453            *mut GtkTextBuffer,
9454            *mut GtkTextTag,
9455            *const GtkTextIter,
9456            *const GtkTextIter,
9457        ),
9458    >,
9459    pub remove_tag: Option<
9460        unsafe extern "C" fn(
9461            *mut GtkTextBuffer,
9462            *mut GtkTextTag,
9463            *const GtkTextIter,
9464            *const GtkTextIter,
9465        ),
9466    >,
9467    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
9468    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
9469    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkClipboard)>,
9470    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9471    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9472    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9473    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9474}
9475
9476impl ::std::fmt::Debug for GtkTextBufferClass {
9477    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9478        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
9479            .field("parent_class", &self.parent_class)
9480            .field("insert_text", &self.insert_text)
9481            .field("insert_pixbuf", &self.insert_pixbuf)
9482            .field("insert_child_anchor", &self.insert_child_anchor)
9483            .field("delete_range", &self.delete_range)
9484            .field("changed", &self.changed)
9485            .field("modified_changed", &self.modified_changed)
9486            .field("mark_set", &self.mark_set)
9487            .field("mark_deleted", &self.mark_deleted)
9488            .field("apply_tag", &self.apply_tag)
9489            .field("remove_tag", &self.remove_tag)
9490            .field("begin_user_action", &self.begin_user_action)
9491            .field("end_user_action", &self.end_user_action)
9492            .field("paste_done", &self.paste_done)
9493            .field("_gtk_reserved1", &self._gtk_reserved1)
9494            .field("_gtk_reserved2", &self._gtk_reserved2)
9495            .field("_gtk_reserved3", &self._gtk_reserved3)
9496            .field("_gtk_reserved4", &self._gtk_reserved4)
9497            .finish()
9498    }
9499}
9500
9501#[repr(C)]
9502pub struct _GtkTextBufferPrivate {
9503    _data: [u8; 0],
9504    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9505}
9506
9507pub type GtkTextBufferPrivate = *mut _GtkTextBufferPrivate;
9508
9509#[derive(Copy, Clone)]
9510#[repr(C)]
9511pub struct GtkTextCellAccessibleClass {
9512    pub parent_class: GtkRendererCellAccessibleClass,
9513}
9514
9515impl ::std::fmt::Debug for GtkTextCellAccessibleClass {
9516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9517        f.debug_struct(&format!("GtkTextCellAccessibleClass @ {self:p}"))
9518            .field("parent_class", &self.parent_class)
9519            .finish()
9520    }
9521}
9522
9523#[repr(C)]
9524pub struct _GtkTextCellAccessiblePrivate {
9525    _data: [u8; 0],
9526    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9527}
9528
9529pub type GtkTextCellAccessiblePrivate = *mut _GtkTextCellAccessiblePrivate;
9530
9531#[derive(Copy, Clone)]
9532#[repr(C)]
9533pub struct GtkTextChildAnchorClass {
9534    pub parent_class: gobject::GObjectClass,
9535    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9536    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9537    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9538    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9539}
9540
9541impl ::std::fmt::Debug for GtkTextChildAnchorClass {
9542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9543        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
9544            .field("parent_class", &self.parent_class)
9545            .field("_gtk_reserved1", &self._gtk_reserved1)
9546            .field("_gtk_reserved2", &self._gtk_reserved2)
9547            .field("_gtk_reserved3", &self._gtk_reserved3)
9548            .field("_gtk_reserved4", &self._gtk_reserved4)
9549            .finish()
9550    }
9551}
9552
9553#[derive(Copy, Clone)]
9554#[repr(C)]
9555pub struct GtkTextIter {
9556    pub dummy1: gpointer,
9557    pub dummy2: gpointer,
9558    pub dummy3: c_int,
9559    pub dummy4: c_int,
9560    pub dummy5: c_int,
9561    pub dummy6: c_int,
9562    pub dummy7: c_int,
9563    pub dummy8: c_int,
9564    pub dummy9: gpointer,
9565    pub dummy10: gpointer,
9566    pub dummy11: c_int,
9567    pub dummy12: c_int,
9568    pub dummy13: c_int,
9569    pub dummy14: gpointer,
9570}
9571
9572impl ::std::fmt::Debug for GtkTextIter {
9573    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9574        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
9575    }
9576}
9577
9578#[derive(Copy, Clone)]
9579#[repr(C)]
9580pub struct GtkTextMarkClass {
9581    pub parent_class: gobject::GObjectClass,
9582    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9583    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9584    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9585    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9586}
9587
9588impl ::std::fmt::Debug for GtkTextMarkClass {
9589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9590        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
9591            .field("parent_class", &self.parent_class)
9592            .field("_gtk_reserved1", &self._gtk_reserved1)
9593            .field("_gtk_reserved2", &self._gtk_reserved2)
9594            .field("_gtk_reserved3", &self._gtk_reserved3)
9595            .field("_gtk_reserved4", &self._gtk_reserved4)
9596            .finish()
9597    }
9598}
9599
9600#[derive(Copy, Clone)]
9601#[repr(C)]
9602pub struct GtkTextTagClass {
9603    pub parent_class: gobject::GObjectClass,
9604    pub event: Option<
9605        unsafe extern "C" fn(
9606            *mut GtkTextTag,
9607            *mut gobject::GObject,
9608            *mut gdk::GdkEvent,
9609            *const GtkTextIter,
9610        ) -> gboolean,
9611    >,
9612    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9613    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9614    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9615    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9616}
9617
9618impl ::std::fmt::Debug for GtkTextTagClass {
9619    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9620        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
9621            .field("parent_class", &self.parent_class)
9622            .field("event", &self.event)
9623            .field("_gtk_reserved1", &self._gtk_reserved1)
9624            .field("_gtk_reserved2", &self._gtk_reserved2)
9625            .field("_gtk_reserved3", &self._gtk_reserved3)
9626            .field("_gtk_reserved4", &self._gtk_reserved4)
9627            .finish()
9628    }
9629}
9630
9631#[repr(C)]
9632pub struct _GtkTextTagPrivate {
9633    _data: [u8; 0],
9634    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9635}
9636
9637pub type GtkTextTagPrivate = *mut _GtkTextTagPrivate;
9638
9639#[derive(Copy, Clone)]
9640#[repr(C)]
9641pub struct GtkTextTagTableClass {
9642    pub parent_class: gobject::GObjectClass,
9643    pub tag_changed: Option<unsafe extern "C" fn(*mut GtkTextTagTable, *mut GtkTextTag, gboolean)>,
9644    pub tag_added: Option<unsafe extern "C" fn(*mut GtkTextTagTable, *mut GtkTextTag)>,
9645    pub tag_removed: Option<unsafe extern "C" fn(*mut GtkTextTagTable, *mut GtkTextTag)>,
9646    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9647    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9648    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9649    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9650}
9651
9652impl ::std::fmt::Debug for GtkTextTagTableClass {
9653    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9654        f.debug_struct(&format!("GtkTextTagTableClass @ {self:p}"))
9655            .field("parent_class", &self.parent_class)
9656            .field("tag_changed", &self.tag_changed)
9657            .field("tag_added", &self.tag_added)
9658            .field("tag_removed", &self.tag_removed)
9659            .field("_gtk_reserved1", &self._gtk_reserved1)
9660            .field("_gtk_reserved2", &self._gtk_reserved2)
9661            .field("_gtk_reserved3", &self._gtk_reserved3)
9662            .field("_gtk_reserved4", &self._gtk_reserved4)
9663            .finish()
9664    }
9665}
9666
9667#[repr(C)]
9668pub struct _GtkTextTagTablePrivate {
9669    _data: [u8; 0],
9670    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9671}
9672
9673pub type GtkTextTagTablePrivate = *mut _GtkTextTagTablePrivate;
9674
9675#[derive(Copy, Clone)]
9676#[repr(C)]
9677pub struct GtkTextViewAccessibleClass {
9678    pub parent_class: GtkContainerAccessibleClass,
9679}
9680
9681impl ::std::fmt::Debug for GtkTextViewAccessibleClass {
9682    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9683        f.debug_struct(&format!("GtkTextViewAccessibleClass @ {self:p}"))
9684            .field("parent_class", &self.parent_class)
9685            .finish()
9686    }
9687}
9688
9689#[repr(C)]
9690pub struct _GtkTextViewAccessiblePrivate {
9691    _data: [u8; 0],
9692    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9693}
9694
9695pub type GtkTextViewAccessiblePrivate = *mut _GtkTextViewAccessiblePrivate;
9696
9697#[derive(Copy, Clone)]
9698#[repr(C)]
9699pub struct GtkTextViewClass {
9700    pub parent_class: GtkContainerClass,
9701    pub populate_popup: Option<unsafe extern "C" fn(*mut GtkTextView, *mut GtkWidget)>,
9702    pub move_cursor:
9703        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
9704    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9705    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
9706    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
9707    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9708    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9709    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9710    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9711    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9712    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
9713    pub draw_layer:
9714        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut cairo::cairo_t)>,
9715    pub extend_selection: Option<
9716        unsafe extern "C" fn(
9717            *mut GtkTextView,
9718            GtkTextExtendSelection,
9719            *const GtkTextIter,
9720            *mut GtkTextIter,
9721            *mut GtkTextIter,
9722        ) -> gboolean,
9723    >,
9724    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
9725    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9726    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9727    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9728    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9729}
9730
9731impl ::std::fmt::Debug for GtkTextViewClass {
9732    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9733        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
9734            .field("parent_class", &self.parent_class)
9735            .field("populate_popup", &self.populate_popup)
9736            .field("move_cursor", &self.move_cursor)
9737            .field("set_anchor", &self.set_anchor)
9738            .field("insert_at_cursor", &self.insert_at_cursor)
9739            .field("delete_from_cursor", &self.delete_from_cursor)
9740            .field("backspace", &self.backspace)
9741            .field("cut_clipboard", &self.cut_clipboard)
9742            .field("copy_clipboard", &self.copy_clipboard)
9743            .field("paste_clipboard", &self.paste_clipboard)
9744            .field("toggle_overwrite", &self.toggle_overwrite)
9745            .field("create_buffer", &self.create_buffer)
9746            .field("draw_layer", &self.draw_layer)
9747            .field("extend_selection", &self.extend_selection)
9748            .field("insert_emoji", &self.insert_emoji)
9749            .field("_gtk_reserved1", &self._gtk_reserved1)
9750            .field("_gtk_reserved2", &self._gtk_reserved2)
9751            .field("_gtk_reserved3", &self._gtk_reserved3)
9752            .field("_gtk_reserved4", &self._gtk_reserved4)
9753            .finish()
9754    }
9755}
9756
9757#[repr(C)]
9758pub struct _GtkTextViewPrivate {
9759    _data: [u8; 0],
9760    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9761}
9762
9763pub type GtkTextViewPrivate = *mut _GtkTextViewPrivate;
9764
9765#[repr(C)]
9766pub struct _GtkThemeEngine {
9767    _data: [u8; 0],
9768    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9769}
9770
9771pub type GtkThemeEngine = *mut _GtkThemeEngine;
9772
9773#[derive(Copy, Clone)]
9774#[repr(C)]
9775pub struct GtkThemingEngineClass {
9776    pub parent_class: gobject::GObjectClass,
9777    pub render_line: Option<
9778        unsafe extern "C" fn(
9779            *mut GtkThemingEngine,
9780            *mut cairo::cairo_t,
9781            c_double,
9782            c_double,
9783            c_double,
9784            c_double,
9785        ),
9786    >,
9787    pub render_background: Option<
9788        unsafe extern "C" fn(
9789            *mut GtkThemingEngine,
9790            *mut cairo::cairo_t,
9791            c_double,
9792            c_double,
9793            c_double,
9794            c_double,
9795        ),
9796    >,
9797    pub render_frame: Option<
9798        unsafe extern "C" fn(
9799            *mut GtkThemingEngine,
9800            *mut cairo::cairo_t,
9801            c_double,
9802            c_double,
9803            c_double,
9804            c_double,
9805        ),
9806    >,
9807    pub render_frame_gap: Option<
9808        unsafe extern "C" fn(
9809            *mut GtkThemingEngine,
9810            *mut cairo::cairo_t,
9811            c_double,
9812            c_double,
9813            c_double,
9814            c_double,
9815            GtkPositionType,
9816            c_double,
9817            c_double,
9818        ),
9819    >,
9820    pub render_extension: Option<
9821        unsafe extern "C" fn(
9822            *mut GtkThemingEngine,
9823            *mut cairo::cairo_t,
9824            c_double,
9825            c_double,
9826            c_double,
9827            c_double,
9828            GtkPositionType,
9829        ),
9830    >,
9831    pub render_check: Option<
9832        unsafe extern "C" fn(
9833            *mut GtkThemingEngine,
9834            *mut cairo::cairo_t,
9835            c_double,
9836            c_double,
9837            c_double,
9838            c_double,
9839        ),
9840    >,
9841    pub render_option: Option<
9842        unsafe extern "C" fn(
9843            *mut GtkThemingEngine,
9844            *mut cairo::cairo_t,
9845            c_double,
9846            c_double,
9847            c_double,
9848            c_double,
9849        ),
9850    >,
9851    pub render_arrow: Option<
9852        unsafe extern "C" fn(
9853            *mut GtkThemingEngine,
9854            *mut cairo::cairo_t,
9855            c_double,
9856            c_double,
9857            c_double,
9858            c_double,
9859        ),
9860    >,
9861    pub render_expander: Option<
9862        unsafe extern "C" fn(
9863            *mut GtkThemingEngine,
9864            *mut cairo::cairo_t,
9865            c_double,
9866            c_double,
9867            c_double,
9868            c_double,
9869        ),
9870    >,
9871    pub render_focus: Option<
9872        unsafe extern "C" fn(
9873            *mut GtkThemingEngine,
9874            *mut cairo::cairo_t,
9875            c_double,
9876            c_double,
9877            c_double,
9878            c_double,
9879        ),
9880    >,
9881    pub render_layout: Option<
9882        unsafe extern "C" fn(
9883            *mut GtkThemingEngine,
9884            *mut cairo::cairo_t,
9885            c_double,
9886            c_double,
9887            *mut pango::PangoLayout,
9888        ),
9889    >,
9890    pub render_slider: Option<
9891        unsafe extern "C" fn(
9892            *mut GtkThemingEngine,
9893            *mut cairo::cairo_t,
9894            c_double,
9895            c_double,
9896            c_double,
9897            c_double,
9898            GtkOrientation,
9899        ),
9900    >,
9901    pub render_handle: Option<
9902        unsafe extern "C" fn(
9903            *mut GtkThemingEngine,
9904            *mut cairo::cairo_t,
9905            c_double,
9906            c_double,
9907            c_double,
9908            c_double,
9909        ),
9910    >,
9911    pub render_activity: Option<
9912        unsafe extern "C" fn(
9913            *mut GtkThemingEngine,
9914            *mut cairo::cairo_t,
9915            c_double,
9916            c_double,
9917            c_double,
9918            c_double,
9919        ),
9920    >,
9921    pub render_icon_pixbuf: Option<
9922        unsafe extern "C" fn(
9923            *mut GtkThemingEngine,
9924            *const GtkIconSource,
9925            GtkIconSize,
9926        ) -> *mut gdk_pixbuf::GdkPixbuf,
9927    >,
9928    pub render_icon: Option<
9929        unsafe extern "C" fn(
9930            *mut GtkThemingEngine,
9931            *mut cairo::cairo_t,
9932            *mut gdk_pixbuf::GdkPixbuf,
9933            c_double,
9934            c_double,
9935        ),
9936    >,
9937    pub render_icon_surface: Option<
9938        unsafe extern "C" fn(
9939            *mut GtkThemingEngine,
9940            *mut cairo::cairo_t,
9941            *mut cairo::cairo_surface_t,
9942            c_double,
9943            c_double,
9944        ),
9945    >,
9946    pub padding: [gpointer; 14],
9947}
9948
9949impl ::std::fmt::Debug for GtkThemingEngineClass {
9950    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9951        f.debug_struct(&format!("GtkThemingEngineClass @ {self:p}"))
9952            .field("parent_class", &self.parent_class)
9953            .field("render_line", &self.render_line)
9954            .field("render_background", &self.render_background)
9955            .field("render_frame", &self.render_frame)
9956            .field("render_frame_gap", &self.render_frame_gap)
9957            .field("render_extension", &self.render_extension)
9958            .field("render_check", &self.render_check)
9959            .field("render_option", &self.render_option)
9960            .field("render_arrow", &self.render_arrow)
9961            .field("render_expander", &self.render_expander)
9962            .field("render_focus", &self.render_focus)
9963            .field("render_layout", &self.render_layout)
9964            .field("render_slider", &self.render_slider)
9965            .field("render_handle", &self.render_handle)
9966            .field("render_activity", &self.render_activity)
9967            .field("render_icon_pixbuf", &self.render_icon_pixbuf)
9968            .field("render_icon", &self.render_icon)
9969            .field("render_icon_surface", &self.render_icon_surface)
9970            .finish()
9971    }
9972}
9973
9974#[repr(C)]
9975pub struct _GtkThemingEnginePrivate {
9976    _data: [u8; 0],
9977    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9978}
9979
9980pub type GtkThemingEnginePrivate = *mut _GtkThemingEnginePrivate;
9981
9982#[derive(Copy, Clone)]
9983#[repr(C)]
9984pub struct GtkToggleActionClass {
9985    pub parent_class: GtkActionClass,
9986    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleAction)>,
9987    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
9988    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
9989    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
9990    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
9991}
9992
9993impl ::std::fmt::Debug for GtkToggleActionClass {
9994    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9995        f.debug_struct(&format!("GtkToggleActionClass @ {self:p}"))
9996            .field("parent_class", &self.parent_class)
9997            .field("toggled", &self.toggled)
9998            .field("_gtk_reserved1", &self._gtk_reserved1)
9999            .field("_gtk_reserved2", &self._gtk_reserved2)
10000            .field("_gtk_reserved3", &self._gtk_reserved3)
10001            .field("_gtk_reserved4", &self._gtk_reserved4)
10002            .finish()
10003    }
10004}
10005
10006#[derive(Copy, Clone)]
10007#[repr(C)]
10008pub struct GtkToggleActionEntry {
10009    pub name: *const c_char,
10010    pub stock_id: *const c_char,
10011    pub label: *const c_char,
10012    pub accelerator: *const c_char,
10013    pub tooltip: *const c_char,
10014    pub callback: gobject::GCallback,
10015    pub is_active: gboolean,
10016}
10017
10018impl ::std::fmt::Debug for GtkToggleActionEntry {
10019    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10020        f.debug_struct(&format!("GtkToggleActionEntry @ {self:p}"))
10021            .field("name", &self.name)
10022            .field("stock_id", &self.stock_id)
10023            .field("label", &self.label)
10024            .field("accelerator", &self.accelerator)
10025            .field("tooltip", &self.tooltip)
10026            .field("callback", &self.callback)
10027            .field("is_active", &self.is_active)
10028            .finish()
10029    }
10030}
10031
10032#[repr(C)]
10033pub struct _GtkToggleActionPrivate {
10034    _data: [u8; 0],
10035    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10036}
10037
10038pub type GtkToggleActionPrivate = *mut _GtkToggleActionPrivate;
10039
10040#[derive(Copy, Clone)]
10041#[repr(C)]
10042pub struct GtkToggleButtonAccessibleClass {
10043    pub parent_class: GtkButtonAccessibleClass,
10044}
10045
10046impl ::std::fmt::Debug for GtkToggleButtonAccessibleClass {
10047    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10048        f.debug_struct(&format!("GtkToggleButtonAccessibleClass @ {self:p}"))
10049            .field("parent_class", &self.parent_class)
10050            .finish()
10051    }
10052}
10053
10054#[repr(C)]
10055pub struct _GtkToggleButtonAccessiblePrivate {
10056    _data: [u8; 0],
10057    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10058}
10059
10060pub type GtkToggleButtonAccessiblePrivate = *mut _GtkToggleButtonAccessiblePrivate;
10061
10062#[derive(Copy, Clone)]
10063#[repr(C)]
10064pub struct GtkToggleButtonClass {
10065    pub parent_class: GtkButtonClass,
10066    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
10067    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10068    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10069    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10070    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10071}
10072
10073impl ::std::fmt::Debug for GtkToggleButtonClass {
10074    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10075        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
10076            .field("parent_class", &self.parent_class)
10077            .field("toggled", &self.toggled)
10078            .field("_gtk_reserved1", &self._gtk_reserved1)
10079            .field("_gtk_reserved2", &self._gtk_reserved2)
10080            .field("_gtk_reserved3", &self._gtk_reserved3)
10081            .field("_gtk_reserved4", &self._gtk_reserved4)
10082            .finish()
10083    }
10084}
10085
10086#[repr(C)]
10087pub struct _GtkToggleButtonPrivate {
10088    _data: [u8; 0],
10089    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10090}
10091
10092pub type GtkToggleButtonPrivate = *mut _GtkToggleButtonPrivate;
10093
10094#[derive(Copy, Clone)]
10095#[repr(C)]
10096pub struct GtkToggleToolButtonClass {
10097    pub parent_class: GtkToolButtonClass,
10098    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleToolButton)>,
10099    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10100    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10101    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10102    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10103}
10104
10105impl ::std::fmt::Debug for GtkToggleToolButtonClass {
10106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10107        f.debug_struct(&format!("GtkToggleToolButtonClass @ {self:p}"))
10108            .field("parent_class", &self.parent_class)
10109            .field("toggled", &self.toggled)
10110            .field("_gtk_reserved1", &self._gtk_reserved1)
10111            .field("_gtk_reserved2", &self._gtk_reserved2)
10112            .field("_gtk_reserved3", &self._gtk_reserved3)
10113            .field("_gtk_reserved4", &self._gtk_reserved4)
10114            .finish()
10115    }
10116}
10117
10118#[repr(C)]
10119pub struct _GtkToggleToolButtonPrivate {
10120    _data: [u8; 0],
10121    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10122}
10123
10124pub type GtkToggleToolButtonPrivate = *mut _GtkToggleToolButtonPrivate;
10125
10126#[derive(Copy, Clone)]
10127#[repr(C)]
10128pub struct GtkToolButtonClass {
10129    pub parent_class: GtkToolItemClass,
10130    pub button_type: GType,
10131    pub clicked: Option<unsafe extern "C" fn(*mut GtkToolButton)>,
10132    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10133    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10134    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10135    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10136}
10137
10138impl ::std::fmt::Debug for GtkToolButtonClass {
10139    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10140        f.debug_struct(&format!("GtkToolButtonClass @ {self:p}"))
10141            .field("parent_class", &self.parent_class)
10142            .field("button_type", &self.button_type)
10143            .field("clicked", &self.clicked)
10144            .field("_gtk_reserved1", &self._gtk_reserved1)
10145            .field("_gtk_reserved2", &self._gtk_reserved2)
10146            .field("_gtk_reserved3", &self._gtk_reserved3)
10147            .field("_gtk_reserved4", &self._gtk_reserved4)
10148            .finish()
10149    }
10150}
10151
10152#[repr(C)]
10153pub struct _GtkToolButtonPrivate {
10154    _data: [u8; 0],
10155    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10156}
10157
10158pub type GtkToolButtonPrivate = *mut _GtkToolButtonPrivate;
10159
10160#[derive(Copy, Clone)]
10161#[repr(C)]
10162pub struct GtkToolItemClass {
10163    pub parent_class: GtkBinClass,
10164    pub create_menu_proxy: Option<unsafe extern "C" fn(*mut GtkToolItem) -> gboolean>,
10165    pub toolbar_reconfigured: Option<unsafe extern "C" fn(*mut GtkToolItem)>,
10166    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10167    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10168    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10169    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10170}
10171
10172impl ::std::fmt::Debug for GtkToolItemClass {
10173    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10174        f.debug_struct(&format!("GtkToolItemClass @ {self:p}"))
10175            .field("parent_class", &self.parent_class)
10176            .field("create_menu_proxy", &self.create_menu_proxy)
10177            .field("toolbar_reconfigured", &self.toolbar_reconfigured)
10178            .field("_gtk_reserved1", &self._gtk_reserved1)
10179            .field("_gtk_reserved2", &self._gtk_reserved2)
10180            .field("_gtk_reserved3", &self._gtk_reserved3)
10181            .field("_gtk_reserved4", &self._gtk_reserved4)
10182            .finish()
10183    }
10184}
10185
10186#[derive(Copy, Clone)]
10187#[repr(C)]
10188pub struct GtkToolItemGroupClass {
10189    pub parent_class: GtkContainerClass,
10190    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10191    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10192    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10193    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10194}
10195
10196impl ::std::fmt::Debug for GtkToolItemGroupClass {
10197    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10198        f.debug_struct(&format!("GtkToolItemGroupClass @ {self:p}"))
10199            .field("parent_class", &self.parent_class)
10200            .field("_gtk_reserved1", &self._gtk_reserved1)
10201            .field("_gtk_reserved2", &self._gtk_reserved2)
10202            .field("_gtk_reserved3", &self._gtk_reserved3)
10203            .field("_gtk_reserved4", &self._gtk_reserved4)
10204            .finish()
10205    }
10206}
10207
10208#[repr(C)]
10209pub struct _GtkToolItemGroupPrivate {
10210    _data: [u8; 0],
10211    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10212}
10213
10214pub type GtkToolItemGroupPrivate = *mut _GtkToolItemGroupPrivate;
10215
10216#[repr(C)]
10217pub struct _GtkToolItemPrivate {
10218    _data: [u8; 0],
10219    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10220}
10221
10222pub type GtkToolItemPrivate = *mut _GtkToolItemPrivate;
10223
10224#[derive(Copy, Clone)]
10225#[repr(C)]
10226pub struct GtkToolPaletteClass {
10227    pub parent_class: GtkContainerClass,
10228    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10229    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10230    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10231    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10232}
10233
10234impl ::std::fmt::Debug for GtkToolPaletteClass {
10235    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10236        f.debug_struct(&format!("GtkToolPaletteClass @ {self:p}"))
10237            .field("parent_class", &self.parent_class)
10238            .field("_gtk_reserved1", &self._gtk_reserved1)
10239            .field("_gtk_reserved2", &self._gtk_reserved2)
10240            .field("_gtk_reserved3", &self._gtk_reserved3)
10241            .field("_gtk_reserved4", &self._gtk_reserved4)
10242            .finish()
10243    }
10244}
10245
10246#[repr(C)]
10247pub struct _GtkToolPalettePrivate {
10248    _data: [u8; 0],
10249    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10250}
10251
10252pub type GtkToolPalettePrivate = *mut _GtkToolPalettePrivate;
10253
10254#[derive(Copy, Clone)]
10255#[repr(C)]
10256pub struct GtkToolShellIface {
10257    pub g_iface: gobject::GTypeInterface,
10258    pub get_icon_size: Option<unsafe extern "C" fn(*mut GtkToolShell) -> GtkIconSize>,
10259    pub get_orientation: Option<unsafe extern "C" fn(*mut GtkToolShell) -> GtkOrientation>,
10260    pub get_style: Option<unsafe extern "C" fn(*mut GtkToolShell) -> GtkToolbarStyle>,
10261    pub get_relief_style: Option<unsafe extern "C" fn(*mut GtkToolShell) -> GtkReliefStyle>,
10262    pub rebuild_menu: Option<unsafe extern "C" fn(*mut GtkToolShell)>,
10263    pub get_text_orientation: Option<unsafe extern "C" fn(*mut GtkToolShell) -> GtkOrientation>,
10264    pub get_text_alignment: Option<unsafe extern "C" fn(*mut GtkToolShell) -> c_float>,
10265    pub get_ellipsize_mode:
10266        Option<unsafe extern "C" fn(*mut GtkToolShell) -> pango::PangoEllipsizeMode>,
10267    pub get_text_size_group: Option<unsafe extern "C" fn(*mut GtkToolShell) -> *mut GtkSizeGroup>,
10268}
10269
10270impl ::std::fmt::Debug for GtkToolShellIface {
10271    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10272        f.debug_struct(&format!("GtkToolShellIface @ {self:p}"))
10273            .field("get_icon_size", &self.get_icon_size)
10274            .field("get_orientation", &self.get_orientation)
10275            .field("get_style", &self.get_style)
10276            .field("get_relief_style", &self.get_relief_style)
10277            .field("rebuild_menu", &self.rebuild_menu)
10278            .field("get_text_orientation", &self.get_text_orientation)
10279            .field("get_text_alignment", &self.get_text_alignment)
10280            .field("get_ellipsize_mode", &self.get_ellipsize_mode)
10281            .field("get_text_size_group", &self.get_text_size_group)
10282            .finish()
10283    }
10284}
10285
10286#[derive(Copy, Clone)]
10287#[repr(C)]
10288pub struct GtkToolbarClass {
10289    pub parent_class: GtkContainerClass,
10290    pub orientation_changed: Option<unsafe extern "C" fn(*mut GtkToolbar, GtkOrientation)>,
10291    pub style_changed: Option<unsafe extern "C" fn(*mut GtkToolbar, GtkToolbarStyle)>,
10292    pub popup_context_menu:
10293        Option<unsafe extern "C" fn(*mut GtkToolbar, c_int, c_int, c_int) -> gboolean>,
10294    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10295    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10296    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10297    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10298}
10299
10300impl ::std::fmt::Debug for GtkToolbarClass {
10301    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10302        f.debug_struct(&format!("GtkToolbarClass @ {self:p}"))
10303            .field("parent_class", &self.parent_class)
10304            .field("orientation_changed", &self.orientation_changed)
10305            .field("style_changed", &self.style_changed)
10306            .field("popup_context_menu", &self.popup_context_menu)
10307            .field("_gtk_reserved1", &self._gtk_reserved1)
10308            .field("_gtk_reserved2", &self._gtk_reserved2)
10309            .field("_gtk_reserved3", &self._gtk_reserved3)
10310            .field("_gtk_reserved4", &self._gtk_reserved4)
10311            .finish()
10312    }
10313}
10314
10315#[repr(C)]
10316pub struct _GtkToolbarPrivate {
10317    _data: [u8; 0],
10318    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10319}
10320
10321pub type GtkToolbarPrivate = *mut _GtkToolbarPrivate;
10322
10323#[derive(Copy, Clone)]
10324#[repr(C)]
10325pub struct GtkToplevelAccessibleClass {
10326    pub parent_class: atk::AtkObjectClass,
10327}
10328
10329impl ::std::fmt::Debug for GtkToplevelAccessibleClass {
10330    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10331        f.debug_struct(&format!("GtkToplevelAccessibleClass @ {self:p}"))
10332            .field("parent_class", &self.parent_class)
10333            .finish()
10334    }
10335}
10336
10337#[repr(C)]
10338pub struct _GtkToplevelAccessiblePrivate {
10339    _data: [u8; 0],
10340    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10341}
10342
10343pub type GtkToplevelAccessiblePrivate = *mut _GtkToplevelAccessiblePrivate;
10344
10345#[derive(Copy, Clone)]
10346#[repr(C)]
10347pub struct GtkTreeDragDestIface {
10348    pub g_iface: gobject::GTypeInterface,
10349    pub drag_data_received: Option<
10350        unsafe extern "C" fn(
10351            *mut GtkTreeDragDest,
10352            *mut GtkTreePath,
10353            *mut GtkSelectionData,
10354        ) -> gboolean,
10355    >,
10356    pub row_drop_possible: Option<
10357        unsafe extern "C" fn(
10358            *mut GtkTreeDragDest,
10359            *mut GtkTreePath,
10360            *mut GtkSelectionData,
10361        ) -> gboolean,
10362    >,
10363}
10364
10365impl ::std::fmt::Debug for GtkTreeDragDestIface {
10366    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10367        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
10368            .field("drag_data_received", &self.drag_data_received)
10369            .field("row_drop_possible", &self.row_drop_possible)
10370            .finish()
10371    }
10372}
10373
10374#[derive(Copy, Clone)]
10375#[repr(C)]
10376pub struct GtkTreeDragSourceIface {
10377    pub g_iface: gobject::GTypeInterface,
10378    pub row_draggable:
10379        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
10380    pub drag_data_get: Option<
10381        unsafe extern "C" fn(
10382            *mut GtkTreeDragSource,
10383            *mut GtkTreePath,
10384            *mut GtkSelectionData,
10385        ) -> gboolean,
10386    >,
10387    pub drag_data_delete:
10388        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
10389}
10390
10391impl ::std::fmt::Debug for GtkTreeDragSourceIface {
10392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10393        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
10394            .field("row_draggable", &self.row_draggable)
10395            .field("drag_data_get", &self.drag_data_get)
10396            .field("drag_data_delete", &self.drag_data_delete)
10397            .finish()
10398    }
10399}
10400
10401#[derive(Copy, Clone)]
10402#[repr(C)]
10403pub struct GtkTreeIter {
10404    pub stamp: c_int,
10405    pub user_data: gpointer,
10406    pub user_data2: gpointer,
10407    pub user_data3: gpointer,
10408}
10409
10410impl ::std::fmt::Debug for GtkTreeIter {
10411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10412        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
10413            .field("stamp", &self.stamp)
10414            .field("user_data", &self.user_data)
10415            .field("user_data2", &self.user_data2)
10416            .field("user_data3", &self.user_data3)
10417            .finish()
10418    }
10419}
10420
10421#[derive(Copy, Clone)]
10422#[repr(C)]
10423pub struct GtkTreeModelFilterClass {
10424    pub parent_class: gobject::GObjectClass,
10425    pub visible: Option<
10426        unsafe extern "C" fn(
10427            *mut GtkTreeModelFilter,
10428            *mut GtkTreeModel,
10429            *mut GtkTreeIter,
10430        ) -> gboolean,
10431    >,
10432    pub modify: Option<
10433        unsafe extern "C" fn(
10434            *mut GtkTreeModelFilter,
10435            *mut GtkTreeModel,
10436            *mut GtkTreeIter,
10437            *mut gobject::GValue,
10438            c_int,
10439        ),
10440    >,
10441    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10442    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10443    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10444    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10445}
10446
10447impl ::std::fmt::Debug for GtkTreeModelFilterClass {
10448    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10449        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
10450            .field("parent_class", &self.parent_class)
10451            .field("visible", &self.visible)
10452            .field("modify", &self.modify)
10453            .field("_gtk_reserved1", &self._gtk_reserved1)
10454            .field("_gtk_reserved2", &self._gtk_reserved2)
10455            .field("_gtk_reserved3", &self._gtk_reserved3)
10456            .field("_gtk_reserved4", &self._gtk_reserved4)
10457            .finish()
10458    }
10459}
10460
10461#[repr(C)]
10462pub struct _GtkTreeModelFilterPrivate {
10463    _data: [u8; 0],
10464    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10465}
10466
10467pub type GtkTreeModelFilterPrivate = *mut _GtkTreeModelFilterPrivate;
10468
10469#[derive(Copy, Clone)]
10470#[repr(C)]
10471pub struct GtkTreeModelIface {
10472    pub g_iface: gobject::GTypeInterface,
10473    pub row_changed:
10474        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
10475    pub row_inserted:
10476        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
10477    pub row_has_child_toggled:
10478        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
10479    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
10480    pub rows_reordered: Option<
10481        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
10482    >,
10483    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
10484    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
10485    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
10486    pub get_iter: Option<
10487        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
10488    >,
10489    pub get_path:
10490        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
10491    pub get_value: Option<
10492        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
10493    >,
10494    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
10495    pub iter_previous:
10496        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
10497    pub iter_children: Option<
10498        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
10499    >,
10500    pub iter_has_child:
10501        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
10502    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
10503    pub iter_nth_child: Option<
10504        unsafe extern "C" fn(
10505            *mut GtkTreeModel,
10506            *mut GtkTreeIter,
10507            *mut GtkTreeIter,
10508            c_int,
10509        ) -> gboolean,
10510    >,
10511    pub iter_parent: Option<
10512        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
10513    >,
10514    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
10515    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
10516}
10517
10518impl ::std::fmt::Debug for GtkTreeModelIface {
10519    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10520        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
10521            .field("row_changed", &self.row_changed)
10522            .field("row_inserted", &self.row_inserted)
10523            .field("row_has_child_toggled", &self.row_has_child_toggled)
10524            .field("row_deleted", &self.row_deleted)
10525            .field("rows_reordered", &self.rows_reordered)
10526            .field("get_flags", &self.get_flags)
10527            .field("get_n_columns", &self.get_n_columns)
10528            .field("get_column_type", &self.get_column_type)
10529            .field("get_iter", &self.get_iter)
10530            .field("get_path", &self.get_path)
10531            .field("get_value", &self.get_value)
10532            .field("iter_next", &self.iter_next)
10533            .field("iter_previous", &self.iter_previous)
10534            .field("iter_children", &self.iter_children)
10535            .field("iter_has_child", &self.iter_has_child)
10536            .field("iter_n_children", &self.iter_n_children)
10537            .field("iter_nth_child", &self.iter_nth_child)
10538            .field("iter_parent", &self.iter_parent)
10539            .field("ref_node", &self.ref_node)
10540            .field("unref_node", &self.unref_node)
10541            .finish()
10542    }
10543}
10544
10545#[derive(Copy, Clone)]
10546#[repr(C)]
10547pub struct GtkTreeModelSortClass {
10548    pub parent_class: gobject::GObjectClass,
10549    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10550    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10551    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10552    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10553}
10554
10555impl ::std::fmt::Debug for GtkTreeModelSortClass {
10556    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10557        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
10558            .field("parent_class", &self.parent_class)
10559            .field("_gtk_reserved1", &self._gtk_reserved1)
10560            .field("_gtk_reserved2", &self._gtk_reserved2)
10561            .field("_gtk_reserved3", &self._gtk_reserved3)
10562            .field("_gtk_reserved4", &self._gtk_reserved4)
10563            .finish()
10564    }
10565}
10566
10567#[repr(C)]
10568pub struct _GtkTreeModelSortPrivate {
10569    _data: [u8; 0],
10570    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10571}
10572
10573pub type GtkTreeModelSortPrivate = *mut _GtkTreeModelSortPrivate;
10574
10575#[repr(C)]
10576pub struct GtkTreePath {
10577    _data: [u8; 0],
10578    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10579}
10580
10581impl ::std::fmt::Debug for GtkTreePath {
10582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10583        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
10584    }
10585}
10586
10587#[repr(C)]
10588pub struct GtkTreeRowReference {
10589    _data: [u8; 0],
10590    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10591}
10592
10593impl ::std::fmt::Debug for GtkTreeRowReference {
10594    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10595        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
10596            .finish()
10597    }
10598}
10599
10600#[derive(Copy, Clone)]
10601#[repr(C)]
10602pub struct GtkTreeSelectionClass {
10603    pub parent_class: gobject::GObjectClass,
10604    pub changed: Option<unsafe extern "C" fn(*mut GtkTreeSelection)>,
10605    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10606    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10607    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10608    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10609}
10610
10611impl ::std::fmt::Debug for GtkTreeSelectionClass {
10612    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10613        f.debug_struct(&format!("GtkTreeSelectionClass @ {self:p}"))
10614            .field("parent_class", &self.parent_class)
10615            .field("changed", &self.changed)
10616            .field("_gtk_reserved1", &self._gtk_reserved1)
10617            .field("_gtk_reserved2", &self._gtk_reserved2)
10618            .field("_gtk_reserved3", &self._gtk_reserved3)
10619            .field("_gtk_reserved4", &self._gtk_reserved4)
10620            .finish()
10621    }
10622}
10623
10624#[repr(C)]
10625pub struct _GtkTreeSelectionPrivate {
10626    _data: [u8; 0],
10627    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10628}
10629
10630pub type GtkTreeSelectionPrivate = *mut _GtkTreeSelectionPrivate;
10631
10632#[derive(Copy, Clone)]
10633#[repr(C)]
10634pub struct GtkTreeSortableIface {
10635    pub g_iface: gobject::GTypeInterface,
10636    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
10637    pub get_sort_column_id: Option<
10638        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
10639    >,
10640    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
10641    pub set_sort_func: Option<
10642        unsafe extern "C" fn(
10643            *mut GtkTreeSortable,
10644            c_int,
10645            GtkTreeIterCompareFunc,
10646            gpointer,
10647            glib::GDestroyNotify,
10648        ),
10649    >,
10650    pub set_default_sort_func: Option<
10651        unsafe extern "C" fn(
10652            *mut GtkTreeSortable,
10653            GtkTreeIterCompareFunc,
10654            gpointer,
10655            glib::GDestroyNotify,
10656        ),
10657    >,
10658    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
10659}
10660
10661impl ::std::fmt::Debug for GtkTreeSortableIface {
10662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10663        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
10664            .field("sort_column_changed", &self.sort_column_changed)
10665            .field("get_sort_column_id", &self.get_sort_column_id)
10666            .field("set_sort_column_id", &self.set_sort_column_id)
10667            .field("set_sort_func", &self.set_sort_func)
10668            .field("set_default_sort_func", &self.set_default_sort_func)
10669            .field("has_default_sort_func", &self.has_default_sort_func)
10670            .finish()
10671    }
10672}
10673
10674#[derive(Copy, Clone)]
10675#[repr(C)]
10676pub struct GtkTreeStoreClass {
10677    pub parent_class: gobject::GObjectClass,
10678    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10679    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10680    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10681    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10682}
10683
10684impl ::std::fmt::Debug for GtkTreeStoreClass {
10685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10686        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
10687            .field("parent_class", &self.parent_class)
10688            .field("_gtk_reserved1", &self._gtk_reserved1)
10689            .field("_gtk_reserved2", &self._gtk_reserved2)
10690            .field("_gtk_reserved3", &self._gtk_reserved3)
10691            .field("_gtk_reserved4", &self._gtk_reserved4)
10692            .finish()
10693    }
10694}
10695
10696#[repr(C)]
10697pub struct _GtkTreeStorePrivate {
10698    _data: [u8; 0],
10699    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10700}
10701
10702pub type GtkTreeStorePrivate = *mut _GtkTreeStorePrivate;
10703
10704#[derive(Copy, Clone)]
10705#[repr(C)]
10706pub struct GtkTreeViewAccessibleClass {
10707    pub parent_class: GtkContainerAccessibleClass,
10708}
10709
10710impl ::std::fmt::Debug for GtkTreeViewAccessibleClass {
10711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10712        f.debug_struct(&format!("GtkTreeViewAccessibleClass @ {self:p}"))
10713            .field("parent_class", &self.parent_class)
10714            .finish()
10715    }
10716}
10717
10718#[repr(C)]
10719pub struct _GtkTreeViewAccessiblePrivate {
10720    _data: [u8; 0],
10721    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10722}
10723
10724pub type GtkTreeViewAccessiblePrivate = *mut _GtkTreeViewAccessiblePrivate;
10725
10726#[derive(Copy, Clone)]
10727#[repr(C)]
10728pub struct GtkTreeViewClass {
10729    pub parent_class: GtkContainerClass,
10730    pub row_activated:
10731        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
10732    pub test_expand_row: Option<
10733        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
10734    >,
10735    pub test_collapse_row: Option<
10736        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
10737    >,
10738    pub row_expanded:
10739        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
10740    pub row_collapsed:
10741        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
10742    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
10743    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
10744    pub move_cursor:
10745        Option<unsafe extern "C" fn(*mut GtkTreeView, GtkMovementStep, c_int) -> gboolean>,
10746    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
10747    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
10748    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
10749    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
10750    pub expand_collapse_cursor_row:
10751        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
10752    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
10753    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
10754    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10755    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10756    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10757    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10758    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
10759    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
10760    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
10761    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
10762}
10763
10764impl ::std::fmt::Debug for GtkTreeViewClass {
10765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10766        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
10767            .field("parent_class", &self.parent_class)
10768            .field("row_activated", &self.row_activated)
10769            .field("test_expand_row", &self.test_expand_row)
10770            .field("test_collapse_row", &self.test_collapse_row)
10771            .field("row_expanded", &self.row_expanded)
10772            .field("row_collapsed", &self.row_collapsed)
10773            .field("columns_changed", &self.columns_changed)
10774            .field("cursor_changed", &self.cursor_changed)
10775            .field("move_cursor", &self.move_cursor)
10776            .field("select_all", &self.select_all)
10777            .field("unselect_all", &self.unselect_all)
10778            .field("select_cursor_row", &self.select_cursor_row)
10779            .field("toggle_cursor_row", &self.toggle_cursor_row)
10780            .field(
10781                "expand_collapse_cursor_row",
10782                &self.expand_collapse_cursor_row,
10783            )
10784            .field("select_cursor_parent", &self.select_cursor_parent)
10785            .field("start_interactive_search", &self.start_interactive_search)
10786            .field("_gtk_reserved1", &self._gtk_reserved1)
10787            .field("_gtk_reserved2", &self._gtk_reserved2)
10788            .field("_gtk_reserved3", &self._gtk_reserved3)
10789            .field("_gtk_reserved4", &self._gtk_reserved4)
10790            .field("_gtk_reserved5", &self._gtk_reserved5)
10791            .field("_gtk_reserved6", &self._gtk_reserved6)
10792            .field("_gtk_reserved7", &self._gtk_reserved7)
10793            .field("_gtk_reserved8", &self._gtk_reserved8)
10794            .finish()
10795    }
10796}
10797
10798#[derive(Copy, Clone)]
10799#[repr(C)]
10800pub struct GtkTreeViewColumnClass {
10801    pub parent_class: gobject::GInitiallyUnownedClass,
10802    pub clicked: Option<unsafe extern "C" fn(*mut GtkTreeViewColumn)>,
10803    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10804    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10805    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10806    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10807}
10808
10809impl ::std::fmt::Debug for GtkTreeViewColumnClass {
10810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10811        f.debug_struct(&format!("GtkTreeViewColumnClass @ {self:p}"))
10812            .field("parent_class", &self.parent_class)
10813            .field("clicked", &self.clicked)
10814            .field("_gtk_reserved1", &self._gtk_reserved1)
10815            .field("_gtk_reserved2", &self._gtk_reserved2)
10816            .field("_gtk_reserved3", &self._gtk_reserved3)
10817            .field("_gtk_reserved4", &self._gtk_reserved4)
10818            .finish()
10819    }
10820}
10821
10822#[repr(C)]
10823pub struct _GtkTreeViewColumnPrivate {
10824    _data: [u8; 0],
10825    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10826}
10827
10828pub type GtkTreeViewColumnPrivate = *mut _GtkTreeViewColumnPrivate;
10829
10830#[repr(C)]
10831pub struct _GtkTreeViewPrivate {
10832    _data: [u8; 0],
10833    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10834}
10835
10836pub type GtkTreeViewPrivate = *mut _GtkTreeViewPrivate;
10837
10838#[derive(Copy, Clone)]
10839#[repr(C)]
10840pub struct GtkUIManagerClass {
10841    pub parent_class: gobject::GObjectClass,
10842    pub add_widget: Option<unsafe extern "C" fn(*mut GtkUIManager, *mut GtkWidget)>,
10843    pub actions_changed: Option<unsafe extern "C" fn(*mut GtkUIManager)>,
10844    pub connect_proxy:
10845        Option<unsafe extern "C" fn(*mut GtkUIManager, *mut GtkAction, *mut GtkWidget)>,
10846    pub disconnect_proxy:
10847        Option<unsafe extern "C" fn(*mut GtkUIManager, *mut GtkAction, *mut GtkWidget)>,
10848    pub pre_activate: Option<unsafe extern "C" fn(*mut GtkUIManager, *mut GtkAction)>,
10849    pub post_activate: Option<unsafe extern "C" fn(*mut GtkUIManager, *mut GtkAction)>,
10850    pub get_widget:
10851        Option<unsafe extern "C" fn(*mut GtkUIManager, *const c_char) -> *mut GtkWidget>,
10852    pub get_action:
10853        Option<unsafe extern "C" fn(*mut GtkUIManager, *const c_char) -> *mut GtkAction>,
10854    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10855    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10856    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10857    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10858}
10859
10860impl ::std::fmt::Debug for GtkUIManagerClass {
10861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10862        f.debug_struct(&format!("GtkUIManagerClass @ {self:p}"))
10863            .field("parent_class", &self.parent_class)
10864            .field("add_widget", &self.add_widget)
10865            .field("actions_changed", &self.actions_changed)
10866            .field("connect_proxy", &self.connect_proxy)
10867            .field("disconnect_proxy", &self.disconnect_proxy)
10868            .field("pre_activate", &self.pre_activate)
10869            .field("post_activate", &self.post_activate)
10870            .field("get_widget", &self.get_widget)
10871            .field("get_action", &self.get_action)
10872            .field("_gtk_reserved1", &self._gtk_reserved1)
10873            .field("_gtk_reserved2", &self._gtk_reserved2)
10874            .field("_gtk_reserved3", &self._gtk_reserved3)
10875            .field("_gtk_reserved4", &self._gtk_reserved4)
10876            .finish()
10877    }
10878}
10879
10880#[repr(C)]
10881pub struct _GtkUIManagerPrivate {
10882    _data: [u8; 0],
10883    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10884}
10885
10886pub type GtkUIManagerPrivate = *mut _GtkUIManagerPrivate;
10887
10888#[derive(Copy, Clone)]
10889#[repr(C)]
10890pub struct GtkVBoxClass {
10891    pub parent_class: GtkBoxClass,
10892}
10893
10894impl ::std::fmt::Debug for GtkVBoxClass {
10895    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10896        f.debug_struct(&format!("GtkVBoxClass @ {self:p}"))
10897            .field("parent_class", &self.parent_class)
10898            .finish()
10899    }
10900}
10901
10902#[derive(Copy, Clone)]
10903#[repr(C)]
10904pub struct GtkVButtonBoxClass {
10905    pub parent_class: GtkButtonBoxClass,
10906}
10907
10908impl ::std::fmt::Debug for GtkVButtonBoxClass {
10909    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10910        f.debug_struct(&format!("GtkVButtonBoxClass @ {self:p}"))
10911            .field("parent_class", &self.parent_class)
10912            .finish()
10913    }
10914}
10915
10916#[derive(Copy, Clone)]
10917#[repr(C)]
10918pub struct GtkVPanedClass {
10919    pub parent_class: GtkPanedClass,
10920}
10921
10922impl ::std::fmt::Debug for GtkVPanedClass {
10923    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10924        f.debug_struct(&format!("GtkVPanedClass @ {self:p}"))
10925            .field("parent_class", &self.parent_class)
10926            .finish()
10927    }
10928}
10929
10930#[derive(Copy, Clone)]
10931#[repr(C)]
10932pub struct GtkVScaleClass {
10933    pub parent_class: GtkScaleClass,
10934}
10935
10936impl ::std::fmt::Debug for GtkVScaleClass {
10937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10938        f.debug_struct(&format!("GtkVScaleClass @ {self:p}"))
10939            .field("parent_class", &self.parent_class)
10940            .finish()
10941    }
10942}
10943
10944#[derive(Copy, Clone)]
10945#[repr(C)]
10946pub struct GtkVScrollbarClass {
10947    pub parent_class: GtkScrollbarClass,
10948}
10949
10950impl ::std::fmt::Debug for GtkVScrollbarClass {
10951    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10952        f.debug_struct(&format!("GtkVScrollbarClass @ {self:p}"))
10953            .field("parent_class", &self.parent_class)
10954            .finish()
10955    }
10956}
10957
10958#[derive(Copy, Clone)]
10959#[repr(C)]
10960pub struct GtkVSeparatorClass {
10961    pub parent_class: GtkSeparatorClass,
10962}
10963
10964impl ::std::fmt::Debug for GtkVSeparatorClass {
10965    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10966        f.debug_struct(&format!("GtkVSeparatorClass @ {self:p}"))
10967            .field("parent_class", &self.parent_class)
10968            .finish()
10969    }
10970}
10971
10972#[derive(Copy, Clone)]
10973#[repr(C)]
10974pub struct GtkViewportClass {
10975    pub parent_class: GtkBinClass,
10976    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
10977    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
10978    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
10979    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
10980}
10981
10982impl ::std::fmt::Debug for GtkViewportClass {
10983    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10984        f.debug_struct(&format!("GtkViewportClass @ {self:p}"))
10985            .field("parent_class", &self.parent_class)
10986            .field("_gtk_reserved1", &self._gtk_reserved1)
10987            .field("_gtk_reserved2", &self._gtk_reserved2)
10988            .field("_gtk_reserved3", &self._gtk_reserved3)
10989            .field("_gtk_reserved4", &self._gtk_reserved4)
10990            .finish()
10991    }
10992}
10993
10994#[repr(C)]
10995pub struct _GtkViewportPrivate {
10996    _data: [u8; 0],
10997    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10998}
10999
11000pub type GtkViewportPrivate = *mut _GtkViewportPrivate;
11001
11002#[derive(Copy, Clone)]
11003#[repr(C)]
11004pub struct GtkVolumeButtonClass {
11005    pub parent_class: GtkScaleButtonClass,
11006    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
11007    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
11008    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
11009    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
11010}
11011
11012impl ::std::fmt::Debug for GtkVolumeButtonClass {
11013    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11014        f.debug_struct(&format!("GtkVolumeButtonClass @ {self:p}"))
11015            .field("parent_class", &self.parent_class)
11016            .field("_gtk_reserved1", &self._gtk_reserved1)
11017            .field("_gtk_reserved2", &self._gtk_reserved2)
11018            .field("_gtk_reserved3", &self._gtk_reserved3)
11019            .field("_gtk_reserved4", &self._gtk_reserved4)
11020            .finish()
11021    }
11022}
11023
11024#[derive(Copy, Clone)]
11025#[repr(C)]
11026pub struct GtkWidgetAccessibleClass {
11027    pub parent_class: GtkAccessibleClass,
11028    pub notify_gtk: Option<unsafe extern "C" fn(*mut gobject::GObject, *mut gobject::GParamSpec)>,
11029}
11030
11031impl ::std::fmt::Debug for GtkWidgetAccessibleClass {
11032    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11033        f.debug_struct(&format!("GtkWidgetAccessibleClass @ {self:p}"))
11034            .field("parent_class", &self.parent_class)
11035            .field("notify_gtk", &self.notify_gtk)
11036            .finish()
11037    }
11038}
11039
11040#[repr(C)]
11041pub struct _GtkWidgetAccessiblePrivate {
11042    _data: [u8; 0],
11043    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11044}
11045
11046pub type GtkWidgetAccessiblePrivate = *mut _GtkWidgetAccessiblePrivate;
11047
11048#[derive(Copy, Clone)]
11049#[repr(C)]
11050pub struct GtkWidgetClass {
11051    pub parent_class: gobject::GInitiallyUnownedClass,
11052    pub activate_signal: c_uint,
11053    pub dispatch_child_properties_changed:
11054        Option<unsafe extern "C" fn(*mut GtkWidget, c_uint, *mut *mut gobject::GParamSpec)>,
11055    pub destroy: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11056    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11057    pub show_all: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11058    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11059    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11060    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11061    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11062    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11063    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkAllocation)>,
11064    pub state_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateType)>,
11065    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
11066    pub parent_set: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
11067    pub hierarchy_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
11068    pub style_set: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkStyle)>,
11069    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
11070    pub grab_notify: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean)>,
11071    pub child_notify: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gobject::GParamSpec)>,
11072    pub draw: Option<unsafe extern "C" fn(*mut GtkWidget, *mut cairo::cairo_t) -> gboolean>,
11073    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
11074    pub get_preferred_height: Option<unsafe extern "C" fn(*mut GtkWidget, *mut c_int, *mut c_int)>,
11075    pub get_preferred_width_for_height:
11076        Option<unsafe extern "C" fn(*mut GtkWidget, c_int, *mut c_int, *mut c_int)>,
11077    pub get_preferred_width: Option<unsafe extern "C" fn(*mut GtkWidget, *mut c_int, *mut c_int)>,
11078    pub get_preferred_height_for_width:
11079        Option<unsafe extern "C" fn(*mut GtkWidget, c_int, *mut c_int, *mut c_int)>,
11080    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
11081    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11082    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
11083    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
11084    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
11085    pub event: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEvent) -> gboolean>,
11086    pub button_press_event:
11087        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventButton) -> gboolean>,
11088    pub button_release_event:
11089        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventButton) -> gboolean>,
11090    pub scroll_event:
11091        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventScroll) -> gboolean>,
11092    pub motion_notify_event:
11093        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventMotion) -> gboolean>,
11094    pub delete_event:
11095        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventAny) -> gboolean>,
11096    pub destroy_event:
11097        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventAny) -> gboolean>,
11098    pub key_press_event:
11099        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventKey) -> gboolean>,
11100    pub key_release_event:
11101        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventKey) -> gboolean>,
11102    pub enter_notify_event:
11103        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventCrossing) -> gboolean>,
11104    pub leave_notify_event:
11105        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventCrossing) -> gboolean>,
11106    pub configure_event:
11107        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventConfigure) -> gboolean>,
11108    pub focus_in_event:
11109        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventFocus) -> gboolean>,
11110    pub focus_out_event:
11111        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventFocus) -> gboolean>,
11112    pub map_event: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventAny) -> gboolean>,
11113    pub unmap_event:
11114        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventAny) -> gboolean>,
11115    pub property_notify_event:
11116        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventProperty) -> gboolean>,
11117    pub selection_clear_event:
11118        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventSelection) -> gboolean>,
11119    pub selection_request_event:
11120        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventSelection) -> gboolean>,
11121    pub selection_notify_event:
11122        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventSelection) -> gboolean>,
11123    pub proximity_in_event:
11124        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventProximity) -> gboolean>,
11125    pub proximity_out_event:
11126        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventProximity) -> gboolean>,
11127    pub visibility_notify_event:
11128        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventVisibility) -> gboolean>,
11129    pub window_state_event:
11130        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventWindowState) -> gboolean>,
11131    pub damage_event:
11132        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventExpose) -> gboolean>,
11133    pub grab_broken_event:
11134        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventGrabBroken) -> gboolean>,
11135    pub selection_get:
11136        Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSelectionData, c_uint, c_uint)>,
11137    pub selection_received:
11138        Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSelectionData, c_uint)>,
11139    pub drag_begin: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkDragContext)>,
11140    pub drag_end: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkDragContext)>,
11141    pub drag_data_get: Option<
11142        unsafe extern "C" fn(
11143            *mut GtkWidget,
11144            *mut gdk::GdkDragContext,
11145            *mut GtkSelectionData,
11146            c_uint,
11147            c_uint,
11148        ),
11149    >,
11150    pub drag_data_delete: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkDragContext)>,
11151    pub drag_leave: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkDragContext, c_uint)>,
11152    pub drag_motion: Option<
11153        unsafe extern "C" fn(
11154            *mut GtkWidget,
11155            *mut gdk::GdkDragContext,
11156            c_int,
11157            c_int,
11158            c_uint,
11159        ) -> gboolean,
11160    >,
11161    pub drag_drop: Option<
11162        unsafe extern "C" fn(
11163            *mut GtkWidget,
11164            *mut gdk::GdkDragContext,
11165            c_int,
11166            c_int,
11167            c_uint,
11168        ) -> gboolean,
11169    >,
11170    pub drag_data_received: Option<
11171        unsafe extern "C" fn(
11172            *mut GtkWidget,
11173            *mut gdk::GdkDragContext,
11174            c_int,
11175            c_int,
11176            *mut GtkSelectionData,
11177            c_uint,
11178            c_uint,
11179        ),
11180    >,
11181    pub drag_failed: Option<
11182        unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkDragContext, GtkDragResult) -> gboolean,
11183    >,
11184    pub popup_menu: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
11185    pub show_help: Option<unsafe extern "C" fn(*mut GtkWidget, GtkWidgetHelpType) -> gboolean>,
11186    pub get_accessible: Option<unsafe extern "C" fn(*mut GtkWidget) -> *mut atk::AtkObject>,
11187    pub screen_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkScreen)>,
11188    pub can_activate_accel: Option<unsafe extern "C" fn(*mut GtkWidget, c_uint) -> gboolean>,
11189    pub composited_changed: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11190    pub query_tooltip: Option<
11191        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
11192    >,
11193    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
11194    pub adjust_size_request:
11195        Option<unsafe extern "C" fn(*mut GtkWidget, GtkOrientation, *mut c_int, *mut c_int)>,
11196    pub adjust_size_allocation: Option<
11197        unsafe extern "C" fn(
11198            *mut GtkWidget,
11199            GtkOrientation,
11200            *mut c_int,
11201            *mut c_int,
11202            *mut c_int,
11203            *mut c_int,
11204        ),
11205    >,
11206    pub style_updated: Option<unsafe extern "C" fn(*mut GtkWidget)>,
11207    pub touch_event:
11208        Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkEventTouch) -> gboolean>,
11209    pub get_preferred_height_and_baseline_for_width: Option<
11210        unsafe extern "C" fn(*mut GtkWidget, c_int, *mut c_int, *mut c_int, *mut c_int, *mut c_int),
11211    >,
11212    pub adjust_baseline_request:
11213        Option<unsafe extern "C" fn(*mut GtkWidget, *mut c_int, *mut c_int)>,
11214    pub adjust_baseline_allocation: Option<unsafe extern "C" fn(*mut GtkWidget, *mut c_int)>,
11215    pub queue_draw_region:
11216        Option<unsafe extern "C" fn(*mut GtkWidget, *const cairo::cairo_region_t)>,
11217    pub priv_: *mut GtkWidgetClassPrivate,
11218    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
11219    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
11220}
11221
11222impl ::std::fmt::Debug for GtkWidgetClass {
11223    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11224        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
11225            .field("parent_class", &self.parent_class)
11226            .field("activate_signal", &self.activate_signal)
11227            .field(
11228                "dispatch_child_properties_changed",
11229                &self.dispatch_child_properties_changed,
11230            )
11231            .field("destroy", &self.destroy)
11232            .field("show", &self.show)
11233            .field("show_all", &self.show_all)
11234            .field("hide", &self.hide)
11235            .field("map", &self.map)
11236            .field("unmap", &self.unmap)
11237            .field("realize", &self.realize)
11238            .field("unrealize", &self.unrealize)
11239            .field("size_allocate", &self.size_allocate)
11240            .field("state_changed", &self.state_changed)
11241            .field("state_flags_changed", &self.state_flags_changed)
11242            .field("parent_set", &self.parent_set)
11243            .field("hierarchy_changed", &self.hierarchy_changed)
11244            .field("style_set", &self.style_set)
11245            .field("direction_changed", &self.direction_changed)
11246            .field("grab_notify", &self.grab_notify)
11247            .field("child_notify", &self.child_notify)
11248            .field("draw", &self.draw)
11249            .field("get_request_mode", &self.get_request_mode)
11250            .field("get_preferred_height", &self.get_preferred_height)
11251            .field(
11252                "get_preferred_width_for_height",
11253                &self.get_preferred_width_for_height,
11254            )
11255            .field("get_preferred_width", &self.get_preferred_width)
11256            .field(
11257                "get_preferred_height_for_width",
11258                &self.get_preferred_height_for_width,
11259            )
11260            .field("mnemonic_activate", &self.mnemonic_activate)
11261            .field("grab_focus", &self.grab_focus)
11262            .field("focus", &self.focus)
11263            .field("move_focus", &self.move_focus)
11264            .field("keynav_failed", &self.keynav_failed)
11265            .field("event", &self.event)
11266            .field("button_press_event", &self.button_press_event)
11267            .field("button_release_event", &self.button_release_event)
11268            .field("scroll_event", &self.scroll_event)
11269            .field("motion_notify_event", &self.motion_notify_event)
11270            .field("delete_event", &self.delete_event)
11271            .field("destroy_event", &self.destroy_event)
11272            .field("key_press_event", &self.key_press_event)
11273            .field("key_release_event", &self.key_release_event)
11274            .field("enter_notify_event", &self.enter_notify_event)
11275            .field("leave_notify_event", &self.leave_notify_event)
11276            .field("configure_event", &self.configure_event)
11277            .field("focus_in_event", &self.focus_in_event)
11278            .field("focus_out_event", &self.focus_out_event)
11279            .field("map_event", &self.map_event)
11280            .field("unmap_event", &self.unmap_event)
11281            .field("property_notify_event", &self.property_notify_event)
11282            .field("selection_clear_event", &self.selection_clear_event)
11283            .field("selection_request_event", &self.selection_request_event)
11284            .field("selection_notify_event", &self.selection_notify_event)
11285            .field("proximity_in_event", &self.proximity_in_event)
11286            .field("proximity_out_event", &self.proximity_out_event)
11287            .field("visibility_notify_event", &self.visibility_notify_event)
11288            .field("window_state_event", &self.window_state_event)
11289            .field("damage_event", &self.damage_event)
11290            .field("grab_broken_event", &self.grab_broken_event)
11291            .field("selection_get", &self.selection_get)
11292            .field("selection_received", &self.selection_received)
11293            .field("drag_begin", &self.drag_begin)
11294            .field("drag_end", &self.drag_end)
11295            .field("drag_data_get", &self.drag_data_get)
11296            .field("drag_data_delete", &self.drag_data_delete)
11297            .field("drag_leave", &self.drag_leave)
11298            .field("drag_motion", &self.drag_motion)
11299            .field("drag_drop", &self.drag_drop)
11300            .field("drag_data_received", &self.drag_data_received)
11301            .field("drag_failed", &self.drag_failed)
11302            .field("popup_menu", &self.popup_menu)
11303            .field("show_help", &self.show_help)
11304            .field("get_accessible", &self.get_accessible)
11305            .field("screen_changed", &self.screen_changed)
11306            .field("can_activate_accel", &self.can_activate_accel)
11307            .field("composited_changed", &self.composited_changed)
11308            .field("query_tooltip", &self.query_tooltip)
11309            .field("compute_expand", &self.compute_expand)
11310            .field("adjust_size_request", &self.adjust_size_request)
11311            .field("adjust_size_allocation", &self.adjust_size_allocation)
11312            .field("style_updated", &self.style_updated)
11313            .field("touch_event", &self.touch_event)
11314            .field(
11315                "get_preferred_height_and_baseline_for_width",
11316                &self.get_preferred_height_and_baseline_for_width,
11317            )
11318            .field("adjust_baseline_request", &self.adjust_baseline_request)
11319            .field(
11320                "adjust_baseline_allocation",
11321                &self.adjust_baseline_allocation,
11322            )
11323            .field("queue_draw_region", &self.queue_draw_region)
11324            .field("_gtk_reserved6", &self._gtk_reserved6)
11325            .field("_gtk_reserved7", &self._gtk_reserved7)
11326            .finish()
11327    }
11328}
11329
11330#[repr(C)]
11331pub struct _GtkWidgetClassPrivate {
11332    _data: [u8; 0],
11333    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11334}
11335
11336pub type GtkWidgetClassPrivate = *mut _GtkWidgetClassPrivate;
11337
11338#[repr(C)]
11339pub struct GtkWidgetPath {
11340    _data: [u8; 0],
11341    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11342}
11343
11344impl ::std::fmt::Debug for GtkWidgetPath {
11345    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11346        f.debug_struct(&format!("GtkWidgetPath @ {self:p}"))
11347            .finish()
11348    }
11349}
11350
11351#[repr(C)]
11352pub struct _GtkWidgetPrivate {
11353    _data: [u8; 0],
11354    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11355}
11356
11357pub type GtkWidgetPrivate = *mut _GtkWidgetPrivate;
11358
11359#[derive(Copy, Clone)]
11360#[repr(C)]
11361pub struct GtkWindowAccessibleClass {
11362    pub parent_class: GtkContainerAccessibleClass,
11363}
11364
11365impl ::std::fmt::Debug for GtkWindowAccessibleClass {
11366    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11367        f.debug_struct(&format!("GtkWindowAccessibleClass @ {self:p}"))
11368            .field("parent_class", &self.parent_class)
11369            .finish()
11370    }
11371}
11372
11373#[repr(C)]
11374pub struct _GtkWindowAccessiblePrivate {
11375    _data: [u8; 0],
11376    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11377}
11378
11379pub type GtkWindowAccessiblePrivate = *mut _GtkWindowAccessiblePrivate;
11380
11381#[derive(Copy, Clone)]
11382#[repr(C)]
11383pub struct GtkWindowClass {
11384    pub parent_class: GtkBinClass,
11385    pub set_focus: Option<unsafe extern "C" fn(*mut GtkWindow, *mut GtkWidget)>,
11386    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
11387    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
11388    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
11389    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
11390    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
11391    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
11392    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
11393}
11394
11395impl ::std::fmt::Debug for GtkWindowClass {
11396    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11397        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
11398            .field("parent_class", &self.parent_class)
11399            .field("set_focus", &self.set_focus)
11400            .field("activate_focus", &self.activate_focus)
11401            .field("activate_default", &self.activate_default)
11402            .field("keys_changed", &self.keys_changed)
11403            .field("enable_debugging", &self.enable_debugging)
11404            .field("_gtk_reserved1", &self._gtk_reserved1)
11405            .field("_gtk_reserved2", &self._gtk_reserved2)
11406            .field("_gtk_reserved3", &self._gtk_reserved3)
11407            .finish()
11408    }
11409}
11410
11411#[repr(C)]
11412pub struct _GtkWindowGeometryInfo {
11413    _data: [u8; 0],
11414    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11415}
11416
11417pub type GtkWindowGeometryInfo = *mut _GtkWindowGeometryInfo;
11418
11419#[derive(Copy, Clone)]
11420#[repr(C)]
11421pub struct GtkWindowGroupClass {
11422    pub parent_class: gobject::GObjectClass,
11423    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
11424    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
11425    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
11426    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
11427}
11428
11429impl ::std::fmt::Debug for GtkWindowGroupClass {
11430    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11431        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
11432            .field("parent_class", &self.parent_class)
11433            .field("_gtk_reserved1", &self._gtk_reserved1)
11434            .field("_gtk_reserved2", &self._gtk_reserved2)
11435            .field("_gtk_reserved3", &self._gtk_reserved3)
11436            .field("_gtk_reserved4", &self._gtk_reserved4)
11437            .finish()
11438    }
11439}
11440
11441#[repr(C)]
11442pub struct _GtkWindowGroupPrivate {
11443    _data: [u8; 0],
11444    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11445}
11446
11447pub type GtkWindowGroupPrivate = *mut _GtkWindowGroupPrivate;
11448
11449#[repr(C)]
11450pub struct _GtkWindowPrivate {
11451    _data: [u8; 0],
11452    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11453}
11454
11455pub type GtkWindowPrivate = *mut _GtkWindowPrivate;
11456
11457// Classes
11458#[derive(Copy, Clone)]
11459#[repr(C)]
11460pub struct GtkAboutDialog {
11461    pub parent_instance: GtkDialog,
11462    pub priv_: *mut GtkAboutDialogPrivate,
11463}
11464
11465impl ::std::fmt::Debug for GtkAboutDialog {
11466    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11467        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
11468            .field("parent_instance", &self.parent_instance)
11469            .finish()
11470    }
11471}
11472
11473#[derive(Copy, Clone)]
11474#[repr(C)]
11475pub struct GtkAccelGroup {
11476    pub parent: gobject::GObject,
11477    pub priv_: *mut GtkAccelGroupPrivate,
11478}
11479
11480impl ::std::fmt::Debug for GtkAccelGroup {
11481    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11482        f.debug_struct(&format!("GtkAccelGroup @ {self:p}"))
11483            .field("parent", &self.parent)
11484            .field("priv_", &self.priv_)
11485            .finish()
11486    }
11487}
11488
11489#[derive(Copy, Clone)]
11490#[repr(C)]
11491pub struct GtkAccelLabel {
11492    pub label: GtkLabel,
11493    pub priv_: *mut GtkAccelLabelPrivate,
11494}
11495
11496impl ::std::fmt::Debug for GtkAccelLabel {
11497    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11498        f.debug_struct(&format!("GtkAccelLabel @ {self:p}"))
11499            .field("label", &self.label)
11500            .field("priv_", &self.priv_)
11501            .finish()
11502    }
11503}
11504
11505#[repr(C)]
11506pub struct GtkAccelMap {
11507    _data: [u8; 0],
11508    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
11509}
11510
11511impl ::std::fmt::Debug for GtkAccelMap {
11512    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11513        f.debug_struct(&format!("GtkAccelMap @ {self:p}")).finish()
11514    }
11515}
11516
11517#[derive(Copy, Clone)]
11518#[repr(C)]
11519pub struct GtkAccessible {
11520    pub parent: atk::AtkObject,
11521    pub priv_: *mut GtkAccessiblePrivate,
11522}
11523
11524impl ::std::fmt::Debug for GtkAccessible {
11525    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11526        f.debug_struct(&format!("GtkAccessible @ {self:p}"))
11527            .field("parent", &self.parent)
11528            .finish()
11529    }
11530}
11531
11532#[derive(Copy, Clone)]
11533#[repr(C)]
11534pub struct GtkAction {
11535    pub object: gobject::GObject,
11536    pub private_data: *mut GtkActionPrivate,
11537}
11538
11539impl ::std::fmt::Debug for GtkAction {
11540    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11541        f.debug_struct(&format!("GtkAction @ {self:p}"))
11542            .field("object", &self.object)
11543            .finish()
11544    }
11545}
11546
11547#[derive(Copy, Clone)]
11548#[repr(C)]
11549pub struct GtkActionBar {
11550    pub bin: GtkBin,
11551}
11552
11553impl ::std::fmt::Debug for GtkActionBar {
11554    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11555        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
11556    }
11557}
11558
11559#[derive(Copy, Clone)]
11560#[repr(C)]
11561pub struct GtkActionGroup {
11562    pub parent: gobject::GObject,
11563    pub priv_: *mut GtkActionGroupPrivate,
11564}
11565
11566impl ::std::fmt::Debug for GtkActionGroup {
11567    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11568        f.debug_struct(&format!("GtkActionGroup @ {self:p}"))
11569            .field("parent", &self.parent)
11570            .finish()
11571    }
11572}
11573
11574#[derive(Copy, Clone)]
11575#[repr(C)]
11576pub struct GtkAdjustment {
11577    pub parent_instance: gobject::GInitiallyUnowned,
11578    pub priv_: *mut GtkAdjustmentPrivate,
11579}
11580
11581impl ::std::fmt::Debug for GtkAdjustment {
11582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11583        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
11584            .field("parent_instance", &self.parent_instance)
11585            .field("priv_", &self.priv_)
11586            .finish()
11587    }
11588}
11589
11590#[derive(Copy, Clone)]
11591#[repr(C)]
11592pub struct GtkAlignment {
11593    pub bin: GtkBin,
11594    pub priv_: *mut GtkAlignmentPrivate,
11595}
11596
11597impl ::std::fmt::Debug for GtkAlignment {
11598    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11599        f.debug_struct(&format!("GtkAlignment @ {self:p}"))
11600            .field("bin", &self.bin)
11601            .finish()
11602    }
11603}
11604
11605#[derive(Copy, Clone)]
11606#[repr(C)]
11607pub struct GtkAppChooserButton {
11608    pub parent: GtkComboBox,
11609    pub priv_: *mut GtkAppChooserButtonPrivate,
11610}
11611
11612impl ::std::fmt::Debug for GtkAppChooserButton {
11613    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11614        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
11615            .field("parent", &self.parent)
11616            .finish()
11617    }
11618}
11619
11620#[derive(Copy, Clone)]
11621#[repr(C)]
11622pub struct GtkAppChooserDialog {
11623    pub parent: GtkDialog,
11624    pub priv_: *mut GtkAppChooserDialogPrivate,
11625}
11626
11627impl ::std::fmt::Debug for GtkAppChooserDialog {
11628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11629        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
11630            .field("parent", &self.parent)
11631            .finish()
11632    }
11633}
11634
11635#[derive(Copy, Clone)]
11636#[repr(C)]
11637pub struct GtkAppChooserWidget {
11638    pub parent: GtkBox,
11639    pub priv_: *mut GtkAppChooserWidgetPrivate,
11640}
11641
11642impl ::std::fmt::Debug for GtkAppChooserWidget {
11643    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11644        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
11645            .field("parent", &self.parent)
11646            .finish()
11647    }
11648}
11649
11650#[derive(Copy, Clone)]
11651#[repr(C)]
11652pub struct GtkApplication {
11653    pub parent: gio::GApplication,
11654    pub priv_: *mut GtkApplicationPrivate,
11655}
11656
11657impl ::std::fmt::Debug for GtkApplication {
11658    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11659        f.debug_struct(&format!("GtkApplication @ {self:p}"))
11660            .field("parent", &self.parent)
11661            .finish()
11662    }
11663}
11664
11665#[derive(Copy, Clone)]
11666#[repr(C)]
11667pub struct GtkApplicationWindow {
11668    pub parent_instance: GtkWindow,
11669    pub priv_: *mut GtkApplicationWindowPrivate,
11670}
11671
11672impl ::std::fmt::Debug for GtkApplicationWindow {
11673    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11674        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
11675            .field("parent_instance", &self.parent_instance)
11676            .finish()
11677    }
11678}
11679
11680#[derive(Copy, Clone)]
11681#[repr(C)]
11682pub struct GtkArrow {
11683    pub misc: GtkMisc,
11684    pub priv_: *mut GtkArrowPrivate,
11685}
11686
11687impl ::std::fmt::Debug for GtkArrow {
11688    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11689        f.debug_struct(&format!("GtkArrow @ {self:p}"))
11690            .field("misc", &self.misc)
11691            .finish()
11692    }
11693}
11694
11695#[derive(Copy, Clone)]
11696#[repr(C)]
11697pub struct GtkArrowAccessible {
11698    pub parent: GtkWidgetAccessible,
11699    pub priv_: *mut GtkArrowAccessiblePrivate,
11700}
11701
11702impl ::std::fmt::Debug for GtkArrowAccessible {
11703    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11704        f.debug_struct(&format!("GtkArrowAccessible @ {self:p}"))
11705            .field("parent", &self.parent)
11706            .field("priv_", &self.priv_)
11707            .finish()
11708    }
11709}
11710
11711#[derive(Copy, Clone)]
11712#[repr(C)]
11713pub struct GtkAspectFrame {
11714    pub frame: GtkFrame,
11715    pub priv_: *mut GtkAspectFramePrivate,
11716}
11717
11718impl ::std::fmt::Debug for GtkAspectFrame {
11719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11720        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
11721            .field("frame", &self.frame)
11722            .finish()
11723    }
11724}
11725
11726#[derive(Copy, Clone)]
11727#[repr(C)]
11728pub struct GtkAssistant {
11729    pub parent: GtkWindow,
11730    pub priv_: *mut GtkAssistantPrivate,
11731}
11732
11733impl ::std::fmt::Debug for GtkAssistant {
11734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11735        f.debug_struct(&format!("GtkAssistant @ {self:p}"))
11736            .field("parent", &self.parent)
11737            .finish()
11738    }
11739}
11740
11741#[derive(Copy, Clone)]
11742#[repr(C)]
11743pub struct GtkBin {
11744    pub container: GtkContainer,
11745    pub priv_: *mut GtkBinPrivate,
11746}
11747
11748impl ::std::fmt::Debug for GtkBin {
11749    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11750        f.debug_struct(&format!("GtkBin @ {self:p}"))
11751            .field("container", &self.container)
11752            .finish()
11753    }
11754}
11755
11756#[derive(Copy, Clone)]
11757#[repr(C)]
11758pub struct GtkBooleanCellAccessible {
11759    pub parent: GtkRendererCellAccessible,
11760    pub priv_: *mut GtkBooleanCellAccessiblePrivate,
11761}
11762
11763impl ::std::fmt::Debug for GtkBooleanCellAccessible {
11764    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11765        f.debug_struct(&format!("GtkBooleanCellAccessible @ {self:p}"))
11766            .field("parent", &self.parent)
11767            .field("priv_", &self.priv_)
11768            .finish()
11769    }
11770}
11771
11772#[derive(Copy, Clone)]
11773#[repr(C)]
11774pub struct GtkBox {
11775    pub container: GtkContainer,
11776    pub priv_: *mut GtkBoxPrivate,
11777}
11778
11779impl ::std::fmt::Debug for GtkBox {
11780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11781        f.debug_struct(&format!("GtkBox @ {self:p}"))
11782            .field("container", &self.container)
11783            .finish()
11784    }
11785}
11786
11787#[derive(Copy, Clone)]
11788#[repr(C)]
11789pub struct GtkBuilder {
11790    pub parent_instance: gobject::GObject,
11791    pub priv_: *mut GtkBuilderPrivate,
11792}
11793
11794impl ::std::fmt::Debug for GtkBuilder {
11795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11796        f.debug_struct(&format!("GtkBuilder @ {self:p}"))
11797            .field("parent_instance", &self.parent_instance)
11798            .field("priv_", &self.priv_)
11799            .finish()
11800    }
11801}
11802
11803#[derive(Copy, Clone)]
11804#[repr(C)]
11805pub struct GtkButton {
11806    pub bin: GtkBin,
11807    pub priv_: *mut GtkButtonPrivate,
11808}
11809
11810impl ::std::fmt::Debug for GtkButton {
11811    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11812        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
11813    }
11814}
11815
11816#[derive(Copy, Clone)]
11817#[repr(C)]
11818pub struct GtkButtonAccessible {
11819    pub parent: GtkContainerAccessible,
11820    pub priv_: *mut GtkButtonAccessiblePrivate,
11821}
11822
11823impl ::std::fmt::Debug for GtkButtonAccessible {
11824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11825        f.debug_struct(&format!("GtkButtonAccessible @ {self:p}"))
11826            .field("parent", &self.parent)
11827            .field("priv_", &self.priv_)
11828            .finish()
11829    }
11830}
11831
11832#[derive(Copy, Clone)]
11833#[repr(C)]
11834pub struct GtkButtonBox {
11835    pub box_: GtkBox,
11836    pub priv_: *mut GtkButtonBoxPrivate,
11837}
11838
11839impl ::std::fmt::Debug for GtkButtonBox {
11840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11841        f.debug_struct(&format!("GtkButtonBox @ {self:p}"))
11842            .field("box_", &self.box_)
11843            .finish()
11844    }
11845}
11846
11847#[derive(Copy, Clone)]
11848#[repr(C)]
11849pub struct GtkCalendar {
11850    pub widget: GtkWidget,
11851    pub priv_: *mut GtkCalendarPrivate,
11852}
11853
11854impl ::std::fmt::Debug for GtkCalendar {
11855    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11856        f.debug_struct(&format!("GtkCalendar @ {self:p}"))
11857            .field("widget", &self.widget)
11858            .field("priv_", &self.priv_)
11859            .finish()
11860    }
11861}
11862
11863#[derive(Copy, Clone)]
11864#[repr(C)]
11865pub struct GtkCellAccessible {
11866    pub parent: GtkAccessible,
11867    pub priv_: *mut GtkCellAccessiblePrivate,
11868}
11869
11870impl ::std::fmt::Debug for GtkCellAccessible {
11871    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11872        f.debug_struct(&format!("GtkCellAccessible @ {self:p}"))
11873            .field("parent", &self.parent)
11874            .field("priv_", &self.priv_)
11875            .finish()
11876    }
11877}
11878
11879#[derive(Copy, Clone)]
11880#[repr(C)]
11881pub struct GtkCellArea {
11882    pub parent_instance: gobject::GInitiallyUnowned,
11883    pub priv_: *mut GtkCellAreaPrivate,
11884}
11885
11886impl ::std::fmt::Debug for GtkCellArea {
11887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11888        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
11889    }
11890}
11891
11892#[derive(Copy, Clone)]
11893#[repr(C)]
11894pub struct GtkCellAreaBox {
11895    pub parent_instance: GtkCellArea,
11896    pub priv_: *mut GtkCellAreaBoxPrivate,
11897}
11898
11899impl ::std::fmt::Debug for GtkCellAreaBox {
11900    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11901        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
11902            .finish()
11903    }
11904}
11905
11906#[derive(Copy, Clone)]
11907#[repr(C)]
11908pub struct GtkCellAreaContext {
11909    pub parent_instance: gobject::GObject,
11910    pub priv_: *mut GtkCellAreaContextPrivate,
11911}
11912
11913impl ::std::fmt::Debug for GtkCellAreaContext {
11914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11915        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
11916            .finish()
11917    }
11918}
11919
11920#[derive(Copy, Clone)]
11921#[repr(C)]
11922pub struct GtkCellRenderer {
11923    pub parent_instance: gobject::GInitiallyUnowned,
11924    pub priv_: *mut GtkCellRendererPrivate,
11925}
11926
11927impl ::std::fmt::Debug for GtkCellRenderer {
11928    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11929        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
11930            .field("parent_instance", &self.parent_instance)
11931            .finish()
11932    }
11933}
11934
11935#[derive(Copy, Clone)]
11936#[repr(C)]
11937pub struct GtkCellRendererAccel {
11938    pub parent: GtkCellRendererText,
11939    pub priv_: *mut GtkCellRendererAccelPrivate,
11940}
11941
11942impl ::std::fmt::Debug for GtkCellRendererAccel {
11943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11944        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
11945            .field("parent", &self.parent)
11946            .finish()
11947    }
11948}
11949
11950#[derive(Copy, Clone)]
11951#[repr(C)]
11952pub struct GtkCellRendererCombo {
11953    pub parent: GtkCellRendererText,
11954    pub priv_: *mut GtkCellRendererComboPrivate,
11955}
11956
11957impl ::std::fmt::Debug for GtkCellRendererCombo {
11958    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11959        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
11960            .field("parent", &self.parent)
11961            .finish()
11962    }
11963}
11964
11965#[derive(Copy, Clone)]
11966#[repr(C)]
11967pub struct GtkCellRendererPixbuf {
11968    pub parent: GtkCellRenderer,
11969    pub priv_: *mut GtkCellRendererPixbufPrivate,
11970}
11971
11972impl ::std::fmt::Debug for GtkCellRendererPixbuf {
11973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11974        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
11975            .field("parent", &self.parent)
11976            .finish()
11977    }
11978}
11979
11980#[derive(Copy, Clone)]
11981#[repr(C)]
11982pub struct GtkCellRendererProgress {
11983    pub parent_instance: GtkCellRenderer,
11984    pub priv_: *mut GtkCellRendererProgressPrivate,
11985}
11986
11987impl ::std::fmt::Debug for GtkCellRendererProgress {
11988    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11989        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
11990            .field("parent_instance", &self.parent_instance)
11991            .finish()
11992    }
11993}
11994
11995#[derive(Copy, Clone)]
11996#[repr(C)]
11997pub struct GtkCellRendererSpin {
11998    pub parent: GtkCellRendererText,
11999    pub priv_: *mut GtkCellRendererSpinPrivate,
12000}
12001
12002impl ::std::fmt::Debug for GtkCellRendererSpin {
12003    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12004        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
12005            .field("parent", &self.parent)
12006            .finish()
12007    }
12008}
12009
12010#[derive(Copy, Clone)]
12011#[repr(C)]
12012pub struct GtkCellRendererSpinner {
12013    pub parent: GtkCellRenderer,
12014    pub priv_: *mut GtkCellRendererSpinnerPrivate,
12015}
12016
12017impl ::std::fmt::Debug for GtkCellRendererSpinner {
12018    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12019        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
12020            .field("parent", &self.parent)
12021            .finish()
12022    }
12023}
12024
12025#[derive(Copy, Clone)]
12026#[repr(C)]
12027pub struct GtkCellRendererText {
12028    pub parent: GtkCellRenderer,
12029    pub priv_: *mut GtkCellRendererTextPrivate,
12030}
12031
12032impl ::std::fmt::Debug for GtkCellRendererText {
12033    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12034        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
12035            .field("parent", &self.parent)
12036            .finish()
12037    }
12038}
12039
12040#[derive(Copy, Clone)]
12041#[repr(C)]
12042pub struct GtkCellRendererToggle {
12043    pub parent: GtkCellRenderer,
12044    pub priv_: *mut GtkCellRendererTogglePrivate,
12045}
12046
12047impl ::std::fmt::Debug for GtkCellRendererToggle {
12048    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12049        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
12050            .field("parent", &self.parent)
12051            .finish()
12052    }
12053}
12054
12055#[derive(Copy, Clone)]
12056#[repr(C)]
12057pub struct GtkCellView {
12058    pub parent_instance: GtkWidget,
12059    pub priv_: *mut GtkCellViewPrivate,
12060}
12061
12062impl ::std::fmt::Debug for GtkCellView {
12063    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12064        f.debug_struct(&format!("GtkCellView @ {self:p}"))
12065            .field("parent_instance", &self.parent_instance)
12066            .finish()
12067    }
12068}
12069
12070#[derive(Copy, Clone)]
12071#[repr(C)]
12072pub struct GtkCheckButton {
12073    pub toggle_button: GtkToggleButton,
12074}
12075
12076impl ::std::fmt::Debug for GtkCheckButton {
12077    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12078        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
12079            .field("toggle_button", &self.toggle_button)
12080            .finish()
12081    }
12082}
12083
12084#[derive(Copy, Clone)]
12085#[repr(C)]
12086pub struct GtkCheckMenuItem {
12087    pub menu_item: GtkMenuItem,
12088    pub priv_: *mut GtkCheckMenuItemPrivate,
12089}
12090
12091impl ::std::fmt::Debug for GtkCheckMenuItem {
12092    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12093        f.debug_struct(&format!("GtkCheckMenuItem @ {self:p}"))
12094            .field("menu_item", &self.menu_item)
12095            .finish()
12096    }
12097}
12098
12099#[derive(Copy, Clone)]
12100#[repr(C)]
12101pub struct GtkCheckMenuItemAccessible {
12102    pub parent: GtkMenuItemAccessible,
12103    pub priv_: *mut GtkCheckMenuItemAccessiblePrivate,
12104}
12105
12106impl ::std::fmt::Debug for GtkCheckMenuItemAccessible {
12107    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12108        f.debug_struct(&format!("GtkCheckMenuItemAccessible @ {self:p}"))
12109            .field("parent", &self.parent)
12110            .field("priv_", &self.priv_)
12111            .finish()
12112    }
12113}
12114
12115#[repr(C)]
12116pub struct GtkClipboard {
12117    _data: [u8; 0],
12118    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12119}
12120
12121impl ::std::fmt::Debug for GtkClipboard {
12122    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12123        f.debug_struct(&format!("GtkClipboard @ {self:p}")).finish()
12124    }
12125}
12126
12127#[derive(Copy, Clone)]
12128#[repr(C)]
12129pub struct GtkColorButton {
12130    pub button: GtkButton,
12131    pub priv_: *mut GtkColorButtonPrivate,
12132}
12133
12134impl ::std::fmt::Debug for GtkColorButton {
12135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12136        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
12137            .field("button", &self.button)
12138            .finish()
12139    }
12140}
12141
12142#[derive(Copy, Clone)]
12143#[repr(C)]
12144pub struct GtkColorChooserDialog {
12145    pub parent_instance: GtkDialog,
12146    pub priv_: *mut GtkColorChooserDialogPrivate,
12147}
12148
12149impl ::std::fmt::Debug for GtkColorChooserDialog {
12150    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12151        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
12152            .field("parent_instance", &self.parent_instance)
12153            .finish()
12154    }
12155}
12156
12157#[derive(Copy, Clone)]
12158#[repr(C)]
12159pub struct GtkColorChooserWidget {
12160    pub parent_instance: GtkBox,
12161    pub priv_: *mut GtkColorChooserWidgetPrivate,
12162}
12163
12164impl ::std::fmt::Debug for GtkColorChooserWidget {
12165    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12166        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
12167            .field("parent_instance", &self.parent_instance)
12168            .finish()
12169    }
12170}
12171
12172#[derive(Copy, Clone)]
12173#[repr(C)]
12174pub struct GtkColorSelection {
12175    pub parent_instance: GtkBox,
12176    pub private_data: *mut GtkColorSelectionPrivate,
12177}
12178
12179impl ::std::fmt::Debug for GtkColorSelection {
12180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12181        f.debug_struct(&format!("GtkColorSelection @ {self:p}"))
12182            .field("parent_instance", &self.parent_instance)
12183            .finish()
12184    }
12185}
12186
12187#[derive(Copy, Clone)]
12188#[repr(C)]
12189pub struct GtkColorSelectionDialog {
12190    pub parent_instance: GtkDialog,
12191    pub priv_: *mut GtkColorSelectionDialogPrivate,
12192}
12193
12194impl ::std::fmt::Debug for GtkColorSelectionDialog {
12195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12196        f.debug_struct(&format!("GtkColorSelectionDialog @ {self:p}"))
12197            .field("parent_instance", &self.parent_instance)
12198            .finish()
12199    }
12200}
12201
12202#[derive(Copy, Clone)]
12203#[repr(C)]
12204pub struct GtkComboBox {
12205    pub parent_instance: GtkBin,
12206    pub priv_: *mut GtkComboBoxPrivate,
12207}
12208
12209impl ::std::fmt::Debug for GtkComboBox {
12210    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12211        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
12212            .field("parent_instance", &self.parent_instance)
12213            .finish()
12214    }
12215}
12216
12217#[derive(Copy, Clone)]
12218#[repr(C)]
12219pub struct GtkComboBoxAccessible {
12220    pub parent: GtkContainerAccessible,
12221    pub priv_: *mut GtkComboBoxAccessiblePrivate,
12222}
12223
12224impl ::std::fmt::Debug for GtkComboBoxAccessible {
12225    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12226        f.debug_struct(&format!("GtkComboBoxAccessible @ {self:p}"))
12227            .field("parent", &self.parent)
12228            .field("priv_", &self.priv_)
12229            .finish()
12230    }
12231}
12232
12233#[derive(Copy, Clone)]
12234#[repr(C)]
12235pub struct GtkComboBoxText {
12236    pub parent_instance: GtkComboBox,
12237    pub priv_: *mut GtkComboBoxTextPrivate,
12238}
12239
12240impl ::std::fmt::Debug for GtkComboBoxText {
12241    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12242        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
12243            .finish()
12244    }
12245}
12246
12247#[derive(Copy, Clone)]
12248#[repr(C)]
12249pub struct GtkContainer {
12250    pub widget: GtkWidget,
12251    pub priv_: *mut GtkContainerPrivate,
12252}
12253
12254impl ::std::fmt::Debug for GtkContainer {
12255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12256        f.debug_struct(&format!("GtkContainer @ {self:p}"))
12257            .field("widget", &self.widget)
12258            .finish()
12259    }
12260}
12261
12262#[derive(Copy, Clone)]
12263#[repr(C)]
12264pub struct GtkContainerAccessible {
12265    pub parent: GtkWidgetAccessible,
12266    pub priv_: *mut GtkContainerAccessiblePrivate,
12267}
12268
12269impl ::std::fmt::Debug for GtkContainerAccessible {
12270    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12271        f.debug_struct(&format!("GtkContainerAccessible @ {self:p}"))
12272            .field("parent", &self.parent)
12273            .field("priv_", &self.priv_)
12274            .finish()
12275    }
12276}
12277
12278#[derive(Copy, Clone)]
12279#[repr(C)]
12280pub struct GtkContainerCellAccessible {
12281    pub parent: GtkCellAccessible,
12282    pub priv_: *mut GtkContainerCellAccessiblePrivate,
12283}
12284
12285impl ::std::fmt::Debug for GtkContainerCellAccessible {
12286    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12287        f.debug_struct(&format!("GtkContainerCellAccessible @ {self:p}"))
12288            .field("parent", &self.parent)
12289            .field("priv_", &self.priv_)
12290            .finish()
12291    }
12292}
12293
12294#[derive(Copy, Clone)]
12295#[repr(C)]
12296pub struct GtkCssProvider {
12297    pub parent_instance: gobject::GObject,
12298    pub priv_: *mut GtkCssProviderPrivate,
12299}
12300
12301impl ::std::fmt::Debug for GtkCssProvider {
12302    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12303        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
12304            .field("parent_instance", &self.parent_instance)
12305            .field("priv_", &self.priv_)
12306            .finish()
12307    }
12308}
12309
12310#[derive(Copy, Clone)]
12311#[repr(C)]
12312pub struct GtkDialog {
12313    pub window: GtkWindow,
12314    pub priv_: *mut GtkDialogPrivate,
12315}
12316
12317impl ::std::fmt::Debug for GtkDialog {
12318    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12319        f.debug_struct(&format!("GtkDialog @ {self:p}"))
12320            .field("window", &self.window)
12321            .finish()
12322    }
12323}
12324
12325#[derive(Copy, Clone)]
12326#[repr(C)]
12327pub struct GtkDrawingArea {
12328    pub widget: GtkWidget,
12329    pub dummy: gpointer,
12330}
12331
12332impl ::std::fmt::Debug for GtkDrawingArea {
12333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12334        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
12335            .field("widget", &self.widget)
12336            .finish()
12337    }
12338}
12339
12340#[derive(Copy, Clone)]
12341#[repr(C)]
12342pub struct GtkEntry {
12343    pub parent_instance: GtkWidget,
12344    pub priv_: *mut GtkEntryPrivate,
12345}
12346
12347impl ::std::fmt::Debug for GtkEntry {
12348    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12349        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
12350    }
12351}
12352
12353#[derive(Copy, Clone)]
12354#[repr(C)]
12355pub struct GtkEntryAccessible {
12356    pub parent: GtkWidgetAccessible,
12357    pub priv_: *mut GtkEntryAccessiblePrivate,
12358}
12359
12360impl ::std::fmt::Debug for GtkEntryAccessible {
12361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12362        f.debug_struct(&format!("GtkEntryAccessible @ {self:p}"))
12363            .field("parent", &self.parent)
12364            .field("priv_", &self.priv_)
12365            .finish()
12366    }
12367}
12368
12369#[derive(Copy, Clone)]
12370#[repr(C)]
12371pub struct GtkEntryBuffer {
12372    pub parent_instance: gobject::GObject,
12373    pub priv_: *mut GtkEntryBufferPrivate,
12374}
12375
12376impl ::std::fmt::Debug for GtkEntryBuffer {
12377    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12378        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
12379            .field("parent_instance", &self.parent_instance)
12380            .finish()
12381    }
12382}
12383
12384#[derive(Copy, Clone)]
12385#[repr(C)]
12386pub struct GtkEntryCompletion {
12387    pub parent_instance: gobject::GObject,
12388    pub priv_: *mut GtkEntryCompletionPrivate,
12389}
12390
12391impl ::std::fmt::Debug for GtkEntryCompletion {
12392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12393        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
12394            .field("parent_instance", &self.parent_instance)
12395            .finish()
12396    }
12397}
12398
12399#[repr(C)]
12400pub struct GtkEntryIconAccessible {
12401    _data: [u8; 0],
12402    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12403}
12404
12405impl ::std::fmt::Debug for GtkEntryIconAccessible {
12406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12407        f.debug_struct(&format!("GtkEntryIconAccessible @ {self:p}"))
12408            .finish()
12409    }
12410}
12411
12412#[derive(Copy, Clone)]
12413#[repr(C)]
12414pub struct GtkEventBox {
12415    pub bin: GtkBin,
12416    pub priv_: *mut GtkEventBoxPrivate,
12417}
12418
12419impl ::std::fmt::Debug for GtkEventBox {
12420    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12421        f.debug_struct(&format!("GtkEventBox @ {self:p}"))
12422            .field("bin", &self.bin)
12423            .finish()
12424    }
12425}
12426
12427#[repr(C)]
12428pub struct GtkEventController {
12429    _data: [u8; 0],
12430    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12431}
12432
12433impl ::std::fmt::Debug for GtkEventController {
12434    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12435        f.debug_struct(&format!("GtkEventController @ {self:p}"))
12436            .finish()
12437    }
12438}
12439
12440#[repr(C)]
12441pub struct GtkEventControllerKey {
12442    _data: [u8; 0],
12443    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12444}
12445
12446impl ::std::fmt::Debug for GtkEventControllerKey {
12447    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12448        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
12449            .finish()
12450    }
12451}
12452
12453#[repr(C)]
12454pub struct GtkEventControllerMotion {
12455    _data: [u8; 0],
12456    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12457}
12458
12459impl ::std::fmt::Debug for GtkEventControllerMotion {
12460    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12461        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
12462            .finish()
12463    }
12464}
12465
12466#[repr(C)]
12467pub struct GtkEventControllerScroll {
12468    _data: [u8; 0],
12469    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12470}
12471
12472impl ::std::fmt::Debug for GtkEventControllerScroll {
12473    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12474        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
12475            .finish()
12476    }
12477}
12478
12479#[derive(Copy, Clone)]
12480#[repr(C)]
12481pub struct GtkExpander {
12482    pub bin: GtkBin,
12483    pub priv_: *mut GtkExpanderPrivate,
12484}
12485
12486impl ::std::fmt::Debug for GtkExpander {
12487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12488        f.debug_struct(&format!("GtkExpander @ {self:p}"))
12489            .field("bin", &self.bin)
12490            .field("priv_", &self.priv_)
12491            .finish()
12492    }
12493}
12494
12495#[derive(Copy, Clone)]
12496#[repr(C)]
12497pub struct GtkExpanderAccessible {
12498    pub parent: GtkContainerAccessible,
12499    pub priv_: *mut GtkExpanderAccessiblePrivate,
12500}
12501
12502impl ::std::fmt::Debug for GtkExpanderAccessible {
12503    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12504        f.debug_struct(&format!("GtkExpanderAccessible @ {self:p}"))
12505            .field("parent", &self.parent)
12506            .field("priv_", &self.priv_)
12507            .finish()
12508    }
12509}
12510
12511#[derive(Copy, Clone)]
12512#[repr(C)]
12513pub struct GtkFileChooserButton {
12514    pub parent: GtkBox,
12515    pub priv_: *mut GtkFileChooserButtonPrivate,
12516}
12517
12518impl ::std::fmt::Debug for GtkFileChooserButton {
12519    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12520        f.debug_struct(&format!("GtkFileChooserButton @ {self:p}"))
12521            .field("parent", &self.parent)
12522            .finish()
12523    }
12524}
12525
12526#[derive(Copy, Clone)]
12527#[repr(C)]
12528pub struct GtkFileChooserDialog {
12529    pub parent_instance: GtkDialog,
12530    pub priv_: *mut GtkFileChooserDialogPrivate,
12531}
12532
12533impl ::std::fmt::Debug for GtkFileChooserDialog {
12534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12535        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
12536            .field("parent_instance", &self.parent_instance)
12537            .field("priv_", &self.priv_)
12538            .finish()
12539    }
12540}
12541
12542#[repr(C)]
12543pub struct GtkFileChooserNative {
12544    _data: [u8; 0],
12545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12546}
12547
12548impl ::std::fmt::Debug for GtkFileChooserNative {
12549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12550        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
12551            .finish()
12552    }
12553}
12554
12555#[derive(Copy, Clone)]
12556#[repr(C)]
12557pub struct GtkFileChooserWidget {
12558    pub parent_instance: GtkBox,
12559    pub priv_: *mut GtkFileChooserWidgetPrivate,
12560}
12561
12562impl ::std::fmt::Debug for GtkFileChooserWidget {
12563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12564        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
12565            .field("parent_instance", &self.parent_instance)
12566            .field("priv_", &self.priv_)
12567            .finish()
12568    }
12569}
12570
12571#[derive(Copy, Clone)]
12572#[repr(C)]
12573pub struct GtkFileChooserWidgetAccessible {
12574    pub parent: GtkContainerAccessible,
12575    pub priv_: *mut GtkFileChooserWidgetAccessiblePrivate,
12576}
12577
12578impl ::std::fmt::Debug for GtkFileChooserWidgetAccessible {
12579    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12580        f.debug_struct(&format!("GtkFileChooserWidgetAccessible @ {self:p}"))
12581            .field("parent", &self.parent)
12582            .field("priv_", &self.priv_)
12583            .finish()
12584    }
12585}
12586
12587#[repr(C)]
12588pub struct GtkFileFilter {
12589    _data: [u8; 0],
12590    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12591}
12592
12593impl ::std::fmt::Debug for GtkFileFilter {
12594    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12595        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
12596            .finish()
12597    }
12598}
12599
12600#[derive(Copy, Clone)]
12601#[repr(C)]
12602pub struct GtkFixed {
12603    pub container: GtkContainer,
12604    pub priv_: *mut GtkFixedPrivate,
12605}
12606
12607impl ::std::fmt::Debug for GtkFixed {
12608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12609        f.debug_struct(&format!("GtkFixed @ {self:p}"))
12610            .field("container", &self.container)
12611            .finish()
12612    }
12613}
12614
12615#[derive(Copy, Clone)]
12616#[repr(C)]
12617pub struct GtkFlowBox {
12618    pub container: GtkContainer,
12619}
12620
12621impl ::std::fmt::Debug for GtkFlowBox {
12622    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12623        f.debug_struct(&format!("GtkFlowBox @ {self:p}"))
12624            .field("container", &self.container)
12625            .finish()
12626    }
12627}
12628
12629#[derive(Copy, Clone)]
12630#[repr(C)]
12631pub struct GtkFlowBoxAccessible {
12632    pub parent: GtkContainerAccessible,
12633    pub priv_: *mut GtkFlowBoxAccessiblePrivate,
12634}
12635
12636impl ::std::fmt::Debug for GtkFlowBoxAccessible {
12637    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12638        f.debug_struct(&format!("GtkFlowBoxAccessible @ {self:p}"))
12639            .field("parent", &self.parent)
12640            .field("priv_", &self.priv_)
12641            .finish()
12642    }
12643}
12644
12645#[derive(Copy, Clone)]
12646#[repr(C)]
12647pub struct GtkFlowBoxChild {
12648    pub parent_instance: GtkBin,
12649}
12650
12651impl ::std::fmt::Debug for GtkFlowBoxChild {
12652    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12653        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
12654            .field("parent_instance", &self.parent_instance)
12655            .finish()
12656    }
12657}
12658
12659#[derive(Copy, Clone)]
12660#[repr(C)]
12661pub struct GtkFlowBoxChildAccessible {
12662    pub parent: GtkContainerAccessible,
12663}
12664
12665impl ::std::fmt::Debug for GtkFlowBoxChildAccessible {
12666    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12667        f.debug_struct(&format!("GtkFlowBoxChildAccessible @ {self:p}"))
12668            .field("parent", &self.parent)
12669            .finish()
12670    }
12671}
12672
12673#[derive(Copy, Clone)]
12674#[repr(C)]
12675pub struct GtkFontButton {
12676    pub button: GtkButton,
12677    pub priv_: *mut GtkFontButtonPrivate,
12678}
12679
12680impl ::std::fmt::Debug for GtkFontButton {
12681    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12682        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
12683            .field("button", &self.button)
12684            .finish()
12685    }
12686}
12687
12688#[derive(Copy, Clone)]
12689#[repr(C)]
12690pub struct GtkFontChooserDialog {
12691    pub parent_instance: GtkDialog,
12692    pub priv_: *mut GtkFontChooserDialogPrivate,
12693}
12694
12695impl ::std::fmt::Debug for GtkFontChooserDialog {
12696    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12697        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
12698            .field("parent_instance", &self.parent_instance)
12699            .finish()
12700    }
12701}
12702
12703#[derive(Copy, Clone)]
12704#[repr(C)]
12705pub struct GtkFontChooserWidget {
12706    pub parent_instance: GtkBox,
12707    pub priv_: *mut GtkFontChooserWidgetPrivate,
12708}
12709
12710impl ::std::fmt::Debug for GtkFontChooserWidget {
12711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12712        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
12713            .field("parent_instance", &self.parent_instance)
12714            .finish()
12715    }
12716}
12717
12718#[derive(Copy, Clone)]
12719#[repr(C)]
12720pub struct GtkFontSelection {
12721    pub parent_instance: GtkBox,
12722    pub priv_: *mut GtkFontSelectionPrivate,
12723}
12724
12725impl ::std::fmt::Debug for GtkFontSelection {
12726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12727        f.debug_struct(&format!("GtkFontSelection @ {self:p}"))
12728            .field("parent_instance", &self.parent_instance)
12729            .finish()
12730    }
12731}
12732
12733#[derive(Copy, Clone)]
12734#[repr(C)]
12735pub struct GtkFontSelectionDialog {
12736    pub parent_instance: GtkDialog,
12737    pub priv_: *mut GtkFontSelectionDialogPrivate,
12738}
12739
12740impl ::std::fmt::Debug for GtkFontSelectionDialog {
12741    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12742        f.debug_struct(&format!("GtkFontSelectionDialog @ {self:p}"))
12743            .field("parent_instance", &self.parent_instance)
12744            .finish()
12745    }
12746}
12747
12748#[derive(Copy, Clone)]
12749#[repr(C)]
12750pub struct GtkFrame {
12751    pub bin: GtkBin,
12752    pub priv_: *mut GtkFramePrivate,
12753}
12754
12755impl ::std::fmt::Debug for GtkFrame {
12756    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12757        f.debug_struct(&format!("GtkFrame @ {self:p}"))
12758            .field("bin", &self.bin)
12759            .finish()
12760    }
12761}
12762
12763#[derive(Copy, Clone)]
12764#[repr(C)]
12765pub struct GtkFrameAccessible {
12766    pub parent: GtkContainerAccessible,
12767    pub priv_: *mut GtkFrameAccessiblePrivate,
12768}
12769
12770impl ::std::fmt::Debug for GtkFrameAccessible {
12771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12772        f.debug_struct(&format!("GtkFrameAccessible @ {self:p}"))
12773            .field("parent", &self.parent)
12774            .field("priv_", &self.priv_)
12775            .finish()
12776    }
12777}
12778
12779#[derive(Copy, Clone)]
12780#[repr(C)]
12781pub struct GtkGLArea {
12782    pub parent_instance: GtkWidget,
12783}
12784
12785impl ::std::fmt::Debug for GtkGLArea {
12786    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12787        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
12788    }
12789}
12790
12791#[repr(C)]
12792pub struct GtkGesture {
12793    _data: [u8; 0],
12794    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12795}
12796
12797impl ::std::fmt::Debug for GtkGesture {
12798    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12799        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
12800    }
12801}
12802
12803#[repr(C)]
12804pub struct GtkGestureDrag {
12805    _data: [u8; 0],
12806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12807}
12808
12809impl ::std::fmt::Debug for GtkGestureDrag {
12810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12811        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
12812            .finish()
12813    }
12814}
12815
12816#[repr(C)]
12817pub struct GtkGestureLongPress {
12818    _data: [u8; 0],
12819    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12820}
12821
12822impl ::std::fmt::Debug for GtkGestureLongPress {
12823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12824        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
12825            .finish()
12826    }
12827}
12828
12829#[repr(C)]
12830pub struct GtkGestureMultiPress {
12831    _data: [u8; 0],
12832    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12833}
12834
12835impl ::std::fmt::Debug for GtkGestureMultiPress {
12836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12837        f.debug_struct(&format!("GtkGestureMultiPress @ {self:p}"))
12838            .finish()
12839    }
12840}
12841
12842#[repr(C)]
12843pub struct GtkGesturePan {
12844    _data: [u8; 0],
12845    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12846}
12847
12848impl ::std::fmt::Debug for GtkGesturePan {
12849    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12850        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
12851            .finish()
12852    }
12853}
12854
12855#[repr(C)]
12856pub struct GtkGestureRotate {
12857    _data: [u8; 0],
12858    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12859}
12860
12861impl ::std::fmt::Debug for GtkGestureRotate {
12862    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12863        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
12864            .finish()
12865    }
12866}
12867
12868#[repr(C)]
12869pub struct GtkGestureSingle {
12870    _data: [u8; 0],
12871    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12872}
12873
12874impl ::std::fmt::Debug for GtkGestureSingle {
12875    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12876        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
12877            .finish()
12878    }
12879}
12880
12881#[repr(C)]
12882pub struct GtkGestureStylus {
12883    _data: [u8; 0],
12884    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12885}
12886
12887impl ::std::fmt::Debug for GtkGestureStylus {
12888    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12889        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
12890            .finish()
12891    }
12892}
12893
12894#[repr(C)]
12895pub struct GtkGestureSwipe {
12896    _data: [u8; 0],
12897    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12898}
12899
12900impl ::std::fmt::Debug for GtkGestureSwipe {
12901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12902        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
12903            .finish()
12904    }
12905}
12906
12907#[repr(C)]
12908pub struct GtkGestureZoom {
12909    _data: [u8; 0],
12910    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
12911}
12912
12913impl ::std::fmt::Debug for GtkGestureZoom {
12914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12915        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
12916            .finish()
12917    }
12918}
12919
12920#[derive(Copy, Clone)]
12921#[repr(C)]
12922pub struct GtkGrid {
12923    pub container: GtkContainer,
12924    pub priv_: *mut GtkGridPrivate,
12925}
12926
12927impl ::std::fmt::Debug for GtkGrid {
12928    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12929        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
12930    }
12931}
12932
12933#[derive(Copy, Clone)]
12934#[repr(C)]
12935pub struct GtkHBox {
12936    pub box_: GtkBox,
12937}
12938
12939impl ::std::fmt::Debug for GtkHBox {
12940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12941        f.debug_struct(&format!("GtkHBox @ {self:p}"))
12942            .field("box_", &self.box_)
12943            .finish()
12944    }
12945}
12946
12947#[derive(Copy, Clone)]
12948#[repr(C)]
12949pub struct GtkHButtonBox {
12950    pub button_box: GtkButtonBox,
12951}
12952
12953impl ::std::fmt::Debug for GtkHButtonBox {
12954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12955        f.debug_struct(&format!("GtkHButtonBox @ {self:p}"))
12956            .field("button_box", &self.button_box)
12957            .finish()
12958    }
12959}
12960
12961#[derive(Copy, Clone)]
12962#[repr(C)]
12963pub struct GtkHPaned {
12964    pub paned: GtkPaned,
12965}
12966
12967impl ::std::fmt::Debug for GtkHPaned {
12968    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12969        f.debug_struct(&format!("GtkHPaned @ {self:p}"))
12970            .field("paned", &self.paned)
12971            .finish()
12972    }
12973}
12974
12975#[derive(Copy, Clone)]
12976#[repr(C)]
12977pub struct GtkHSV {
12978    pub parent_instance: GtkWidget,
12979    pub priv_: *mut GtkHSVPrivate,
12980}
12981
12982impl ::std::fmt::Debug for GtkHSV {
12983    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12984        f.debug_struct(&format!("GtkHSV @ {self:p}"))
12985            .field("parent_instance", &self.parent_instance)
12986            .finish()
12987    }
12988}
12989
12990#[derive(Copy, Clone)]
12991#[repr(C)]
12992pub struct GtkHScale {
12993    pub scale: GtkScale,
12994}
12995
12996impl ::std::fmt::Debug for GtkHScale {
12997    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12998        f.debug_struct(&format!("GtkHScale @ {self:p}"))
12999            .field("scale", &self.scale)
13000            .finish()
13001    }
13002}
13003
13004#[derive(Copy, Clone)]
13005#[repr(C)]
13006pub struct GtkHScrollbar {
13007    pub scrollbar: GtkScrollbar,
13008}
13009
13010impl ::std::fmt::Debug for GtkHScrollbar {
13011    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13012        f.debug_struct(&format!("GtkHScrollbar @ {self:p}"))
13013            .field("scrollbar", &self.scrollbar)
13014            .finish()
13015    }
13016}
13017
13018#[derive(Copy, Clone)]
13019#[repr(C)]
13020pub struct GtkHSeparator {
13021    pub separator: GtkSeparator,
13022}
13023
13024impl ::std::fmt::Debug for GtkHSeparator {
13025    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13026        f.debug_struct(&format!("GtkHSeparator @ {self:p}"))
13027            .field("separator", &self.separator)
13028            .finish()
13029    }
13030}
13031
13032#[derive(Copy, Clone)]
13033#[repr(C)]
13034pub struct GtkHandleBox {
13035    pub bin: GtkBin,
13036    pub priv_: *mut GtkHandleBoxPrivate,
13037}
13038
13039impl ::std::fmt::Debug for GtkHandleBox {
13040    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13041        f.debug_struct(&format!("GtkHandleBox @ {self:p}"))
13042            .field("bin", &self.bin)
13043            .finish()
13044    }
13045}
13046
13047#[derive(Copy, Clone)]
13048#[repr(C)]
13049pub struct GtkHeaderBar {
13050    pub container: GtkContainer,
13051}
13052
13053impl ::std::fmt::Debug for GtkHeaderBar {
13054    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13055        f.debug_struct(&format!("GtkHeaderBar @ {self:p}"))
13056            .field("container", &self.container)
13057            .finish()
13058    }
13059}
13060
13061#[derive(Copy, Clone)]
13062#[repr(C)]
13063pub struct GtkHeaderBarAccessible {
13064    pub parent: GtkContainerAccessible,
13065}
13066
13067impl ::std::fmt::Debug for GtkHeaderBarAccessible {
13068    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13069        f.debug_struct(&format!("GtkHeaderBarAccessible @ {self:p}"))
13070            .field("parent", &self.parent)
13071            .finish()
13072    }
13073}
13074
13075#[derive(Copy, Clone)]
13076#[repr(C)]
13077pub struct GtkIMContext {
13078    pub parent_instance: gobject::GObject,
13079}
13080
13081impl ::std::fmt::Debug for GtkIMContext {
13082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13083        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
13084            .field("parent_instance", &self.parent_instance)
13085            .finish()
13086    }
13087}
13088
13089#[derive(Copy, Clone)]
13090#[repr(C)]
13091pub struct GtkIMContextSimple {
13092    pub object: GtkIMContext,
13093    pub priv_: *mut GtkIMContextSimplePrivate,
13094}
13095
13096impl ::std::fmt::Debug for GtkIMContextSimple {
13097    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13098        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
13099            .field("object", &self.object)
13100            .finish()
13101    }
13102}
13103
13104#[derive(Copy, Clone)]
13105#[repr(C)]
13106pub struct GtkIMMulticontext {
13107    pub object: GtkIMContext,
13108    pub priv_: *mut GtkIMMulticontextPrivate,
13109}
13110
13111impl ::std::fmt::Debug for GtkIMMulticontext {
13112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13113        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
13114            .field("object", &self.object)
13115            .finish()
13116    }
13117}
13118
13119#[derive(Copy, Clone)]
13120#[repr(C)]
13121pub struct GtkIconFactory {
13122    pub parent_instance: gobject::GObject,
13123    pub priv_: *mut GtkIconFactoryPrivate,
13124}
13125
13126impl ::std::fmt::Debug for GtkIconFactory {
13127    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13128        f.debug_struct(&format!("GtkIconFactory @ {self:p}"))
13129            .field("parent_instance", &self.parent_instance)
13130            .finish()
13131    }
13132}
13133
13134#[repr(C)]
13135pub struct GtkIconInfo {
13136    _data: [u8; 0],
13137    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13138}
13139
13140impl ::std::fmt::Debug for GtkIconInfo {
13141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13142        f.debug_struct(&format!("GtkIconInfo @ {self:p}")).finish()
13143    }
13144}
13145
13146#[derive(Copy, Clone)]
13147#[repr(C)]
13148pub struct GtkIconTheme {
13149    pub parent_instance: gobject::GObject,
13150    pub priv_: *mut GtkIconThemePrivate,
13151}
13152
13153impl ::std::fmt::Debug for GtkIconTheme {
13154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13155        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
13156    }
13157}
13158
13159#[derive(Copy, Clone)]
13160#[repr(C)]
13161pub struct GtkIconView {
13162    pub parent: GtkContainer,
13163    pub priv_: *mut GtkIconViewPrivate,
13164}
13165
13166impl ::std::fmt::Debug for GtkIconView {
13167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13168        f.debug_struct(&format!("GtkIconView @ {self:p}"))
13169            .field("parent", &self.parent)
13170            .finish()
13171    }
13172}
13173
13174#[derive(Copy, Clone)]
13175#[repr(C)]
13176pub struct GtkIconViewAccessible {
13177    pub parent: GtkContainerAccessible,
13178    pub priv_: *mut GtkIconViewAccessiblePrivate,
13179}
13180
13181impl ::std::fmt::Debug for GtkIconViewAccessible {
13182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13183        f.debug_struct(&format!("GtkIconViewAccessible @ {self:p}"))
13184            .field("parent", &self.parent)
13185            .field("priv_", &self.priv_)
13186            .finish()
13187    }
13188}
13189
13190#[derive(Copy, Clone)]
13191#[repr(C)]
13192pub struct GtkImage {
13193    pub misc: GtkMisc,
13194    pub priv_: *mut GtkImagePrivate,
13195}
13196
13197impl ::std::fmt::Debug for GtkImage {
13198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13199        f.debug_struct(&format!("GtkImage @ {self:p}"))
13200            .field("misc", &self.misc)
13201            .finish()
13202    }
13203}
13204
13205#[derive(Copy, Clone)]
13206#[repr(C)]
13207pub struct GtkImageAccessible {
13208    pub parent: GtkWidgetAccessible,
13209    pub priv_: *mut GtkImageAccessiblePrivate,
13210}
13211
13212impl ::std::fmt::Debug for GtkImageAccessible {
13213    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13214        f.debug_struct(&format!("GtkImageAccessible @ {self:p}"))
13215            .field("parent", &self.parent)
13216            .field("priv_", &self.priv_)
13217            .finish()
13218    }
13219}
13220
13221#[derive(Copy, Clone)]
13222#[repr(C)]
13223pub struct GtkImageCellAccessible {
13224    pub parent: GtkRendererCellAccessible,
13225    pub priv_: *mut GtkImageCellAccessiblePrivate,
13226}
13227
13228impl ::std::fmt::Debug for GtkImageCellAccessible {
13229    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13230        f.debug_struct(&format!("GtkImageCellAccessible @ {self:p}"))
13231            .field("parent", &self.parent)
13232            .field("priv_", &self.priv_)
13233            .finish()
13234    }
13235}
13236
13237#[derive(Copy, Clone)]
13238#[repr(C)]
13239pub struct GtkImageMenuItem {
13240    pub menu_item: GtkMenuItem,
13241    pub priv_: *mut GtkImageMenuItemPrivate,
13242}
13243
13244impl ::std::fmt::Debug for GtkImageMenuItem {
13245    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13246        f.debug_struct(&format!("GtkImageMenuItem @ {self:p}"))
13247            .field("menu_item", &self.menu_item)
13248            .finish()
13249    }
13250}
13251
13252#[derive(Copy, Clone)]
13253#[repr(C)]
13254pub struct GtkInfoBar {
13255    pub parent: GtkBox,
13256    pub priv_: *mut GtkInfoBarPrivate,
13257}
13258
13259impl ::std::fmt::Debug for GtkInfoBar {
13260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13261        f.debug_struct(&format!("GtkInfoBar @ {self:p}"))
13262            .field("parent", &self.parent)
13263            .finish()
13264    }
13265}
13266
13267#[derive(Copy, Clone)]
13268#[repr(C)]
13269pub struct GtkInvisible {
13270    pub widget: GtkWidget,
13271    pub priv_: *mut GtkInvisiblePrivate,
13272}
13273
13274impl ::std::fmt::Debug for GtkInvisible {
13275    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13276        f.debug_struct(&format!("GtkInvisible @ {self:p}"))
13277            .field("widget", &self.widget)
13278            .finish()
13279    }
13280}
13281
13282#[derive(Copy, Clone)]
13283#[repr(C)]
13284pub struct GtkLabel {
13285    pub misc: GtkMisc,
13286    pub priv_: *mut GtkLabelPrivate,
13287}
13288
13289impl ::std::fmt::Debug for GtkLabel {
13290    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13291        f.debug_struct(&format!("GtkLabel @ {self:p}"))
13292            .field("misc", &self.misc)
13293            .finish()
13294    }
13295}
13296
13297#[derive(Copy, Clone)]
13298#[repr(C)]
13299pub struct GtkLabelAccessible {
13300    pub parent: GtkWidgetAccessible,
13301    pub priv_: *mut GtkLabelAccessiblePrivate,
13302}
13303
13304impl ::std::fmt::Debug for GtkLabelAccessible {
13305    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13306        f.debug_struct(&format!("GtkLabelAccessible @ {self:p}"))
13307            .field("parent", &self.parent)
13308            .field("priv_", &self.priv_)
13309            .finish()
13310    }
13311}
13312
13313#[derive(Copy, Clone)]
13314#[repr(C)]
13315pub struct GtkLayout {
13316    pub container: GtkContainer,
13317    pub priv_: *mut GtkLayoutPrivate,
13318}
13319
13320impl ::std::fmt::Debug for GtkLayout {
13321    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13322        f.debug_struct(&format!("GtkLayout @ {self:p}"))
13323            .field("container", &self.container)
13324            .finish()
13325    }
13326}
13327
13328#[derive(Copy, Clone)]
13329#[repr(C)]
13330pub struct GtkLevelBar {
13331    pub parent: GtkWidget,
13332    pub priv_: *mut GtkLevelBarPrivate,
13333}
13334
13335impl ::std::fmt::Debug for GtkLevelBar {
13336    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13337        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
13338    }
13339}
13340
13341#[derive(Copy, Clone)]
13342#[repr(C)]
13343pub struct GtkLevelBarAccessible {
13344    pub parent: GtkWidgetAccessible,
13345    pub priv_: *mut GtkLevelBarAccessiblePrivate,
13346}
13347
13348impl ::std::fmt::Debug for GtkLevelBarAccessible {
13349    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13350        f.debug_struct(&format!("GtkLevelBarAccessible @ {self:p}"))
13351            .field("parent", &self.parent)
13352            .field("priv_", &self.priv_)
13353            .finish()
13354    }
13355}
13356
13357#[derive(Copy, Clone)]
13358#[repr(C)]
13359pub struct GtkLinkButton {
13360    pub parent_instance: GtkButton,
13361    pub priv_: *mut GtkLinkButtonPrivate,
13362}
13363
13364impl ::std::fmt::Debug for GtkLinkButton {
13365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13366        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
13367            .finish()
13368    }
13369}
13370
13371#[derive(Copy, Clone)]
13372#[repr(C)]
13373pub struct GtkLinkButtonAccessible {
13374    pub parent: GtkButtonAccessible,
13375    pub priv_: *mut GtkLinkButtonAccessiblePrivate,
13376}
13377
13378impl ::std::fmt::Debug for GtkLinkButtonAccessible {
13379    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13380        f.debug_struct(&format!("GtkLinkButtonAccessible @ {self:p}"))
13381            .field("parent", &self.parent)
13382            .field("priv_", &self.priv_)
13383            .finish()
13384    }
13385}
13386
13387#[derive(Copy, Clone)]
13388#[repr(C)]
13389pub struct GtkListBox {
13390    pub parent_instance: GtkContainer,
13391}
13392
13393impl ::std::fmt::Debug for GtkListBox {
13394    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13395        f.debug_struct(&format!("GtkListBox @ {self:p}"))
13396            .field("parent_instance", &self.parent_instance)
13397            .finish()
13398    }
13399}
13400
13401#[derive(Copy, Clone)]
13402#[repr(C)]
13403pub struct GtkListBoxAccessible {
13404    pub parent: GtkContainerAccessible,
13405    pub priv_: *mut GtkListBoxAccessiblePrivate,
13406}
13407
13408impl ::std::fmt::Debug for GtkListBoxAccessible {
13409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13410        f.debug_struct(&format!("GtkListBoxAccessible @ {self:p}"))
13411            .field("parent", &self.parent)
13412            .field("priv_", &self.priv_)
13413            .finish()
13414    }
13415}
13416
13417#[derive(Copy, Clone)]
13418#[repr(C)]
13419pub struct GtkListBoxRow {
13420    pub parent_instance: GtkBin,
13421}
13422
13423impl ::std::fmt::Debug for GtkListBoxRow {
13424    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13425        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
13426            .field("parent_instance", &self.parent_instance)
13427            .finish()
13428    }
13429}
13430
13431#[derive(Copy, Clone)]
13432#[repr(C)]
13433pub struct GtkListBoxRowAccessible {
13434    pub parent: GtkContainerAccessible,
13435}
13436
13437impl ::std::fmt::Debug for GtkListBoxRowAccessible {
13438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13439        f.debug_struct(&format!("GtkListBoxRowAccessible @ {self:p}"))
13440            .field("parent", &self.parent)
13441            .finish()
13442    }
13443}
13444
13445#[derive(Copy, Clone)]
13446#[repr(C)]
13447pub struct GtkListStore {
13448    pub parent: gobject::GObject,
13449    pub priv_: *mut GtkListStorePrivate,
13450}
13451
13452impl ::std::fmt::Debug for GtkListStore {
13453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13454        f.debug_struct(&format!("GtkListStore @ {self:p}"))
13455            .field("parent", &self.parent)
13456            .finish()
13457    }
13458}
13459
13460#[derive(Copy, Clone)]
13461#[repr(C)]
13462pub struct GtkLockButton {
13463    pub parent: GtkButton,
13464    pub priv_: *mut GtkLockButtonPrivate,
13465}
13466
13467impl ::std::fmt::Debug for GtkLockButton {
13468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13469        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
13470            .field("parent", &self.parent)
13471            .field("priv_", &self.priv_)
13472            .finish()
13473    }
13474}
13475
13476#[derive(Copy, Clone)]
13477#[repr(C)]
13478pub struct GtkLockButtonAccessible {
13479    pub parent: GtkButtonAccessible,
13480    pub priv_: *mut GtkLockButtonAccessiblePrivate,
13481}
13482
13483impl ::std::fmt::Debug for GtkLockButtonAccessible {
13484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13485        f.debug_struct(&format!("GtkLockButtonAccessible @ {self:p}"))
13486            .field("parent", &self.parent)
13487            .field("priv_", &self.priv_)
13488            .finish()
13489    }
13490}
13491
13492#[derive(Copy, Clone)]
13493#[repr(C)]
13494pub struct GtkMenu {
13495    pub menu_shell: GtkMenuShell,
13496    pub priv_: *mut GtkMenuPrivate,
13497}
13498
13499impl ::std::fmt::Debug for GtkMenu {
13500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13501        f.debug_struct(&format!("GtkMenu @ {self:p}"))
13502            .field("menu_shell", &self.menu_shell)
13503            .finish()
13504    }
13505}
13506
13507#[derive(Copy, Clone)]
13508#[repr(C)]
13509pub struct GtkMenuAccessible {
13510    pub parent: GtkMenuShellAccessible,
13511    pub priv_: *mut GtkMenuAccessiblePrivate,
13512}
13513
13514impl ::std::fmt::Debug for GtkMenuAccessible {
13515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13516        f.debug_struct(&format!("GtkMenuAccessible @ {self:p}"))
13517            .field("parent", &self.parent)
13518            .field("priv_", &self.priv_)
13519            .finish()
13520    }
13521}
13522
13523#[derive(Copy, Clone)]
13524#[repr(C)]
13525pub struct GtkMenuBar {
13526    pub menu_shell: GtkMenuShell,
13527    pub priv_: *mut GtkMenuBarPrivate,
13528}
13529
13530impl ::std::fmt::Debug for GtkMenuBar {
13531    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13532        f.debug_struct(&format!("GtkMenuBar @ {self:p}"))
13533            .field("menu_shell", &self.menu_shell)
13534            .finish()
13535    }
13536}
13537
13538#[derive(Copy, Clone)]
13539#[repr(C)]
13540pub struct GtkMenuButton {
13541    pub parent: GtkToggleButton,
13542    pub priv_: *mut GtkMenuButtonPrivate,
13543}
13544
13545impl ::std::fmt::Debug for GtkMenuButton {
13546    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13547        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
13548            .field("parent", &self.parent)
13549            .finish()
13550    }
13551}
13552
13553#[derive(Copy, Clone)]
13554#[repr(C)]
13555pub struct GtkMenuButtonAccessible {
13556    pub parent: GtkToggleButtonAccessible,
13557    pub priv_: *mut GtkMenuButtonAccessiblePrivate,
13558}
13559
13560impl ::std::fmt::Debug for GtkMenuButtonAccessible {
13561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13562        f.debug_struct(&format!("GtkMenuButtonAccessible @ {self:p}"))
13563            .field("parent", &self.parent)
13564            .field("priv_", &self.priv_)
13565            .finish()
13566    }
13567}
13568
13569#[derive(Copy, Clone)]
13570#[repr(C)]
13571pub struct GtkMenuItem {
13572    pub bin: GtkBin,
13573    pub priv_: *mut GtkMenuItemPrivate,
13574}
13575
13576impl ::std::fmt::Debug for GtkMenuItem {
13577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13578        f.debug_struct(&format!("GtkMenuItem @ {self:p}"))
13579            .field("bin", &self.bin)
13580            .finish()
13581    }
13582}
13583
13584#[derive(Copy, Clone)]
13585#[repr(C)]
13586pub struct GtkMenuItemAccessible {
13587    pub parent: GtkContainerAccessible,
13588    pub priv_: *mut GtkMenuItemAccessiblePrivate,
13589}
13590
13591impl ::std::fmt::Debug for GtkMenuItemAccessible {
13592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13593        f.debug_struct(&format!("GtkMenuItemAccessible @ {self:p}"))
13594            .field("parent", &self.parent)
13595            .field("priv_", &self.priv_)
13596            .finish()
13597    }
13598}
13599
13600#[derive(Copy, Clone)]
13601#[repr(C)]
13602pub struct GtkMenuShell {
13603    pub container: GtkContainer,
13604    pub priv_: *mut GtkMenuShellPrivate,
13605}
13606
13607impl ::std::fmt::Debug for GtkMenuShell {
13608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13609        f.debug_struct(&format!("GtkMenuShell @ {self:p}"))
13610            .field("container", &self.container)
13611            .finish()
13612    }
13613}
13614
13615#[derive(Copy, Clone)]
13616#[repr(C)]
13617pub struct GtkMenuShellAccessible {
13618    pub parent: GtkContainerAccessible,
13619    pub priv_: *mut GtkMenuShellAccessiblePrivate,
13620}
13621
13622impl ::std::fmt::Debug for GtkMenuShellAccessible {
13623    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13624        f.debug_struct(&format!("GtkMenuShellAccessible @ {self:p}"))
13625            .field("parent", &self.parent)
13626            .field("priv_", &self.priv_)
13627            .finish()
13628    }
13629}
13630
13631#[derive(Copy, Clone)]
13632#[repr(C)]
13633pub struct GtkMenuToolButton {
13634    pub parent: GtkToolButton,
13635    pub priv_: *mut GtkMenuToolButtonPrivate,
13636}
13637
13638impl ::std::fmt::Debug for GtkMenuToolButton {
13639    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13640        f.debug_struct(&format!("GtkMenuToolButton @ {self:p}"))
13641            .field("parent", &self.parent)
13642            .finish()
13643    }
13644}
13645
13646#[derive(Copy, Clone)]
13647#[repr(C)]
13648pub struct GtkMessageDialog {
13649    pub parent_instance: GtkDialog,
13650    pub priv_: *mut GtkMessageDialogPrivate,
13651}
13652
13653impl ::std::fmt::Debug for GtkMessageDialog {
13654    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13655        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
13656            .field("parent_instance", &self.parent_instance)
13657            .finish()
13658    }
13659}
13660
13661#[derive(Copy, Clone)]
13662#[repr(C)]
13663pub struct GtkMisc {
13664    pub widget: GtkWidget,
13665    pub priv_: *mut GtkMiscPrivate,
13666}
13667
13668impl ::std::fmt::Debug for GtkMisc {
13669    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13670        f.debug_struct(&format!("GtkMisc @ {self:p}"))
13671            .field("widget", &self.widget)
13672            .finish()
13673    }
13674}
13675
13676#[repr(C)]
13677pub struct GtkModelButton {
13678    _data: [u8; 0],
13679    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13680}
13681
13682impl ::std::fmt::Debug for GtkModelButton {
13683    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13684        f.debug_struct(&format!("GtkModelButton @ {self:p}"))
13685            .finish()
13686    }
13687}
13688
13689#[derive(Copy, Clone)]
13690#[repr(C)]
13691pub struct GtkMountOperation {
13692    pub parent_instance: gio::GMountOperation,
13693    pub priv_: *mut GtkMountOperationPrivate,
13694}
13695
13696impl ::std::fmt::Debug for GtkMountOperation {
13697    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13698        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
13699            .field("parent_instance", &self.parent_instance)
13700            .field("priv_", &self.priv_)
13701            .finish()
13702    }
13703}
13704
13705#[derive(Copy, Clone)]
13706#[repr(C)]
13707pub struct GtkNativeDialog {
13708    pub parent_instance: gobject::GObject,
13709}
13710
13711impl ::std::fmt::Debug for GtkNativeDialog {
13712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13713        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
13714            .field("parent_instance", &self.parent_instance)
13715            .finish()
13716    }
13717}
13718
13719#[derive(Copy, Clone)]
13720#[repr(C)]
13721pub struct GtkNotebook {
13722    pub container: GtkContainer,
13723    pub priv_: *mut GtkNotebookPrivate,
13724}
13725
13726impl ::std::fmt::Debug for GtkNotebook {
13727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13728        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
13729    }
13730}
13731
13732#[derive(Copy, Clone)]
13733#[repr(C)]
13734pub struct GtkNotebookAccessible {
13735    pub parent: GtkContainerAccessible,
13736    pub priv_: *mut GtkNotebookAccessiblePrivate,
13737}
13738
13739impl ::std::fmt::Debug for GtkNotebookAccessible {
13740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13741        f.debug_struct(&format!("GtkNotebookAccessible @ {self:p}"))
13742            .field("parent", &self.parent)
13743            .field("priv_", &self.priv_)
13744            .finish()
13745    }
13746}
13747
13748#[derive(Copy, Clone)]
13749#[repr(C)]
13750pub struct GtkNotebookPageAccessible {
13751    pub parent: atk::AtkObject,
13752    pub priv_: *mut GtkNotebookPageAccessiblePrivate,
13753}
13754
13755impl ::std::fmt::Debug for GtkNotebookPageAccessible {
13756    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13757        f.debug_struct(&format!("GtkNotebookPageAccessible @ {self:p}"))
13758            .field("parent", &self.parent)
13759            .field("priv_", &self.priv_)
13760            .finish()
13761    }
13762}
13763
13764#[derive(Copy, Clone)]
13765#[repr(C)]
13766pub struct GtkNumerableIcon {
13767    pub parent: gio::GEmblemedIcon,
13768    pub priv_: *mut GtkNumerableIconPrivate,
13769}
13770
13771impl ::std::fmt::Debug for GtkNumerableIcon {
13772    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13773        f.debug_struct(&format!("GtkNumerableIcon @ {self:p}"))
13774            .field("parent", &self.parent)
13775            .finish()
13776    }
13777}
13778
13779#[derive(Copy, Clone)]
13780#[repr(C)]
13781pub struct GtkOffscreenWindow {
13782    pub parent_object: GtkWindow,
13783}
13784
13785impl ::std::fmt::Debug for GtkOffscreenWindow {
13786    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13787        f.debug_struct(&format!("GtkOffscreenWindow @ {self:p}"))
13788            .field("parent_object", &self.parent_object)
13789            .finish()
13790    }
13791}
13792
13793#[derive(Copy, Clone)]
13794#[repr(C)]
13795pub struct GtkOverlay {
13796    pub parent: GtkBin,
13797    pub priv_: *mut GtkOverlayPrivate,
13798}
13799
13800impl ::std::fmt::Debug for GtkOverlay {
13801    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13802        f.debug_struct(&format!("GtkOverlay @ {self:p}"))
13803            .field("parent", &self.parent)
13804            .field("priv_", &self.priv_)
13805            .finish()
13806    }
13807}
13808
13809#[repr(C)]
13810pub struct GtkPadController {
13811    _data: [u8; 0],
13812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13813}
13814
13815impl ::std::fmt::Debug for GtkPadController {
13816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13817        f.debug_struct(&format!("GtkPadController @ {self:p}"))
13818            .finish()
13819    }
13820}
13821
13822#[repr(C)]
13823pub struct GtkPageSetup {
13824    _data: [u8; 0],
13825    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13826}
13827
13828impl ::std::fmt::Debug for GtkPageSetup {
13829    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13830        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
13831    }
13832}
13833
13834#[derive(Copy, Clone)]
13835#[repr(C)]
13836pub struct GtkPaned {
13837    pub container: GtkContainer,
13838    pub priv_: *mut GtkPanedPrivate,
13839}
13840
13841impl ::std::fmt::Debug for GtkPaned {
13842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13843        f.debug_struct(&format!("GtkPaned @ {self:p}"))
13844            .field("container", &self.container)
13845            .finish()
13846    }
13847}
13848
13849#[derive(Copy, Clone)]
13850#[repr(C)]
13851pub struct GtkPanedAccessible {
13852    pub parent: GtkContainerAccessible,
13853    pub priv_: *mut GtkPanedAccessiblePrivate,
13854}
13855
13856impl ::std::fmt::Debug for GtkPanedAccessible {
13857    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13858        f.debug_struct(&format!("GtkPanedAccessible @ {self:p}"))
13859            .field("parent", &self.parent)
13860            .field("priv_", &self.priv_)
13861            .finish()
13862    }
13863}
13864
13865#[repr(C)]
13866pub struct GtkPlacesSidebar {
13867    _data: [u8; 0],
13868    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13869}
13870
13871impl ::std::fmt::Debug for GtkPlacesSidebar {
13872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13873        f.debug_struct(&format!("GtkPlacesSidebar @ {self:p}"))
13874            .finish()
13875    }
13876}
13877
13878#[derive(Copy, Clone)]
13879#[repr(C)]
13880pub struct GtkPlug {
13881    pub window: GtkWindow,
13882    pub priv_: *mut GtkPlugPrivate,
13883}
13884
13885impl ::std::fmt::Debug for GtkPlug {
13886    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13887        f.debug_struct(&format!("GtkPlug @ {self:p}"))
13888            .field("window", &self.window)
13889            .field("priv_", &self.priv_)
13890            .finish()
13891    }
13892}
13893
13894#[derive(Copy, Clone)]
13895#[repr(C)]
13896pub struct GtkPlugAccessible {
13897    pub parent: GtkWindowAccessible,
13898    pub priv_: *mut GtkPlugAccessiblePrivate,
13899}
13900
13901impl ::std::fmt::Debug for GtkPlugAccessible {
13902    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13903        f.debug_struct(&format!("GtkPlugAccessible @ {self:p}"))
13904            .field("parent", &self.parent)
13905            .field("priv_", &self.priv_)
13906            .finish()
13907    }
13908}
13909
13910#[derive(Copy, Clone)]
13911#[repr(C)]
13912pub struct GtkPopover {
13913    pub parent_instance: GtkBin,
13914    pub priv_: *mut GtkPopoverPrivate,
13915}
13916
13917impl ::std::fmt::Debug for GtkPopover {
13918    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13919        f.debug_struct(&format!("GtkPopover @ {self:p}"))
13920            .field("parent_instance", &self.parent_instance)
13921            .finish()
13922    }
13923}
13924
13925#[derive(Copy, Clone)]
13926#[repr(C)]
13927pub struct GtkPopoverAccessible {
13928    pub parent: GtkContainerAccessible,
13929}
13930
13931impl ::std::fmt::Debug for GtkPopoverAccessible {
13932    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13933        f.debug_struct(&format!("GtkPopoverAccessible @ {self:p}"))
13934            .field("parent", &self.parent)
13935            .finish()
13936    }
13937}
13938
13939#[repr(C)]
13940pub struct GtkPopoverMenu {
13941    _data: [u8; 0],
13942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13943}
13944
13945impl ::std::fmt::Debug for GtkPopoverMenu {
13946    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13947        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
13948            .finish()
13949    }
13950}
13951
13952#[repr(C)]
13953pub struct GtkPrintContext {
13954    _data: [u8; 0],
13955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13956}
13957
13958impl ::std::fmt::Debug for GtkPrintContext {
13959    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13960        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
13961            .finish()
13962    }
13963}
13964
13965#[derive(Copy, Clone)]
13966#[repr(C)]
13967pub struct GtkPrintOperation {
13968    pub parent_instance: gobject::GObject,
13969    pub priv_: *mut GtkPrintOperationPrivate,
13970}
13971
13972impl ::std::fmt::Debug for GtkPrintOperation {
13973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13974        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
13975            .field("parent_instance", &self.parent_instance)
13976            .finish()
13977    }
13978}
13979
13980#[repr(C)]
13981pub struct GtkPrintSettings {
13982    _data: [u8; 0],
13983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
13984}
13985
13986impl ::std::fmt::Debug for GtkPrintSettings {
13987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13988        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
13989            .finish()
13990    }
13991}
13992
13993#[derive(Copy, Clone)]
13994#[repr(C)]
13995pub struct GtkProgressBar {
13996    pub parent: GtkWidget,
13997    pub priv_: *mut GtkProgressBarPrivate,
13998}
13999
14000impl ::std::fmt::Debug for GtkProgressBar {
14001    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14002        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
14003            .field("parent", &self.parent)
14004            .finish()
14005    }
14006}
14007
14008#[derive(Copy, Clone)]
14009#[repr(C)]
14010pub struct GtkProgressBarAccessible {
14011    pub parent: GtkWidgetAccessible,
14012    pub priv_: *mut GtkProgressBarAccessiblePrivate,
14013}
14014
14015impl ::std::fmt::Debug for GtkProgressBarAccessible {
14016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14017        f.debug_struct(&format!("GtkProgressBarAccessible @ {self:p}"))
14018            .field("parent", &self.parent)
14019            .field("priv_", &self.priv_)
14020            .finish()
14021    }
14022}
14023
14024#[derive(Copy, Clone)]
14025#[repr(C)]
14026pub struct GtkRadioAction {
14027    pub parent: GtkToggleAction,
14028    pub private_data: *mut GtkRadioActionPrivate,
14029}
14030
14031impl ::std::fmt::Debug for GtkRadioAction {
14032    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14033        f.debug_struct(&format!("GtkRadioAction @ {self:p}"))
14034            .field("parent", &self.parent)
14035            .finish()
14036    }
14037}
14038
14039#[derive(Copy, Clone)]
14040#[repr(C)]
14041pub struct GtkRadioButton {
14042    pub check_button: GtkCheckButton,
14043    pub priv_: *mut GtkRadioButtonPrivate,
14044}
14045
14046impl ::std::fmt::Debug for GtkRadioButton {
14047    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14048        f.debug_struct(&format!("GtkRadioButton @ {self:p}"))
14049            .field("check_button", &self.check_button)
14050            .finish()
14051    }
14052}
14053
14054#[derive(Copy, Clone)]
14055#[repr(C)]
14056pub struct GtkRadioButtonAccessible {
14057    pub parent: GtkToggleButtonAccessible,
14058    pub priv_: *mut GtkRadioButtonAccessiblePrivate,
14059}
14060
14061impl ::std::fmt::Debug for GtkRadioButtonAccessible {
14062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14063        f.debug_struct(&format!("GtkRadioButtonAccessible @ {self:p}"))
14064            .field("parent", &self.parent)
14065            .field("priv_", &self.priv_)
14066            .finish()
14067    }
14068}
14069
14070#[derive(Copy, Clone)]
14071#[repr(C)]
14072pub struct GtkRadioMenuItem {
14073    pub check_menu_item: GtkCheckMenuItem,
14074    pub priv_: *mut GtkRadioMenuItemPrivate,
14075}
14076
14077impl ::std::fmt::Debug for GtkRadioMenuItem {
14078    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14079        f.debug_struct(&format!("GtkRadioMenuItem @ {self:p}"))
14080            .field("check_menu_item", &self.check_menu_item)
14081            .finish()
14082    }
14083}
14084
14085#[derive(Copy, Clone)]
14086#[repr(C)]
14087pub struct GtkRadioMenuItemAccessible {
14088    pub parent: GtkCheckMenuItemAccessible,
14089    pub priv_: *mut GtkRadioMenuItemAccessiblePrivate,
14090}
14091
14092impl ::std::fmt::Debug for GtkRadioMenuItemAccessible {
14093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14094        f.debug_struct(&format!("GtkRadioMenuItemAccessible @ {self:p}"))
14095            .field("parent", &self.parent)
14096            .field("priv_", &self.priv_)
14097            .finish()
14098    }
14099}
14100
14101#[derive(Copy, Clone)]
14102#[repr(C)]
14103pub struct GtkRadioToolButton {
14104    pub parent: GtkToggleToolButton,
14105}
14106
14107impl ::std::fmt::Debug for GtkRadioToolButton {
14108    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14109        f.debug_struct(&format!("GtkRadioToolButton @ {self:p}"))
14110            .field("parent", &self.parent)
14111            .finish()
14112    }
14113}
14114
14115#[derive(Copy, Clone)]
14116#[repr(C)]
14117pub struct GtkRange {
14118    pub widget: GtkWidget,
14119    pub priv_: *mut GtkRangePrivate,
14120}
14121
14122impl ::std::fmt::Debug for GtkRange {
14123    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14124        f.debug_struct(&format!("GtkRange @ {self:p}"))
14125            .field("widget", &self.widget)
14126            .field("priv_", &self.priv_)
14127            .finish()
14128    }
14129}
14130
14131#[derive(Copy, Clone)]
14132#[repr(C)]
14133pub struct GtkRangeAccessible {
14134    pub parent: GtkWidgetAccessible,
14135    pub priv_: *mut GtkRangeAccessiblePrivate,
14136}
14137
14138impl ::std::fmt::Debug for GtkRangeAccessible {
14139    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14140        f.debug_struct(&format!("GtkRangeAccessible @ {self:p}"))
14141            .field("parent", &self.parent)
14142            .field("priv_", &self.priv_)
14143            .finish()
14144    }
14145}
14146
14147#[derive(Copy, Clone)]
14148#[repr(C)]
14149pub struct GtkRcStyle {
14150    pub parent_instance: gobject::GObject,
14151    pub name: *mut c_char,
14152    pub bg_pixmap_name: [*mut c_char; 5],
14153    pub font_desc: *mut pango::PangoFontDescription,
14154    pub color_flags: [GtkRcFlags; 5],
14155    pub fg: [gdk::GdkColor; 5],
14156    pub bg: [gdk::GdkColor; 5],
14157    pub text: [gdk::GdkColor; 5],
14158    pub base: [gdk::GdkColor; 5],
14159    pub xthickness: c_int,
14160    pub ythickness: c_int,
14161    pub rc_properties: *mut glib::GArray,
14162    pub rc_style_lists: *mut glib::GSList,
14163    pub icon_factories: *mut glib::GSList,
14164    pub engine_specified: c_uint,
14165}
14166
14167impl ::std::fmt::Debug for GtkRcStyle {
14168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14169        f.debug_struct(&format!("GtkRcStyle @ {self:p}"))
14170            .field("parent_instance", &self.parent_instance)
14171            .field("name", &self.name)
14172            .field("bg_pixmap_name", &self.bg_pixmap_name)
14173            .field("font_desc", &self.font_desc)
14174            .field("color_flags", &self.color_flags)
14175            .field("fg", &self.fg)
14176            .field("bg", &self.bg)
14177            .field("text", &self.text)
14178            .field("base", &self.base)
14179            .field("xthickness", &self.xthickness)
14180            .field("ythickness", &self.ythickness)
14181            .finish()
14182    }
14183}
14184
14185#[derive(Copy, Clone)]
14186#[repr(C)]
14187pub struct GtkRecentAction {
14188    pub parent_instance: GtkAction,
14189    pub priv_: *mut GtkRecentActionPrivate,
14190}
14191
14192impl ::std::fmt::Debug for GtkRecentAction {
14193    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14194        f.debug_struct(&format!("GtkRecentAction @ {self:p}"))
14195            .field("parent_instance", &self.parent_instance)
14196            .finish()
14197    }
14198}
14199
14200#[derive(Copy, Clone)]
14201#[repr(C)]
14202pub struct GtkRecentChooserDialog {
14203    pub parent_instance: GtkDialog,
14204    pub priv_: *mut GtkRecentChooserDialogPrivate,
14205}
14206
14207impl ::std::fmt::Debug for GtkRecentChooserDialog {
14208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14209        f.debug_struct(&format!("GtkRecentChooserDialog @ {self:p}"))
14210            .field("parent_instance", &self.parent_instance)
14211            .finish()
14212    }
14213}
14214
14215#[derive(Copy, Clone)]
14216#[repr(C)]
14217pub struct GtkRecentChooserMenu {
14218    pub parent_instance: GtkMenu,
14219    pub priv_: *mut GtkRecentChooserMenuPrivate,
14220}
14221
14222impl ::std::fmt::Debug for GtkRecentChooserMenu {
14223    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14224        f.debug_struct(&format!("GtkRecentChooserMenu @ {self:p}"))
14225            .field("parent_instance", &self.parent_instance)
14226            .finish()
14227    }
14228}
14229
14230#[derive(Copy, Clone)]
14231#[repr(C)]
14232pub struct GtkRecentChooserWidget {
14233    pub parent_instance: GtkBox,
14234    pub priv_: *mut GtkRecentChooserWidgetPrivate,
14235}
14236
14237impl ::std::fmt::Debug for GtkRecentChooserWidget {
14238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14239        f.debug_struct(&format!("GtkRecentChooserWidget @ {self:p}"))
14240            .field("parent_instance", &self.parent_instance)
14241            .finish()
14242    }
14243}
14244
14245#[repr(C)]
14246pub struct GtkRecentFilter {
14247    _data: [u8; 0],
14248    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
14249}
14250
14251impl ::std::fmt::Debug for GtkRecentFilter {
14252    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14253        f.debug_struct(&format!("GtkRecentFilter @ {self:p}"))
14254            .finish()
14255    }
14256}
14257
14258#[derive(Copy, Clone)]
14259#[repr(C)]
14260pub struct GtkRecentManager {
14261    pub parent_instance: gobject::GObject,
14262    pub priv_: *mut GtkRecentManagerPrivate,
14263}
14264
14265impl ::std::fmt::Debug for GtkRecentManager {
14266    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14267        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
14268            .finish()
14269    }
14270}
14271
14272#[derive(Copy, Clone)]
14273#[repr(C)]
14274pub struct GtkRendererCellAccessible {
14275    pub parent: GtkCellAccessible,
14276    pub priv_: *mut GtkRendererCellAccessiblePrivate,
14277}
14278
14279impl ::std::fmt::Debug for GtkRendererCellAccessible {
14280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14281        f.debug_struct(&format!("GtkRendererCellAccessible @ {self:p}"))
14282            .field("parent", &self.parent)
14283            .field("priv_", &self.priv_)
14284            .finish()
14285    }
14286}
14287
14288#[derive(Copy, Clone)]
14289#[repr(C)]
14290pub struct GtkRevealer {
14291    pub parent_instance: GtkBin,
14292}
14293
14294impl ::std::fmt::Debug for GtkRevealer {
14295    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14296        f.debug_struct(&format!("GtkRevealer @ {self:p}"))
14297            .field("parent_instance", &self.parent_instance)
14298            .finish()
14299    }
14300}
14301
14302#[derive(Copy, Clone)]
14303#[repr(C)]
14304pub struct GtkScale {
14305    pub range: GtkRange,
14306    pub priv_: *mut GtkScalePrivate,
14307}
14308
14309impl ::std::fmt::Debug for GtkScale {
14310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14311        f.debug_struct(&format!("GtkScale @ {self:p}"))
14312            .field("range", &self.range)
14313            .finish()
14314    }
14315}
14316
14317#[derive(Copy, Clone)]
14318#[repr(C)]
14319pub struct GtkScaleAccessible {
14320    pub parent: GtkRangeAccessible,
14321    pub priv_: *mut GtkScaleAccessiblePrivate,
14322}
14323
14324impl ::std::fmt::Debug for GtkScaleAccessible {
14325    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14326        f.debug_struct(&format!("GtkScaleAccessible @ {self:p}"))
14327            .field("parent", &self.parent)
14328            .field("priv_", &self.priv_)
14329            .finish()
14330    }
14331}
14332
14333#[derive(Copy, Clone)]
14334#[repr(C)]
14335pub struct GtkScaleButton {
14336    pub parent: GtkButton,
14337    pub priv_: *mut GtkScaleButtonPrivate,
14338}
14339
14340impl ::std::fmt::Debug for GtkScaleButton {
14341    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14342        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
14343            .field("parent", &self.parent)
14344            .finish()
14345    }
14346}
14347
14348#[derive(Copy, Clone)]
14349#[repr(C)]
14350pub struct GtkScaleButtonAccessible {
14351    pub parent: GtkButtonAccessible,
14352    pub priv_: *mut GtkScaleButtonAccessiblePrivate,
14353}
14354
14355impl ::std::fmt::Debug for GtkScaleButtonAccessible {
14356    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14357        f.debug_struct(&format!("GtkScaleButtonAccessible @ {self:p}"))
14358            .field("parent", &self.parent)
14359            .field("priv_", &self.priv_)
14360            .finish()
14361    }
14362}
14363
14364#[derive(Copy, Clone)]
14365#[repr(C)]
14366pub struct GtkScrollbar {
14367    pub range: GtkRange,
14368}
14369
14370impl ::std::fmt::Debug for GtkScrollbar {
14371    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14372        f.debug_struct(&format!("GtkScrollbar @ {self:p}"))
14373            .field("range", &self.range)
14374            .finish()
14375    }
14376}
14377
14378#[derive(Copy, Clone)]
14379#[repr(C)]
14380pub struct GtkScrolledWindow {
14381    pub container: GtkBin,
14382    pub priv_: *mut GtkScrolledWindowPrivate,
14383}
14384
14385impl ::std::fmt::Debug for GtkScrolledWindow {
14386    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14387        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
14388            .field("container", &self.container)
14389            .field("priv_", &self.priv_)
14390            .finish()
14391    }
14392}
14393
14394#[derive(Copy, Clone)]
14395#[repr(C)]
14396pub struct GtkScrolledWindowAccessible {
14397    pub parent: GtkContainerAccessible,
14398    pub priv_: *mut GtkScrolledWindowAccessiblePrivate,
14399}
14400
14401impl ::std::fmt::Debug for GtkScrolledWindowAccessible {
14402    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14403        f.debug_struct(&format!("GtkScrolledWindowAccessible @ {self:p}"))
14404            .field("parent", &self.parent)
14405            .field("priv_", &self.priv_)
14406            .finish()
14407    }
14408}
14409
14410#[derive(Copy, Clone)]
14411#[repr(C)]
14412pub struct GtkSearchBar {
14413    pub parent: GtkBin,
14414}
14415
14416impl ::std::fmt::Debug for GtkSearchBar {
14417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14418        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
14419    }
14420}
14421
14422#[derive(Copy, Clone)]
14423#[repr(C)]
14424pub struct GtkSearchEntry {
14425    pub parent: GtkEntry,
14426}
14427
14428impl ::std::fmt::Debug for GtkSearchEntry {
14429    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14430        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
14431            .field("parent", &self.parent)
14432            .finish()
14433    }
14434}
14435
14436#[derive(Copy, Clone)]
14437#[repr(C)]
14438pub struct GtkSeparator {
14439    pub widget: GtkWidget,
14440    pub priv_: *mut GtkSeparatorPrivate,
14441}
14442
14443impl ::std::fmt::Debug for GtkSeparator {
14444    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14445        f.debug_struct(&format!("GtkSeparator @ {self:p}"))
14446            .field("widget", &self.widget)
14447            .field("priv_", &self.priv_)
14448            .finish()
14449    }
14450}
14451
14452#[derive(Copy, Clone)]
14453#[repr(C)]
14454pub struct GtkSeparatorMenuItem {
14455    pub menu_item: GtkMenuItem,
14456}
14457
14458impl ::std::fmt::Debug for GtkSeparatorMenuItem {
14459    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14460        f.debug_struct(&format!("GtkSeparatorMenuItem @ {self:p}"))
14461            .field("menu_item", &self.menu_item)
14462            .finish()
14463    }
14464}
14465
14466#[derive(Copy, Clone)]
14467#[repr(C)]
14468pub struct GtkSeparatorToolItem {
14469    pub parent: GtkToolItem,
14470    pub priv_: *mut GtkSeparatorToolItemPrivate,
14471}
14472
14473impl ::std::fmt::Debug for GtkSeparatorToolItem {
14474    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14475        f.debug_struct(&format!("GtkSeparatorToolItem @ {self:p}"))
14476            .field("parent", &self.parent)
14477            .finish()
14478    }
14479}
14480
14481#[derive(Copy, Clone)]
14482#[repr(C)]
14483pub struct GtkSettings {
14484    pub parent_instance: gobject::GObject,
14485    pub priv_: *mut GtkSettingsPrivate,
14486}
14487
14488impl ::std::fmt::Debug for GtkSettings {
14489    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14490        f.debug_struct(&format!("GtkSettings @ {self:p}"))
14491            .field("parent_instance", &self.parent_instance)
14492            .finish()
14493    }
14494}
14495
14496#[repr(C)]
14497pub struct GtkShortcutLabel {
14498    _data: [u8; 0],
14499    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
14500}
14501
14502impl ::std::fmt::Debug for GtkShortcutLabel {
14503    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14504        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
14505            .finish()
14506    }
14507}
14508
14509#[repr(C)]
14510pub struct GtkShortcutsGroup {
14511    _data: [u8; 0],
14512    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
14513}
14514
14515impl ::std::fmt::Debug for GtkShortcutsGroup {
14516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14517        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
14518            .finish()
14519    }
14520}
14521
14522#[repr(C)]
14523pub struct GtkShortcutsSection {
14524    _data: [u8; 0],
14525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
14526}
14527
14528impl ::std::fmt::Debug for GtkShortcutsSection {
14529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14530        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
14531            .finish()
14532    }
14533}
14534
14535#[repr(C)]
14536pub struct GtkShortcutsShortcut {
14537    _data: [u8; 0],
14538    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
14539}
14540
14541impl ::std::fmt::Debug for GtkShortcutsShortcut {
14542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14543        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
14544            .finish()
14545    }
14546}
14547
14548#[derive(Copy, Clone)]
14549#[repr(C)]
14550pub struct GtkShortcutsWindow {
14551    pub window: GtkWindow,
14552}
14553
14554impl ::std::fmt::Debug for GtkShortcutsWindow {
14555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14556        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
14557            .field("window", &self.window)
14558            .finish()
14559    }
14560}
14561
14562#[derive(Copy, Clone)]
14563#[repr(C)]
14564pub struct GtkSizeGroup {
14565    pub parent_instance: gobject::GObject,
14566    pub priv_: *mut GtkSizeGroupPrivate,
14567}
14568
14569impl ::std::fmt::Debug for GtkSizeGroup {
14570    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14571        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
14572            .field("parent_instance", &self.parent_instance)
14573            .finish()
14574    }
14575}
14576
14577#[derive(Copy, Clone)]
14578#[repr(C)]
14579pub struct GtkSocket {
14580    pub container: GtkContainer,
14581    pub priv_: *mut GtkSocketPrivate,
14582}
14583
14584impl ::std::fmt::Debug for GtkSocket {
14585    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14586        f.debug_struct(&format!("GtkSocket @ {self:p}"))
14587            .field("container", &self.container)
14588            .field("priv_", &self.priv_)
14589            .finish()
14590    }
14591}
14592
14593#[derive(Copy, Clone)]
14594#[repr(C)]
14595pub struct GtkSocketAccessible {
14596    pub parent: GtkContainerAccessible,
14597    pub priv_: *mut GtkSocketAccessiblePrivate,
14598}
14599
14600impl ::std::fmt::Debug for GtkSocketAccessible {
14601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14602        f.debug_struct(&format!("GtkSocketAccessible @ {self:p}"))
14603            .field("parent", &self.parent)
14604            .field("priv_", &self.priv_)
14605            .finish()
14606    }
14607}
14608
14609#[derive(Copy, Clone)]
14610#[repr(C)]
14611pub struct GtkSpinButton {
14612    pub entry: GtkEntry,
14613    pub priv_: *mut GtkSpinButtonPrivate,
14614}
14615
14616impl ::std::fmt::Debug for GtkSpinButton {
14617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14618        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
14619            .field("entry", &self.entry)
14620            .finish()
14621    }
14622}
14623
14624#[derive(Copy, Clone)]
14625#[repr(C)]
14626pub struct GtkSpinButtonAccessible {
14627    pub parent: GtkEntryAccessible,
14628    pub priv_: *mut GtkSpinButtonAccessiblePrivate,
14629}
14630
14631impl ::std::fmt::Debug for GtkSpinButtonAccessible {
14632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14633        f.debug_struct(&format!("GtkSpinButtonAccessible @ {self:p}"))
14634            .field("parent", &self.parent)
14635            .field("priv_", &self.priv_)
14636            .finish()
14637    }
14638}
14639
14640#[derive(Copy, Clone)]
14641#[repr(C)]
14642pub struct GtkSpinner {
14643    pub parent: GtkWidget,
14644    pub priv_: *mut GtkSpinnerPrivate,
14645}
14646
14647impl ::std::fmt::Debug for GtkSpinner {
14648    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14649        f.debug_struct(&format!("GtkSpinner @ {self:p}"))
14650            .field("parent", &self.parent)
14651            .finish()
14652    }
14653}
14654
14655#[derive(Copy, Clone)]
14656#[repr(C)]
14657pub struct GtkSpinnerAccessible {
14658    pub parent: GtkWidgetAccessible,
14659    pub priv_: *mut GtkSpinnerAccessiblePrivate,
14660}
14661
14662impl ::std::fmt::Debug for GtkSpinnerAccessible {
14663    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14664        f.debug_struct(&format!("GtkSpinnerAccessible @ {self:p}"))
14665            .field("parent", &self.parent)
14666            .field("priv_", &self.priv_)
14667            .finish()
14668    }
14669}
14670
14671#[derive(Copy, Clone)]
14672#[repr(C)]
14673pub struct GtkStack {
14674    pub parent_instance: GtkContainer,
14675}
14676
14677impl ::std::fmt::Debug for GtkStack {
14678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14679        f.debug_struct(&format!("GtkStack @ {self:p}"))
14680            .field("parent_instance", &self.parent_instance)
14681            .finish()
14682    }
14683}
14684
14685#[derive(Copy, Clone)]
14686#[repr(C)]
14687pub struct GtkStackAccessible {
14688    pub parent: GtkContainerAccessible,
14689}
14690
14691impl ::std::fmt::Debug for GtkStackAccessible {
14692    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14693        f.debug_struct(&format!("GtkStackAccessible @ {self:p}"))
14694            .field("parent", &self.parent)
14695            .finish()
14696    }
14697}
14698
14699#[derive(Copy, Clone)]
14700#[repr(C)]
14701pub struct GtkStackSidebar {
14702    pub parent: GtkBin,
14703}
14704
14705impl ::std::fmt::Debug for GtkStackSidebar {
14706    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14707        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
14708            .field("parent", &self.parent)
14709            .finish()
14710    }
14711}
14712
14713#[derive(Copy, Clone)]
14714#[repr(C)]
14715pub struct GtkStackSwitcher {
14716    pub widget: GtkBox,
14717}
14718
14719impl ::std::fmt::Debug for GtkStackSwitcher {
14720    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14721        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
14722            .field("widget", &self.widget)
14723            .finish()
14724    }
14725}
14726
14727#[derive(Copy, Clone)]
14728#[repr(C)]
14729pub struct GtkStatusIcon {
14730    pub parent_instance: gobject::GObject,
14731    pub priv_: *mut GtkStatusIconPrivate,
14732}
14733
14734impl ::std::fmt::Debug for GtkStatusIcon {
14735    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14736        f.debug_struct(&format!("GtkStatusIcon @ {self:p}"))
14737            .field("parent_instance", &self.parent_instance)
14738            .field("priv_", &self.priv_)
14739            .finish()
14740    }
14741}
14742
14743#[derive(Copy, Clone)]
14744#[repr(C)]
14745pub struct GtkStatusbar {
14746    pub parent_widget: GtkBox,
14747    pub priv_: *mut GtkStatusbarPrivate,
14748}
14749
14750impl ::std::fmt::Debug for GtkStatusbar {
14751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14752        f.debug_struct(&format!("GtkStatusbar @ {self:p}"))
14753            .field("parent_widget", &self.parent_widget)
14754            .finish()
14755    }
14756}
14757
14758#[derive(Copy, Clone)]
14759#[repr(C)]
14760pub struct GtkStatusbarAccessible {
14761    pub parent: GtkContainerAccessible,
14762    pub priv_: *mut GtkStatusbarAccessiblePrivate,
14763}
14764
14765impl ::std::fmt::Debug for GtkStatusbarAccessible {
14766    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14767        f.debug_struct(&format!("GtkStatusbarAccessible @ {self:p}"))
14768            .field("parent", &self.parent)
14769            .field("priv_", &self.priv_)
14770            .finish()
14771    }
14772}
14773
14774#[repr(C)]
14775pub struct GtkStyle {
14776    pub parent_instance: gobject::GObject,
14777    pub fg: [gdk::GdkColor; 5],
14778    pub bg: [gdk::GdkColor; 5],
14779    pub light: [gdk::GdkColor; 5],
14780    pub dark: [gdk::GdkColor; 5],
14781    pub mid: [gdk::GdkColor; 5],
14782    pub text: [gdk::GdkColor; 5],
14783    pub base: [gdk::GdkColor; 5],
14784    pub text_aa: [gdk::GdkColor; 5],
14785    pub black: gdk::GdkColor,
14786    pub white: gdk::GdkColor,
14787    pub font_desc: *mut pango::PangoFontDescription,
14788    pub xthickness: c_int,
14789    pub ythickness: c_int,
14790    _truncated_record_marker: c_void,
14791    // /*Ignored*/field background has incomplete type
14792}
14793
14794impl ::std::fmt::Debug for GtkStyle {
14795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14796        f.debug_struct(&format!("GtkStyle @ {self:p}"))
14797            .field("fg", &self.fg)
14798            .field("bg", &self.bg)
14799            .field("light", &self.light)
14800            .field("dark", &self.dark)
14801            .field("mid", &self.mid)
14802            .field("text", &self.text)
14803            .field("base", &self.base)
14804            .field("text_aa", &self.text_aa)
14805            .field("black", &self.black)
14806            .field("white", &self.white)
14807            .field("font_desc", &self.font_desc)
14808            .field("xthickness", &self.xthickness)
14809            .field("ythickness", &self.ythickness)
14810            .finish()
14811    }
14812}
14813
14814#[derive(Copy, Clone)]
14815#[repr(C)]
14816pub struct GtkStyleContext {
14817    pub parent_object: gobject::GObject,
14818    pub priv_: *mut GtkStyleContextPrivate,
14819}
14820
14821impl ::std::fmt::Debug for GtkStyleContext {
14822    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14823        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
14824            .field("parent_object", &self.parent_object)
14825            .field("priv_", &self.priv_)
14826            .finish()
14827    }
14828}
14829
14830#[derive(Copy, Clone)]
14831#[repr(C)]
14832pub struct GtkStyleProperties {
14833    pub parent_object: gobject::GObject,
14834    pub priv_: *mut GtkStylePropertiesPrivate,
14835}
14836
14837impl ::std::fmt::Debug for GtkStyleProperties {
14838    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14839        f.debug_struct(&format!("GtkStyleProperties @ {self:p}"))
14840            .finish()
14841    }
14842}
14843
14844#[derive(Copy, Clone)]
14845#[repr(C)]
14846pub struct GtkSwitch {
14847    pub parent_instance: GtkWidget,
14848    pub priv_: *mut GtkSwitchPrivate,
14849}
14850
14851impl ::std::fmt::Debug for GtkSwitch {
14852    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14853        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
14854    }
14855}
14856
14857#[derive(Copy, Clone)]
14858#[repr(C)]
14859pub struct GtkSwitchAccessible {
14860    pub parent: GtkWidgetAccessible,
14861    pub priv_: *mut GtkSwitchAccessiblePrivate,
14862}
14863
14864impl ::std::fmt::Debug for GtkSwitchAccessible {
14865    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14866        f.debug_struct(&format!("GtkSwitchAccessible @ {self:p}"))
14867            .field("parent", &self.parent)
14868            .field("priv_", &self.priv_)
14869            .finish()
14870    }
14871}
14872
14873#[derive(Copy, Clone)]
14874#[repr(C)]
14875pub struct GtkTable {
14876    pub container: GtkContainer,
14877    pub priv_: *mut GtkTablePrivate,
14878}
14879
14880impl ::std::fmt::Debug for GtkTable {
14881    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14882        f.debug_struct(&format!("GtkTable @ {self:p}"))
14883            .field("container", &self.container)
14884            .finish()
14885    }
14886}
14887
14888#[derive(Copy, Clone)]
14889#[repr(C)]
14890pub struct GtkTearoffMenuItem {
14891    pub menu_item: GtkMenuItem,
14892    pub priv_: *mut GtkTearoffMenuItemPrivate,
14893}
14894
14895impl ::std::fmt::Debug for GtkTearoffMenuItem {
14896    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14897        f.debug_struct(&format!("GtkTearoffMenuItem @ {self:p}"))
14898            .field("menu_item", &self.menu_item)
14899            .finish()
14900    }
14901}
14902
14903#[derive(Copy, Clone)]
14904#[repr(C)]
14905pub struct GtkTextBuffer {
14906    pub parent_instance: gobject::GObject,
14907    pub priv_: *mut GtkTextBufferPrivate,
14908}
14909
14910impl ::std::fmt::Debug for GtkTextBuffer {
14911    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14912        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
14913            .field("parent_instance", &self.parent_instance)
14914            .field("priv_", &self.priv_)
14915            .finish()
14916    }
14917}
14918
14919#[derive(Copy, Clone)]
14920#[repr(C)]
14921pub struct GtkTextCellAccessible {
14922    pub parent: GtkRendererCellAccessible,
14923    pub priv_: *mut GtkTextCellAccessiblePrivate,
14924}
14925
14926impl ::std::fmt::Debug for GtkTextCellAccessible {
14927    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14928        f.debug_struct(&format!("GtkTextCellAccessible @ {self:p}"))
14929            .field("parent", &self.parent)
14930            .field("priv_", &self.priv_)
14931            .finish()
14932    }
14933}
14934
14935#[derive(Copy, Clone)]
14936#[repr(C)]
14937pub struct GtkTextChildAnchor {
14938    pub parent_instance: gobject::GObject,
14939    pub segment: gpointer,
14940}
14941
14942impl ::std::fmt::Debug for GtkTextChildAnchor {
14943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14944        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
14945            .field("parent_instance", &self.parent_instance)
14946            .finish()
14947    }
14948}
14949
14950#[derive(Copy, Clone)]
14951#[repr(C)]
14952pub struct GtkTextMark {
14953    pub parent_instance: gobject::GObject,
14954    pub segment: gpointer,
14955}
14956
14957impl ::std::fmt::Debug for GtkTextMark {
14958    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14959        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
14960            .field("parent_instance", &self.parent_instance)
14961            .finish()
14962    }
14963}
14964
14965#[derive(Copy, Clone)]
14966#[repr(C)]
14967pub struct GtkTextTag {
14968    pub parent_instance: gobject::GObject,
14969    pub priv_: *mut GtkTextTagPrivate,
14970}
14971
14972impl ::std::fmt::Debug for GtkTextTag {
14973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14974        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
14975            .field("parent_instance", &self.parent_instance)
14976            .field("priv_", &self.priv_)
14977            .finish()
14978    }
14979}
14980
14981#[derive(Copy, Clone)]
14982#[repr(C)]
14983pub struct GtkTextTagTable {
14984    pub parent_instance: gobject::GObject,
14985    pub priv_: *mut GtkTextTagTablePrivate,
14986}
14987
14988impl ::std::fmt::Debug for GtkTextTagTable {
14989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14990        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
14991            .field("parent_instance", &self.parent_instance)
14992            .field("priv_", &self.priv_)
14993            .finish()
14994    }
14995}
14996
14997#[derive(Copy, Clone)]
14998#[repr(C)]
14999pub struct GtkTextView {
15000    pub parent_instance: GtkContainer,
15001    pub priv_: *mut GtkTextViewPrivate,
15002}
15003
15004impl ::std::fmt::Debug for GtkTextView {
15005    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15006        f.debug_struct(&format!("GtkTextView @ {self:p}"))
15007            .field("parent_instance", &self.parent_instance)
15008            .finish()
15009    }
15010}
15011
15012#[derive(Copy, Clone)]
15013#[repr(C)]
15014pub struct GtkTextViewAccessible {
15015    pub parent: GtkContainerAccessible,
15016    pub priv_: *mut GtkTextViewAccessiblePrivate,
15017}
15018
15019impl ::std::fmt::Debug for GtkTextViewAccessible {
15020    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15021        f.debug_struct(&format!("GtkTextViewAccessible @ {self:p}"))
15022            .field("parent", &self.parent)
15023            .field("priv_", &self.priv_)
15024            .finish()
15025    }
15026}
15027
15028#[derive(Copy, Clone)]
15029#[repr(C)]
15030pub struct GtkThemingEngine {
15031    pub parent_object: gobject::GObject,
15032    pub priv_: *mut GtkThemingEnginePrivate,
15033}
15034
15035impl ::std::fmt::Debug for GtkThemingEngine {
15036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15037        f.debug_struct(&format!("GtkThemingEngine @ {self:p}"))
15038            .field("parent_object", &self.parent_object)
15039            .field("priv_", &self.priv_)
15040            .finish()
15041    }
15042}
15043
15044#[derive(Copy, Clone)]
15045#[repr(C)]
15046pub struct GtkToggleAction {
15047    pub parent: GtkAction,
15048    pub private_data: *mut GtkToggleActionPrivate,
15049}
15050
15051impl ::std::fmt::Debug for GtkToggleAction {
15052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15053        f.debug_struct(&format!("GtkToggleAction @ {self:p}"))
15054            .field("parent", &self.parent)
15055            .finish()
15056    }
15057}
15058
15059#[derive(Copy, Clone)]
15060#[repr(C)]
15061pub struct GtkToggleButton {
15062    pub button: GtkButton,
15063    pub priv_: *mut GtkToggleButtonPrivate,
15064}
15065
15066impl ::std::fmt::Debug for GtkToggleButton {
15067    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15068        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
15069            .finish()
15070    }
15071}
15072
15073#[derive(Copy, Clone)]
15074#[repr(C)]
15075pub struct GtkToggleButtonAccessible {
15076    pub parent: GtkButtonAccessible,
15077    pub priv_: *mut GtkToggleButtonAccessiblePrivate,
15078}
15079
15080impl ::std::fmt::Debug for GtkToggleButtonAccessible {
15081    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15082        f.debug_struct(&format!("GtkToggleButtonAccessible @ {self:p}"))
15083            .field("parent", &self.parent)
15084            .field("priv_", &self.priv_)
15085            .finish()
15086    }
15087}
15088
15089#[derive(Copy, Clone)]
15090#[repr(C)]
15091pub struct GtkToggleToolButton {
15092    pub parent: GtkToolButton,
15093    pub priv_: *mut GtkToggleToolButtonPrivate,
15094}
15095
15096impl ::std::fmt::Debug for GtkToggleToolButton {
15097    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15098        f.debug_struct(&format!("GtkToggleToolButton @ {self:p}"))
15099            .field("parent", &self.parent)
15100            .finish()
15101    }
15102}
15103
15104#[derive(Copy, Clone)]
15105#[repr(C)]
15106pub struct GtkToolButton {
15107    pub parent: GtkToolItem,
15108    pub priv_: *mut GtkToolButtonPrivate,
15109}
15110
15111impl ::std::fmt::Debug for GtkToolButton {
15112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15113        f.debug_struct(&format!("GtkToolButton @ {self:p}"))
15114            .field("parent", &self.parent)
15115            .finish()
15116    }
15117}
15118
15119#[derive(Copy, Clone)]
15120#[repr(C)]
15121pub struct GtkToolItem {
15122    pub parent: GtkBin,
15123    pub priv_: *mut GtkToolItemPrivate,
15124}
15125
15126impl ::std::fmt::Debug for GtkToolItem {
15127    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15128        f.debug_struct(&format!("GtkToolItem @ {self:p}"))
15129            .field("parent", &self.parent)
15130            .finish()
15131    }
15132}
15133
15134#[derive(Copy, Clone)]
15135#[repr(C)]
15136pub struct GtkToolItemGroup {
15137    pub parent_instance: GtkContainer,
15138    pub priv_: *mut GtkToolItemGroupPrivate,
15139}
15140
15141impl ::std::fmt::Debug for GtkToolItemGroup {
15142    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15143        f.debug_struct(&format!("GtkToolItemGroup @ {self:p}"))
15144            .field("parent_instance", &self.parent_instance)
15145            .field("priv_", &self.priv_)
15146            .finish()
15147    }
15148}
15149
15150#[derive(Copy, Clone)]
15151#[repr(C)]
15152pub struct GtkToolPalette {
15153    pub parent_instance: GtkContainer,
15154    pub priv_: *mut GtkToolPalettePrivate,
15155}
15156
15157impl ::std::fmt::Debug for GtkToolPalette {
15158    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15159        f.debug_struct(&format!("GtkToolPalette @ {self:p}"))
15160            .field("parent_instance", &self.parent_instance)
15161            .field("priv_", &self.priv_)
15162            .finish()
15163    }
15164}
15165
15166#[derive(Copy, Clone)]
15167#[repr(C)]
15168pub struct GtkToolbar {
15169    pub container: GtkContainer,
15170    pub priv_: *mut GtkToolbarPrivate,
15171}
15172
15173impl ::std::fmt::Debug for GtkToolbar {
15174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15175        f.debug_struct(&format!("GtkToolbar @ {self:p}"))
15176            .field("container", &self.container)
15177            .field("priv_", &self.priv_)
15178            .finish()
15179    }
15180}
15181
15182#[repr(C)]
15183pub struct GtkTooltip {
15184    _data: [u8; 0],
15185    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15186}
15187
15188impl ::std::fmt::Debug for GtkTooltip {
15189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15190        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
15191    }
15192}
15193
15194#[derive(Copy, Clone)]
15195#[repr(C)]
15196pub struct GtkToplevelAccessible {
15197    pub parent: atk::AtkObject,
15198    pub priv_: *mut GtkToplevelAccessiblePrivate,
15199}
15200
15201impl ::std::fmt::Debug for GtkToplevelAccessible {
15202    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15203        f.debug_struct(&format!("GtkToplevelAccessible @ {self:p}"))
15204            .field("parent", &self.parent)
15205            .field("priv_", &self.priv_)
15206            .finish()
15207    }
15208}
15209
15210#[derive(Copy, Clone)]
15211#[repr(C)]
15212pub struct GtkTreeModelFilter {
15213    pub parent: gobject::GObject,
15214    pub priv_: *mut GtkTreeModelFilterPrivate,
15215}
15216
15217impl ::std::fmt::Debug for GtkTreeModelFilter {
15218    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15219        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
15220            .field("parent", &self.parent)
15221            .finish()
15222    }
15223}
15224
15225#[derive(Copy, Clone)]
15226#[repr(C)]
15227pub struct GtkTreeModelSort {
15228    pub parent: gobject::GObject,
15229    pub priv_: *mut GtkTreeModelSortPrivate,
15230}
15231
15232impl ::std::fmt::Debug for GtkTreeModelSort {
15233    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15234        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
15235            .field("parent", &self.parent)
15236            .finish()
15237    }
15238}
15239
15240#[derive(Copy, Clone)]
15241#[repr(C)]
15242pub struct GtkTreeSelection {
15243    pub parent: gobject::GObject,
15244    pub priv_: *mut GtkTreeSelectionPrivate,
15245}
15246
15247impl ::std::fmt::Debug for GtkTreeSelection {
15248    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15249        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
15250            .finish()
15251    }
15252}
15253
15254#[derive(Copy, Clone)]
15255#[repr(C)]
15256pub struct GtkTreeStore {
15257    pub parent: gobject::GObject,
15258    pub priv_: *mut GtkTreeStorePrivate,
15259}
15260
15261impl ::std::fmt::Debug for GtkTreeStore {
15262    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15263        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
15264            .field("parent", &self.parent)
15265            .field("priv_", &self.priv_)
15266            .finish()
15267    }
15268}
15269
15270#[derive(Copy, Clone)]
15271#[repr(C)]
15272pub struct GtkTreeView {
15273    pub parent: GtkContainer,
15274    pub priv_: *mut GtkTreeViewPrivate,
15275}
15276
15277impl ::std::fmt::Debug for GtkTreeView {
15278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15279        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
15280            .field("parent", &self.parent)
15281            .finish()
15282    }
15283}
15284
15285#[derive(Copy, Clone)]
15286#[repr(C)]
15287pub struct GtkTreeViewAccessible {
15288    pub parent: GtkContainerAccessible,
15289    pub priv_: *mut GtkTreeViewAccessiblePrivate,
15290}
15291
15292impl ::std::fmt::Debug for GtkTreeViewAccessible {
15293    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15294        f.debug_struct(&format!("GtkTreeViewAccessible @ {self:p}"))
15295            .field("parent", &self.parent)
15296            .field("priv_", &self.priv_)
15297            .finish()
15298    }
15299}
15300
15301#[derive(Copy, Clone)]
15302#[repr(C)]
15303pub struct GtkTreeViewColumn {
15304    pub parent_instance: gobject::GInitiallyUnowned,
15305    pub priv_: *mut GtkTreeViewColumnPrivate,
15306}
15307
15308impl ::std::fmt::Debug for GtkTreeViewColumn {
15309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15310        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
15311            .field("parent_instance", &self.parent_instance)
15312            .field("priv_", &self.priv_)
15313            .finish()
15314    }
15315}
15316
15317#[derive(Copy, Clone)]
15318#[repr(C)]
15319pub struct GtkUIManager {
15320    pub parent: gobject::GObject,
15321    pub private_data: *mut GtkUIManagerPrivate,
15322}
15323
15324impl ::std::fmt::Debug for GtkUIManager {
15325    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15326        f.debug_struct(&format!("GtkUIManager @ {self:p}"))
15327            .field("parent", &self.parent)
15328            .finish()
15329    }
15330}
15331
15332#[derive(Copy, Clone)]
15333#[repr(C)]
15334pub struct GtkVBox {
15335    pub box_: GtkBox,
15336}
15337
15338impl ::std::fmt::Debug for GtkVBox {
15339    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15340        f.debug_struct(&format!("GtkVBox @ {self:p}"))
15341            .field("box_", &self.box_)
15342            .finish()
15343    }
15344}
15345
15346#[derive(Copy, Clone)]
15347#[repr(C)]
15348pub struct GtkVButtonBox {
15349    pub button_box: GtkButtonBox,
15350}
15351
15352impl ::std::fmt::Debug for GtkVButtonBox {
15353    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15354        f.debug_struct(&format!("GtkVButtonBox @ {self:p}"))
15355            .field("button_box", &self.button_box)
15356            .finish()
15357    }
15358}
15359
15360#[derive(Copy, Clone)]
15361#[repr(C)]
15362pub struct GtkVPaned {
15363    pub paned: GtkPaned,
15364}
15365
15366impl ::std::fmt::Debug for GtkVPaned {
15367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15368        f.debug_struct(&format!("GtkVPaned @ {self:p}"))
15369            .field("paned", &self.paned)
15370            .finish()
15371    }
15372}
15373
15374#[derive(Copy, Clone)]
15375#[repr(C)]
15376pub struct GtkVScale {
15377    pub scale: GtkScale,
15378}
15379
15380impl ::std::fmt::Debug for GtkVScale {
15381    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15382        f.debug_struct(&format!("GtkVScale @ {self:p}"))
15383            .field("scale", &self.scale)
15384            .finish()
15385    }
15386}
15387
15388#[derive(Copy, Clone)]
15389#[repr(C)]
15390pub struct GtkVScrollbar {
15391    pub scrollbar: GtkScrollbar,
15392}
15393
15394impl ::std::fmt::Debug for GtkVScrollbar {
15395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15396        f.debug_struct(&format!("GtkVScrollbar @ {self:p}"))
15397            .field("scrollbar", &self.scrollbar)
15398            .finish()
15399    }
15400}
15401
15402#[derive(Copy, Clone)]
15403#[repr(C)]
15404pub struct GtkVSeparator {
15405    pub separator: GtkSeparator,
15406}
15407
15408impl ::std::fmt::Debug for GtkVSeparator {
15409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15410        f.debug_struct(&format!("GtkVSeparator @ {self:p}"))
15411            .field("separator", &self.separator)
15412            .finish()
15413    }
15414}
15415
15416#[derive(Copy, Clone)]
15417#[repr(C)]
15418pub struct GtkViewport {
15419    pub bin: GtkBin,
15420    pub priv_: *mut GtkViewportPrivate,
15421}
15422
15423impl ::std::fmt::Debug for GtkViewport {
15424    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15425        f.debug_struct(&format!("GtkViewport @ {self:p}"))
15426            .field("bin", &self.bin)
15427            .finish()
15428    }
15429}
15430
15431#[derive(Copy, Clone)]
15432#[repr(C)]
15433pub struct GtkVolumeButton {
15434    pub parent: GtkScaleButton,
15435}
15436
15437impl ::std::fmt::Debug for GtkVolumeButton {
15438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15439        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
15440            .field("parent", &self.parent)
15441            .finish()
15442    }
15443}
15444
15445#[derive(Copy, Clone)]
15446#[repr(C)]
15447pub struct GtkWidget {
15448    pub parent_instance: gobject::GInitiallyUnowned,
15449    pub priv_: *mut GtkWidgetPrivate,
15450}
15451
15452impl ::std::fmt::Debug for GtkWidget {
15453    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15454        f.debug_struct(&format!("GtkWidget @ {self:p}"))
15455            .field("parent_instance", &self.parent_instance)
15456            .finish()
15457    }
15458}
15459
15460#[derive(Copy, Clone)]
15461#[repr(C)]
15462pub struct GtkWidgetAccessible {
15463    pub parent: GtkAccessible,
15464    pub priv_: *mut GtkWidgetAccessiblePrivate,
15465}
15466
15467impl ::std::fmt::Debug for GtkWidgetAccessible {
15468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15469        f.debug_struct(&format!("GtkWidgetAccessible @ {self:p}"))
15470            .field("parent", &self.parent)
15471            .field("priv_", &self.priv_)
15472            .finish()
15473    }
15474}
15475
15476#[derive(Copy, Clone)]
15477#[repr(C)]
15478pub struct GtkWindow {
15479    pub bin: GtkBin,
15480    pub priv_: *mut GtkWindowPrivate,
15481}
15482
15483impl ::std::fmt::Debug for GtkWindow {
15484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15485        f.debug_struct(&format!("GtkWindow @ {self:p}"))
15486            .field("bin", &self.bin)
15487            .field("priv_", &self.priv_)
15488            .finish()
15489    }
15490}
15491
15492#[derive(Copy, Clone)]
15493#[repr(C)]
15494pub struct GtkWindowAccessible {
15495    pub parent: GtkContainerAccessible,
15496    pub priv_: *mut GtkWindowAccessiblePrivate,
15497}
15498
15499impl ::std::fmt::Debug for GtkWindowAccessible {
15500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15501        f.debug_struct(&format!("GtkWindowAccessible @ {self:p}"))
15502            .field("parent", &self.parent)
15503            .field("priv_", &self.priv_)
15504            .finish()
15505    }
15506}
15507
15508#[derive(Copy, Clone)]
15509#[repr(C)]
15510pub struct GtkWindowGroup {
15511    pub parent_instance: gobject::GObject,
15512    pub priv_: *mut GtkWindowGroupPrivate,
15513}
15514
15515impl ::std::fmt::Debug for GtkWindowGroup {
15516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15517        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
15518            .field("parent_instance", &self.parent_instance)
15519            .field("priv_", &self.priv_)
15520            .finish()
15521    }
15522}
15523
15524// Interfaces
15525#[repr(C)]
15526pub struct GtkActionable {
15527    _data: [u8; 0],
15528    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15529}
15530
15531impl ::std::fmt::Debug for GtkActionable {
15532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15533        write!(f, "GtkActionable @ {self:p}")
15534    }
15535}
15536
15537#[repr(C)]
15538pub struct GtkActivatable {
15539    _data: [u8; 0],
15540    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15541}
15542
15543impl ::std::fmt::Debug for GtkActivatable {
15544    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15545        write!(f, "GtkActivatable @ {self:p}")
15546    }
15547}
15548
15549#[repr(C)]
15550pub struct GtkAppChooser {
15551    _data: [u8; 0],
15552    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15553}
15554
15555impl ::std::fmt::Debug for GtkAppChooser {
15556    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15557        write!(f, "GtkAppChooser @ {self:p}")
15558    }
15559}
15560
15561#[repr(C)]
15562pub struct GtkBuildable {
15563    _data: [u8; 0],
15564    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15565}
15566
15567impl ::std::fmt::Debug for GtkBuildable {
15568    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15569        write!(f, "GtkBuildable @ {self:p}")
15570    }
15571}
15572
15573#[repr(C)]
15574pub struct GtkCellAccessibleParent {
15575    _data: [u8; 0],
15576    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15577}
15578
15579impl ::std::fmt::Debug for GtkCellAccessibleParent {
15580    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15581        write!(f, "GtkCellAccessibleParent @ {self:p}")
15582    }
15583}
15584
15585#[repr(C)]
15586pub struct GtkCellEditable {
15587    _data: [u8; 0],
15588    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15589}
15590
15591impl ::std::fmt::Debug for GtkCellEditable {
15592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15593        write!(f, "GtkCellEditable @ {self:p}")
15594    }
15595}
15596
15597#[repr(C)]
15598pub struct GtkCellLayout {
15599    _data: [u8; 0],
15600    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15601}
15602
15603impl ::std::fmt::Debug for GtkCellLayout {
15604    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15605        write!(f, "GtkCellLayout @ {self:p}")
15606    }
15607}
15608
15609#[repr(C)]
15610pub struct GtkColorChooser {
15611    _data: [u8; 0],
15612    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15613}
15614
15615impl ::std::fmt::Debug for GtkColorChooser {
15616    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15617        write!(f, "GtkColorChooser @ {self:p}")
15618    }
15619}
15620
15621#[repr(C)]
15622pub struct GtkEditable {
15623    _data: [u8; 0],
15624    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15625}
15626
15627impl ::std::fmt::Debug for GtkEditable {
15628    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15629        write!(f, "GtkEditable @ {self:p}")
15630    }
15631}
15632
15633#[repr(C)]
15634pub struct GtkFileChooser {
15635    _data: [u8; 0],
15636    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15637}
15638
15639impl ::std::fmt::Debug for GtkFileChooser {
15640    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15641        write!(f, "GtkFileChooser @ {self:p}")
15642    }
15643}
15644
15645#[repr(C)]
15646pub struct GtkFontChooser {
15647    _data: [u8; 0],
15648    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15649}
15650
15651impl ::std::fmt::Debug for GtkFontChooser {
15652    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15653        write!(f, "GtkFontChooser @ {self:p}")
15654    }
15655}
15656
15657#[repr(C)]
15658pub struct GtkOrientable {
15659    _data: [u8; 0],
15660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15661}
15662
15663impl ::std::fmt::Debug for GtkOrientable {
15664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15665        write!(f, "GtkOrientable @ {self:p}")
15666    }
15667}
15668
15669#[repr(C)]
15670pub struct GtkPrintOperationPreview {
15671    _data: [u8; 0],
15672    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15673}
15674
15675impl ::std::fmt::Debug for GtkPrintOperationPreview {
15676    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15677        write!(f, "GtkPrintOperationPreview @ {self:p}")
15678    }
15679}
15680
15681#[repr(C)]
15682pub struct GtkRecentChooser {
15683    _data: [u8; 0],
15684    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15685}
15686
15687impl ::std::fmt::Debug for GtkRecentChooser {
15688    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15689        write!(f, "GtkRecentChooser @ {self:p}")
15690    }
15691}
15692
15693#[repr(C)]
15694pub struct GtkScrollable {
15695    _data: [u8; 0],
15696    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15697}
15698
15699impl ::std::fmt::Debug for GtkScrollable {
15700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15701        write!(f, "GtkScrollable @ {self:p}")
15702    }
15703}
15704
15705#[repr(C)]
15706pub struct GtkStyleProvider {
15707    _data: [u8; 0],
15708    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15709}
15710
15711impl ::std::fmt::Debug for GtkStyleProvider {
15712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15713        write!(f, "GtkStyleProvider @ {self:p}")
15714    }
15715}
15716
15717#[repr(C)]
15718pub struct GtkToolShell {
15719    _data: [u8; 0],
15720    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15721}
15722
15723impl ::std::fmt::Debug for GtkToolShell {
15724    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15725        write!(f, "GtkToolShell @ {self:p}")
15726    }
15727}
15728
15729#[repr(C)]
15730pub struct GtkTreeDragDest {
15731    _data: [u8; 0],
15732    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15733}
15734
15735impl ::std::fmt::Debug for GtkTreeDragDest {
15736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15737        write!(f, "GtkTreeDragDest @ {self:p}")
15738    }
15739}
15740
15741#[repr(C)]
15742pub struct GtkTreeDragSource {
15743    _data: [u8; 0],
15744    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15745}
15746
15747impl ::std::fmt::Debug for GtkTreeDragSource {
15748    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15749        write!(f, "GtkTreeDragSource @ {self:p}")
15750    }
15751}
15752
15753#[repr(C)]
15754pub struct GtkTreeModel {
15755    _data: [u8; 0],
15756    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15757}
15758
15759impl ::std::fmt::Debug for GtkTreeModel {
15760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15761        write!(f, "GtkTreeModel @ {self:p}")
15762    }
15763}
15764
15765#[repr(C)]
15766pub struct GtkTreeSortable {
15767    _data: [u8; 0],
15768    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
15769}
15770
15771impl ::std::fmt::Debug for GtkTreeSortable {
15772    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15773        write!(f, "GtkTreeSortable @ {self:p}")
15774    }
15775}
15776
15777#[link(name = "gtk-3")]
15778extern "C" {
15779
15780    //=========================================================================
15781    // GtkAlign
15782    //=========================================================================
15783    pub fn gtk_align_get_type() -> GType;
15784
15785    //=========================================================================
15786    // GtkArrowPlacement
15787    //=========================================================================
15788    pub fn gtk_arrow_placement_get_type() -> GType;
15789
15790    //=========================================================================
15791    // GtkArrowType
15792    //=========================================================================
15793    pub fn gtk_arrow_type_get_type() -> GType;
15794
15795    //=========================================================================
15796    // GtkAssistantPageType
15797    //=========================================================================
15798    pub fn gtk_assistant_page_type_get_type() -> GType;
15799
15800    //=========================================================================
15801    // GtkBaselinePosition
15802    //=========================================================================
15803    pub fn gtk_baseline_position_get_type() -> GType;
15804
15805    //=========================================================================
15806    // GtkBorderStyle
15807    //=========================================================================
15808    pub fn gtk_border_style_get_type() -> GType;
15809
15810    //=========================================================================
15811    // GtkBuilderError
15812    //=========================================================================
15813    pub fn gtk_builder_error_get_type() -> GType;
15814    pub fn gtk_builder_error_quark() -> glib::GQuark;
15815
15816    //=========================================================================
15817    // GtkButtonBoxStyle
15818    //=========================================================================
15819    pub fn gtk_button_box_style_get_type() -> GType;
15820
15821    //=========================================================================
15822    // GtkButtonRole
15823    //=========================================================================
15824    pub fn gtk_button_role_get_type() -> GType;
15825
15826    //=========================================================================
15827    // GtkButtonsType
15828    //=========================================================================
15829    pub fn gtk_buttons_type_get_type() -> GType;
15830
15831    //=========================================================================
15832    // GtkCellRendererAccelMode
15833    //=========================================================================
15834    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
15835
15836    //=========================================================================
15837    // GtkCellRendererMode
15838    //=========================================================================
15839    pub fn gtk_cell_renderer_mode_get_type() -> GType;
15840
15841    //=========================================================================
15842    // GtkCornerType
15843    //=========================================================================
15844    pub fn gtk_corner_type_get_type() -> GType;
15845
15846    //=========================================================================
15847    // GtkCssProviderError
15848    //=========================================================================
15849    pub fn gtk_css_provider_error_get_type() -> GType;
15850    pub fn gtk_css_provider_error_quark() -> glib::GQuark;
15851
15852    //=========================================================================
15853    // GtkCssSectionType
15854    //=========================================================================
15855    pub fn gtk_css_section_type_get_type() -> GType;
15856
15857    //=========================================================================
15858    // GtkDeleteType
15859    //=========================================================================
15860    pub fn gtk_delete_type_get_type() -> GType;
15861
15862    //=========================================================================
15863    // GtkDirectionType
15864    //=========================================================================
15865    pub fn gtk_direction_type_get_type() -> GType;
15866
15867    //=========================================================================
15868    // GtkDragResult
15869    //=========================================================================
15870    pub fn gtk_drag_result_get_type() -> GType;
15871
15872    //=========================================================================
15873    // GtkEntryIconPosition
15874    //=========================================================================
15875    pub fn gtk_entry_icon_position_get_type() -> GType;
15876
15877    //=========================================================================
15878    // GtkEventSequenceState
15879    //=========================================================================
15880    pub fn gtk_event_sequence_state_get_type() -> GType;
15881
15882    //=========================================================================
15883    // GtkExpanderStyle
15884    //=========================================================================
15885    pub fn gtk_expander_style_get_type() -> GType;
15886
15887    //=========================================================================
15888    // GtkFileChooserAction
15889    //=========================================================================
15890    pub fn gtk_file_chooser_action_get_type() -> GType;
15891
15892    //=========================================================================
15893    // GtkFileChooserConfirmation
15894    //=========================================================================
15895    pub fn gtk_file_chooser_confirmation_get_type() -> GType;
15896
15897    //=========================================================================
15898    // GtkFileChooserError
15899    //=========================================================================
15900    pub fn gtk_file_chooser_error_get_type() -> GType;
15901    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
15902
15903    //=========================================================================
15904    // GtkIMPreeditStyle
15905    //=========================================================================
15906    pub fn gtk_im_preedit_style_get_type() -> GType;
15907
15908    //=========================================================================
15909    // GtkIMStatusStyle
15910    //=========================================================================
15911    pub fn gtk_im_status_style_get_type() -> GType;
15912
15913    //=========================================================================
15914    // GtkIconSize
15915    //=========================================================================
15916    pub fn gtk_icon_size_get_type() -> GType;
15917    pub fn gtk_icon_size_from_name(name: *const c_char) -> GtkIconSize;
15918    pub fn gtk_icon_size_get_name(size: GtkIconSize) -> *const c_char;
15919    pub fn gtk_icon_size_lookup(
15920        size: GtkIconSize,
15921        width: *mut c_int,
15922        height: *mut c_int,
15923    ) -> gboolean;
15924    pub fn gtk_icon_size_lookup_for_settings(
15925        settings: *mut GtkSettings,
15926        size: GtkIconSize,
15927        width: *mut c_int,
15928        height: *mut c_int,
15929    ) -> gboolean;
15930    pub fn gtk_icon_size_register(name: *const c_char, width: c_int, height: c_int) -> GtkIconSize;
15931    pub fn gtk_icon_size_register_alias(alias: *const c_char, target: GtkIconSize);
15932
15933    //=========================================================================
15934    // GtkIconThemeError
15935    //=========================================================================
15936    pub fn gtk_icon_theme_error_get_type() -> GType;
15937    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
15938
15939    //=========================================================================
15940    // GtkIconViewDropPosition
15941    //=========================================================================
15942    pub fn gtk_icon_view_drop_position_get_type() -> GType;
15943
15944    //=========================================================================
15945    // GtkImageType
15946    //=========================================================================
15947    pub fn gtk_image_type_get_type() -> GType;
15948
15949    //=========================================================================
15950    // GtkInputPurpose
15951    //=========================================================================
15952    pub fn gtk_input_purpose_get_type() -> GType;
15953
15954    //=========================================================================
15955    // GtkJustification
15956    //=========================================================================
15957    pub fn gtk_justification_get_type() -> GType;
15958
15959    //=========================================================================
15960    // GtkLevelBarMode
15961    //=========================================================================
15962    pub fn gtk_level_bar_mode_get_type() -> GType;
15963
15964    //=========================================================================
15965    // GtkLicense
15966    //=========================================================================
15967    pub fn gtk_license_get_type() -> GType;
15968
15969    //=========================================================================
15970    // GtkMenuDirectionType
15971    //=========================================================================
15972    pub fn gtk_menu_direction_type_get_type() -> GType;
15973
15974    //=========================================================================
15975    // GtkMessageType
15976    //=========================================================================
15977    pub fn gtk_message_type_get_type() -> GType;
15978
15979    //=========================================================================
15980    // GtkMovementStep
15981    //=========================================================================
15982    pub fn gtk_movement_step_get_type() -> GType;
15983
15984    //=========================================================================
15985    // GtkNotebookTab
15986    //=========================================================================
15987    pub fn gtk_notebook_tab_get_type() -> GType;
15988
15989    //=========================================================================
15990    // GtkNumberUpLayout
15991    //=========================================================================
15992    pub fn gtk_number_up_layout_get_type() -> GType;
15993
15994    //=========================================================================
15995    // GtkOrientation
15996    //=========================================================================
15997    pub fn gtk_orientation_get_type() -> GType;
15998
15999    //=========================================================================
16000    // GtkPackDirection
16001    //=========================================================================
16002    pub fn gtk_pack_direction_get_type() -> GType;
16003
16004    //=========================================================================
16005    // GtkPackType
16006    //=========================================================================
16007    pub fn gtk_pack_type_get_type() -> GType;
16008
16009    //=========================================================================
16010    // GtkPadActionType
16011    //=========================================================================
16012    pub fn gtk_pad_action_type_get_type() -> GType;
16013
16014    //=========================================================================
16015    // GtkPageOrientation
16016    //=========================================================================
16017    pub fn gtk_page_orientation_get_type() -> GType;
16018
16019    //=========================================================================
16020    // GtkPageSet
16021    //=========================================================================
16022    pub fn gtk_page_set_get_type() -> GType;
16023
16024    //=========================================================================
16025    // GtkPanDirection
16026    //=========================================================================
16027    pub fn gtk_pan_direction_get_type() -> GType;
16028
16029    //=========================================================================
16030    // GtkPathPriorityType
16031    //=========================================================================
16032    pub fn gtk_path_priority_type_get_type() -> GType;
16033
16034    //=========================================================================
16035    // GtkPathType
16036    //=========================================================================
16037    pub fn gtk_path_type_get_type() -> GType;
16038
16039    //=========================================================================
16040    // GtkPolicyType
16041    //=========================================================================
16042    pub fn gtk_policy_type_get_type() -> GType;
16043
16044    //=========================================================================
16045    // GtkPopoverConstraint
16046    //=========================================================================
16047    pub fn gtk_popover_constraint_get_type() -> GType;
16048
16049    //=========================================================================
16050    // GtkPositionType
16051    //=========================================================================
16052    pub fn gtk_position_type_get_type() -> GType;
16053
16054    //=========================================================================
16055    // GtkPrintDuplex
16056    //=========================================================================
16057    pub fn gtk_print_duplex_get_type() -> GType;
16058
16059    //=========================================================================
16060    // GtkPrintError
16061    //=========================================================================
16062    pub fn gtk_print_error_get_type() -> GType;
16063    pub fn gtk_print_error_quark() -> glib::GQuark;
16064
16065    //=========================================================================
16066    // GtkPrintOperationAction
16067    //=========================================================================
16068    pub fn gtk_print_operation_action_get_type() -> GType;
16069
16070    //=========================================================================
16071    // GtkPrintOperationResult
16072    //=========================================================================
16073    pub fn gtk_print_operation_result_get_type() -> GType;
16074
16075    //=========================================================================
16076    // GtkPrintPages
16077    //=========================================================================
16078    pub fn gtk_print_pages_get_type() -> GType;
16079
16080    //=========================================================================
16081    // GtkPrintQuality
16082    //=========================================================================
16083    pub fn gtk_print_quality_get_type() -> GType;
16084
16085    //=========================================================================
16086    // GtkPrintStatus
16087    //=========================================================================
16088    pub fn gtk_print_status_get_type() -> GType;
16089
16090    //=========================================================================
16091    // GtkPropagationPhase
16092    //=========================================================================
16093    pub fn gtk_propagation_phase_get_type() -> GType;
16094
16095    //=========================================================================
16096    // GtkRcTokenType
16097    //=========================================================================
16098    pub fn gtk_rc_token_type_get_type() -> GType;
16099
16100    //=========================================================================
16101    // GtkRecentChooserError
16102    //=========================================================================
16103    pub fn gtk_recent_chooser_error_get_type() -> GType;
16104    pub fn gtk_recent_chooser_error_quark() -> glib::GQuark;
16105
16106    //=========================================================================
16107    // GtkRecentManagerError
16108    //=========================================================================
16109    pub fn gtk_recent_manager_error_get_type() -> GType;
16110    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
16111
16112    //=========================================================================
16113    // GtkRecentSortType
16114    //=========================================================================
16115    pub fn gtk_recent_sort_type_get_type() -> GType;
16116
16117    //=========================================================================
16118    // GtkReliefStyle
16119    //=========================================================================
16120    pub fn gtk_relief_style_get_type() -> GType;
16121
16122    //=========================================================================
16123    // GtkResizeMode
16124    //=========================================================================
16125    pub fn gtk_resize_mode_get_type() -> GType;
16126
16127    //=========================================================================
16128    // GtkResponseType
16129    //=========================================================================
16130    pub fn gtk_response_type_get_type() -> GType;
16131
16132    //=========================================================================
16133    // GtkRevealerTransitionType
16134    //=========================================================================
16135    pub fn gtk_revealer_transition_type_get_type() -> GType;
16136
16137    //=========================================================================
16138    // GtkScrollStep
16139    //=========================================================================
16140    pub fn gtk_scroll_step_get_type() -> GType;
16141
16142    //=========================================================================
16143    // GtkScrollType
16144    //=========================================================================
16145    pub fn gtk_scroll_type_get_type() -> GType;
16146
16147    //=========================================================================
16148    // GtkScrollablePolicy
16149    //=========================================================================
16150    pub fn gtk_scrollable_policy_get_type() -> GType;
16151
16152    //=========================================================================
16153    // GtkSelectionMode
16154    //=========================================================================
16155    pub fn gtk_selection_mode_get_type() -> GType;
16156
16157    //=========================================================================
16158    // GtkSensitivityType
16159    //=========================================================================
16160    pub fn gtk_sensitivity_type_get_type() -> GType;
16161
16162    //=========================================================================
16163    // GtkShadowType
16164    //=========================================================================
16165    pub fn gtk_shadow_type_get_type() -> GType;
16166
16167    //=========================================================================
16168    // GtkShortcutType
16169    //=========================================================================
16170    pub fn gtk_shortcut_type_get_type() -> GType;
16171
16172    //=========================================================================
16173    // GtkSizeGroupMode
16174    //=========================================================================
16175    pub fn gtk_size_group_mode_get_type() -> GType;
16176
16177    //=========================================================================
16178    // GtkSizeRequestMode
16179    //=========================================================================
16180    pub fn gtk_size_request_mode_get_type() -> GType;
16181
16182    //=========================================================================
16183    // GtkSortType
16184    //=========================================================================
16185    pub fn gtk_sort_type_get_type() -> GType;
16186
16187    //=========================================================================
16188    // GtkSpinButtonUpdatePolicy
16189    //=========================================================================
16190    pub fn gtk_spin_button_update_policy_get_type() -> GType;
16191
16192    //=========================================================================
16193    // GtkSpinType
16194    //=========================================================================
16195    pub fn gtk_spin_type_get_type() -> GType;
16196
16197    //=========================================================================
16198    // GtkStackTransitionType
16199    //=========================================================================
16200    pub fn gtk_stack_transition_type_get_type() -> GType;
16201
16202    //=========================================================================
16203    // GtkStateType
16204    //=========================================================================
16205    pub fn gtk_state_type_get_type() -> GType;
16206
16207    //=========================================================================
16208    // GtkTextBufferTargetInfo
16209    //=========================================================================
16210    pub fn gtk_text_buffer_target_info_get_type() -> GType;
16211
16212    //=========================================================================
16213    // GtkTextDirection
16214    //=========================================================================
16215    pub fn gtk_text_direction_get_type() -> GType;
16216
16217    //=========================================================================
16218    // GtkTextExtendSelection
16219    //=========================================================================
16220    pub fn gtk_text_extend_selection_get_type() -> GType;
16221
16222    //=========================================================================
16223    // GtkTextViewLayer
16224    //=========================================================================
16225    pub fn gtk_text_view_layer_get_type() -> GType;
16226
16227    //=========================================================================
16228    // GtkTextWindowType
16229    //=========================================================================
16230    pub fn gtk_text_window_type_get_type() -> GType;
16231
16232    //=========================================================================
16233    // GtkToolbarSpaceStyle
16234    //=========================================================================
16235    pub fn gtk_toolbar_space_style_get_type() -> GType;
16236
16237    //=========================================================================
16238    // GtkToolbarStyle
16239    //=========================================================================
16240    pub fn gtk_toolbar_style_get_type() -> GType;
16241
16242    //=========================================================================
16243    // GtkTreeViewColumnSizing
16244    //=========================================================================
16245    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
16246
16247    //=========================================================================
16248    // GtkTreeViewDropPosition
16249    //=========================================================================
16250    pub fn gtk_tree_view_drop_position_get_type() -> GType;
16251
16252    //=========================================================================
16253    // GtkTreeViewGridLines
16254    //=========================================================================
16255    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
16256
16257    //=========================================================================
16258    // GtkUnit
16259    //=========================================================================
16260    pub fn gtk_unit_get_type() -> GType;
16261
16262    //=========================================================================
16263    // GtkWidgetHelpType
16264    //=========================================================================
16265    pub fn gtk_widget_help_type_get_type() -> GType;
16266
16267    //=========================================================================
16268    // GtkWindowPosition
16269    //=========================================================================
16270    pub fn gtk_window_position_get_type() -> GType;
16271
16272    //=========================================================================
16273    // GtkWindowType
16274    //=========================================================================
16275    pub fn gtk_window_type_get_type() -> GType;
16276
16277    //=========================================================================
16278    // GtkWrapMode
16279    //=========================================================================
16280    pub fn gtk_wrap_mode_get_type() -> GType;
16281
16282    //=========================================================================
16283    // GtkAccelFlags
16284    //=========================================================================
16285    pub fn gtk_accel_flags_get_type() -> GType;
16286
16287    //=========================================================================
16288    // GtkApplicationInhibitFlags
16289    //=========================================================================
16290    pub fn gtk_application_inhibit_flags_get_type() -> GType;
16291
16292    //=========================================================================
16293    // GtkAttachOptions
16294    //=========================================================================
16295    pub fn gtk_attach_options_get_type() -> GType;
16296
16297    //=========================================================================
16298    // GtkCalendarDisplayOptions
16299    //=========================================================================
16300    pub fn gtk_calendar_display_options_get_type() -> GType;
16301
16302    //=========================================================================
16303    // GtkCellRendererState
16304    //=========================================================================
16305    pub fn gtk_cell_renderer_state_get_type() -> GType;
16306
16307    //=========================================================================
16308    // GtkDebugFlag
16309    //=========================================================================
16310    pub fn gtk_debug_flag_get_type() -> GType;
16311
16312    //=========================================================================
16313    // GtkDestDefaults
16314    //=========================================================================
16315    pub fn gtk_dest_defaults_get_type() -> GType;
16316
16317    //=========================================================================
16318    // GtkDialogFlags
16319    //=========================================================================
16320    pub fn gtk_dialog_flags_get_type() -> GType;
16321
16322    //=========================================================================
16323    // GtkEventControllerScrollFlags
16324    //=========================================================================
16325    #[cfg(feature = "v3_24")]
16326    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
16327    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
16328
16329    //=========================================================================
16330    // GtkFileFilterFlags
16331    //=========================================================================
16332    pub fn gtk_file_filter_flags_get_type() -> GType;
16333
16334    //=========================================================================
16335    // GtkFontChooserLevel
16336    //=========================================================================
16337    #[cfg(feature = "v3_24")]
16338    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
16339    pub fn gtk_font_chooser_level_get_type() -> GType;
16340
16341    //=========================================================================
16342    // GtkIconLookupFlags
16343    //=========================================================================
16344    pub fn gtk_icon_lookup_flags_get_type() -> GType;
16345
16346    //=========================================================================
16347    // GtkInputHints
16348    //=========================================================================
16349    pub fn gtk_input_hints_get_type() -> GType;
16350
16351    //=========================================================================
16352    // GtkJunctionSides
16353    //=========================================================================
16354    pub fn gtk_junction_sides_get_type() -> GType;
16355
16356    //=========================================================================
16357    // GtkPlacesOpenFlags
16358    //=========================================================================
16359    pub fn gtk_places_open_flags_get_type() -> GType;
16360
16361    //=========================================================================
16362    // GtkRcFlags
16363    //=========================================================================
16364    pub fn gtk_rc_flags_get_type() -> GType;
16365
16366    //=========================================================================
16367    // GtkRecentFilterFlags
16368    //=========================================================================
16369    pub fn gtk_recent_filter_flags_get_type() -> GType;
16370
16371    //=========================================================================
16372    // GtkRegionFlags
16373    //=========================================================================
16374    pub fn gtk_region_flags_get_type() -> GType;
16375
16376    //=========================================================================
16377    // GtkStateFlags
16378    //=========================================================================
16379    pub fn gtk_state_flags_get_type() -> GType;
16380
16381    //=========================================================================
16382    // GtkStyleContextPrintFlags
16383    //=========================================================================
16384    pub fn gtk_style_context_print_flags_get_type() -> GType;
16385
16386    //=========================================================================
16387    // GtkTargetFlags
16388    //=========================================================================
16389    pub fn gtk_target_flags_get_type() -> GType;
16390
16391    //=========================================================================
16392    // GtkTextSearchFlags
16393    //=========================================================================
16394    pub fn gtk_text_search_flags_get_type() -> GType;
16395
16396    //=========================================================================
16397    // GtkToolPaletteDragTargets
16398    //=========================================================================
16399    pub fn gtk_tool_palette_drag_targets_get_type() -> GType;
16400
16401    //=========================================================================
16402    // GtkTreeModelFlags
16403    //=========================================================================
16404    pub fn gtk_tree_model_flags_get_type() -> GType;
16405
16406    //=========================================================================
16407    // GtkUIManagerItemType
16408    //=========================================================================
16409    pub fn gtk_ui_manager_item_type_get_type() -> GType;
16410
16411    //=========================================================================
16412    // GtkBindingEntry
16413    //=========================================================================
16414    pub fn gtk_binding_entry_add_signal(
16415        binding_set: *mut GtkBindingSet,
16416        keyval: c_uint,
16417        modifiers: gdk::GdkModifierType,
16418        signal_name: *const c_char,
16419        n_args: c_uint,
16420        ...
16421    );
16422    pub fn gtk_binding_entry_add_signal_from_string(
16423        binding_set: *mut GtkBindingSet,
16424        signal_desc: *const c_char,
16425    ) -> glib::GTokenType;
16426    pub fn gtk_binding_entry_add_signall(
16427        binding_set: *mut GtkBindingSet,
16428        keyval: c_uint,
16429        modifiers: gdk::GdkModifierType,
16430        signal_name: *const c_char,
16431        binding_args: *mut glib::GSList,
16432    );
16433    pub fn gtk_binding_entry_remove(
16434        binding_set: *mut GtkBindingSet,
16435        keyval: c_uint,
16436        modifiers: gdk::GdkModifierType,
16437    );
16438    pub fn gtk_binding_entry_skip(
16439        binding_set: *mut GtkBindingSet,
16440        keyval: c_uint,
16441        modifiers: gdk::GdkModifierType,
16442    );
16443
16444    //=========================================================================
16445    // GtkBindingSet
16446    //=========================================================================
16447    pub fn gtk_binding_set_activate(
16448        binding_set: *mut GtkBindingSet,
16449        keyval: c_uint,
16450        modifiers: gdk::GdkModifierType,
16451        object: *mut gobject::GObject,
16452    ) -> gboolean;
16453    pub fn gtk_binding_set_add_path(
16454        binding_set: *mut GtkBindingSet,
16455        path_type: GtkPathType,
16456        path_pattern: *const c_char,
16457        priority: GtkPathPriorityType,
16458    );
16459    pub fn gtk_binding_set_by_class(object_class: gpointer) -> *mut GtkBindingSet;
16460    pub fn gtk_binding_set_find(set_name: *const c_char) -> *mut GtkBindingSet;
16461    pub fn gtk_binding_set_new(set_name: *const c_char) -> *mut GtkBindingSet;
16462
16463    //=========================================================================
16464    // GtkBorder
16465    //=========================================================================
16466    pub fn gtk_border_get_type() -> GType;
16467    pub fn gtk_border_new() -> *mut GtkBorder;
16468    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
16469    pub fn gtk_border_free(border_: *mut GtkBorder);
16470
16471    //=========================================================================
16472    // GtkCellAreaClass
16473    //=========================================================================
16474    pub fn gtk_cell_area_class_find_cell_property(
16475        aclass: *mut GtkCellAreaClass,
16476        property_name: *const c_char,
16477    ) -> *mut gobject::GParamSpec;
16478    pub fn gtk_cell_area_class_install_cell_property(
16479        aclass: *mut GtkCellAreaClass,
16480        property_id: c_uint,
16481        pspec: *mut gobject::GParamSpec,
16482    );
16483    pub fn gtk_cell_area_class_list_cell_properties(
16484        aclass: *mut GtkCellAreaClass,
16485        n_properties: *mut c_uint,
16486    ) -> *mut *mut gobject::GParamSpec;
16487
16488    //=========================================================================
16489    // GtkCellRendererClass
16490    //=========================================================================
16491    pub fn gtk_cell_renderer_class_set_accessible_type(
16492        renderer_class: *mut GtkCellRendererClass,
16493        type_: GType,
16494    );
16495
16496    //=========================================================================
16497    // GtkContainerClass
16498    //=========================================================================
16499    //pub fn gtk_container_class_find_child_property(cclass: /*Metadata mismatch*/*mut [c:type mismatch `GObjectClass` != `GtkContainerClass` of `ContainerClass`], property_name: *const c_char) -> *mut gobject::GParamSpec;
16500    pub fn gtk_container_class_handle_border_width(klass: *mut GtkContainerClass);
16501    pub fn gtk_container_class_install_child_properties(
16502        cclass: *mut GtkContainerClass,
16503        n_pspecs: c_uint,
16504        pspecs: *mut *mut gobject::GParamSpec,
16505    );
16506    pub fn gtk_container_class_install_child_property(
16507        cclass: *mut GtkContainerClass,
16508        property_id: c_uint,
16509        pspec: *mut gobject::GParamSpec,
16510    );
16511    //pub fn gtk_container_class_list_child_properties(cclass: /*Metadata mismatch*/*mut [c:type mismatch `GObjectClass` != `GtkContainerClass` of `ContainerClass`], n_properties: *mut c_uint) -> *mut *mut gobject::GParamSpec;
16512
16513    //=========================================================================
16514    // GtkCssSection
16515    //=========================================================================
16516    pub fn gtk_css_section_get_type() -> GType;
16517    pub fn gtk_css_section_get_end_line(section: *const GtkCssSection) -> c_uint;
16518    pub fn gtk_css_section_get_end_position(section: *const GtkCssSection) -> c_uint;
16519    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
16520    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
16521    pub fn gtk_css_section_get_section_type(section: *const GtkCssSection) -> GtkCssSectionType;
16522    pub fn gtk_css_section_get_start_line(section: *const GtkCssSection) -> c_uint;
16523    pub fn gtk_css_section_get_start_position(section: *const GtkCssSection) -> c_uint;
16524    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
16525    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
16526
16527    //=========================================================================
16528    // GtkGradient
16529    //=========================================================================
16530    pub fn gtk_gradient_get_type() -> GType;
16531    pub fn gtk_gradient_new_linear(
16532        x0: c_double,
16533        y0: c_double,
16534        x1: c_double,
16535        y1: c_double,
16536    ) -> *mut GtkGradient;
16537    pub fn gtk_gradient_new_radial(
16538        x0: c_double,
16539        y0: c_double,
16540        radius0: c_double,
16541        x1: c_double,
16542        y1: c_double,
16543        radius1: c_double,
16544    ) -> *mut GtkGradient;
16545    pub fn gtk_gradient_add_color_stop(
16546        gradient: *mut GtkGradient,
16547        offset: c_double,
16548        color: *mut GtkSymbolicColor,
16549    );
16550    pub fn gtk_gradient_ref(gradient: *mut GtkGradient) -> *mut GtkGradient;
16551    pub fn gtk_gradient_resolve(
16552        gradient: *mut GtkGradient,
16553        props: *mut GtkStyleProperties,
16554        resolved_gradient: *mut *mut cairo::cairo_pattern_t,
16555    ) -> gboolean;
16556    pub fn gtk_gradient_resolve_for_context(
16557        gradient: *mut GtkGradient,
16558        context: *mut GtkStyleContext,
16559    ) -> *mut cairo::cairo_pattern_t;
16560    pub fn gtk_gradient_to_string(gradient: *mut GtkGradient) -> *mut c_char;
16561    pub fn gtk_gradient_unref(gradient: *mut GtkGradient);
16562
16563    //=========================================================================
16564    // GtkIconSet
16565    //=========================================================================
16566    pub fn gtk_icon_set_get_type() -> GType;
16567    pub fn gtk_icon_set_new() -> *mut GtkIconSet;
16568    pub fn gtk_icon_set_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkIconSet;
16569    pub fn gtk_icon_set_add_source(icon_set: *mut GtkIconSet, source: *const GtkIconSource);
16570    pub fn gtk_icon_set_copy(icon_set: *mut GtkIconSet) -> *mut GtkIconSet;
16571    pub fn gtk_icon_set_get_sizes(
16572        icon_set: *mut GtkIconSet,
16573        sizes: *mut *mut GtkIconSize,
16574        n_sizes: *mut c_int,
16575    );
16576    pub fn gtk_icon_set_ref(icon_set: *mut GtkIconSet) -> *mut GtkIconSet;
16577    pub fn gtk_icon_set_render_icon(
16578        icon_set: *mut GtkIconSet,
16579        style: *mut GtkStyle,
16580        direction: GtkTextDirection,
16581        state: GtkStateType,
16582        size: GtkIconSize,
16583        widget: *mut GtkWidget,
16584        detail: *const c_char,
16585    ) -> *mut gdk_pixbuf::GdkPixbuf;
16586    pub fn gtk_icon_set_render_icon_pixbuf(
16587        icon_set: *mut GtkIconSet,
16588        context: *mut GtkStyleContext,
16589        size: GtkIconSize,
16590    ) -> *mut gdk_pixbuf::GdkPixbuf;
16591    pub fn gtk_icon_set_render_icon_surface(
16592        icon_set: *mut GtkIconSet,
16593        context: *mut GtkStyleContext,
16594        size: GtkIconSize,
16595        scale: c_int,
16596        for_window: *mut gdk::GdkWindow,
16597    ) -> *mut cairo::cairo_surface_t;
16598    pub fn gtk_icon_set_unref(icon_set: *mut GtkIconSet);
16599
16600    //=========================================================================
16601    // GtkIconSource
16602    //=========================================================================
16603    pub fn gtk_icon_source_get_type() -> GType;
16604    pub fn gtk_icon_source_new() -> *mut GtkIconSource;
16605    pub fn gtk_icon_source_copy(source: *const GtkIconSource) -> *mut GtkIconSource;
16606    pub fn gtk_icon_source_free(source: *mut GtkIconSource);
16607    pub fn gtk_icon_source_get_direction(source: *const GtkIconSource) -> GtkTextDirection;
16608    pub fn gtk_icon_source_get_direction_wildcarded(source: *const GtkIconSource) -> gboolean;
16609    pub fn gtk_icon_source_get_filename(source: *const GtkIconSource) -> *const c_char;
16610    pub fn gtk_icon_source_get_icon_name(source: *const GtkIconSource) -> *const c_char;
16611    pub fn gtk_icon_source_get_pixbuf(source: *const GtkIconSource) -> *mut gdk_pixbuf::GdkPixbuf;
16612    pub fn gtk_icon_source_get_size(source: *const GtkIconSource) -> GtkIconSize;
16613    pub fn gtk_icon_source_get_size_wildcarded(source: *const GtkIconSource) -> gboolean;
16614    pub fn gtk_icon_source_get_state(source: *const GtkIconSource) -> GtkStateType;
16615    pub fn gtk_icon_source_get_state_wildcarded(source: *const GtkIconSource) -> gboolean;
16616    pub fn gtk_icon_source_set_direction(source: *mut GtkIconSource, direction: GtkTextDirection);
16617    pub fn gtk_icon_source_set_direction_wildcarded(source: *mut GtkIconSource, setting: gboolean);
16618    pub fn gtk_icon_source_set_filename(source: *mut GtkIconSource, filename: *const c_char);
16619    pub fn gtk_icon_source_set_icon_name(source: *mut GtkIconSource, icon_name: *const c_char);
16620    pub fn gtk_icon_source_set_pixbuf(
16621        source: *mut GtkIconSource,
16622        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
16623    );
16624    pub fn gtk_icon_source_set_size(source: *mut GtkIconSource, size: GtkIconSize);
16625    pub fn gtk_icon_source_set_size_wildcarded(source: *mut GtkIconSource, setting: gboolean);
16626    pub fn gtk_icon_source_set_state(source: *mut GtkIconSource, state: GtkStateType);
16627    pub fn gtk_icon_source_set_state_wildcarded(source: *mut GtkIconSource, setting: gboolean);
16628
16629    //=========================================================================
16630    // GtkPaperSize
16631    //=========================================================================
16632    pub fn gtk_paper_size_get_type() -> GType;
16633    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
16634    pub fn gtk_paper_size_new_custom(
16635        name: *const c_char,
16636        display_name: *const c_char,
16637        width: c_double,
16638        height: c_double,
16639        unit: GtkUnit,
16640    ) -> *mut GtkPaperSize;
16641    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
16642    pub fn gtk_paper_size_new_from_ipp(
16643        ipp_name: *const c_char,
16644        width: c_double,
16645        height: c_double,
16646    ) -> *mut GtkPaperSize;
16647    pub fn gtk_paper_size_new_from_key_file(
16648        key_file: *mut glib::GKeyFile,
16649        group_name: *const c_char,
16650        error: *mut *mut glib::GError,
16651    ) -> *mut GtkPaperSize;
16652    pub fn gtk_paper_size_new_from_ppd(
16653        ppd_name: *const c_char,
16654        ppd_display_name: *const c_char,
16655        width: c_double,
16656        height: c_double,
16657    ) -> *mut GtkPaperSize;
16658    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
16659    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
16660    pub fn gtk_paper_size_get_default_bottom_margin(
16661        size: *mut GtkPaperSize,
16662        unit: GtkUnit,
16663    ) -> c_double;
16664    pub fn gtk_paper_size_get_default_left_margin(
16665        size: *mut GtkPaperSize,
16666        unit: GtkUnit,
16667    ) -> c_double;
16668    pub fn gtk_paper_size_get_default_right_margin(
16669        size: *mut GtkPaperSize,
16670        unit: GtkUnit,
16671    ) -> c_double;
16672    pub fn gtk_paper_size_get_default_top_margin(
16673        size: *mut GtkPaperSize,
16674        unit: GtkUnit,
16675    ) -> c_double;
16676    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
16677    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
16678    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
16679    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
16680    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
16681    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
16682    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
16683    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
16684    pub fn gtk_paper_size_set_size(
16685        size: *mut GtkPaperSize,
16686        width: c_double,
16687        height: c_double,
16688        unit: GtkUnit,
16689    );
16690    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
16691    pub fn gtk_paper_size_to_key_file(
16692        size: *mut GtkPaperSize,
16693        key_file: *mut glib::GKeyFile,
16694        group_name: *const c_char,
16695    );
16696    pub fn gtk_paper_size_get_default() -> *const c_char;
16697    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
16698
16699    //=========================================================================
16700    // GtkRcProperty
16701    //=========================================================================
16702    pub fn gtk_rc_property_parse_border(
16703        pspec: *const gobject::GParamSpec,
16704        gstring: *const glib::GString,
16705        property_value: *mut gobject::GValue,
16706    ) -> gboolean;
16707    pub fn gtk_rc_property_parse_color(
16708        pspec: *const gobject::GParamSpec,
16709        gstring: *const glib::GString,
16710        property_value: *mut gobject::GValue,
16711    ) -> gboolean;
16712    pub fn gtk_rc_property_parse_enum(
16713        pspec: *const gobject::GParamSpec,
16714        gstring: *const glib::GString,
16715        property_value: *mut gobject::GValue,
16716    ) -> gboolean;
16717    pub fn gtk_rc_property_parse_flags(
16718        pspec: *const gobject::GParamSpec,
16719        gstring: *const glib::GString,
16720        property_value: *mut gobject::GValue,
16721    ) -> gboolean;
16722    pub fn gtk_rc_property_parse_requisition(
16723        pspec: *const gobject::GParamSpec,
16724        gstring: *const glib::GString,
16725        property_value: *mut gobject::GValue,
16726    ) -> gboolean;
16727
16728    //=========================================================================
16729    // GtkRecentInfo
16730    //=========================================================================
16731    pub fn gtk_recent_info_get_type() -> GType;
16732    pub fn gtk_recent_info_create_app_info(
16733        info: *mut GtkRecentInfo,
16734        app_name: *const c_char,
16735        error: *mut *mut glib::GError,
16736    ) -> *mut gio::GAppInfo;
16737    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
16738    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> c_long;
16739    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
16740    pub fn gtk_recent_info_get_application_info(
16741        info: *mut GtkRecentInfo,
16742        app_name: *const c_char,
16743        app_exec: *mut *const c_char,
16744        count: *mut c_uint,
16745        time_: *mut c_long,
16746    ) -> gboolean;
16747    pub fn gtk_recent_info_get_applications(
16748        info: *mut GtkRecentInfo,
16749        length: *mut size_t,
16750    ) -> *mut *mut c_char;
16751    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
16752    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
16753    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
16754    pub fn gtk_recent_info_get_groups(
16755        info: *mut GtkRecentInfo,
16756        length: *mut size_t,
16757    ) -> *mut *mut c_char;
16758    pub fn gtk_recent_info_get_icon(
16759        info: *mut GtkRecentInfo,
16760        size: c_int,
16761    ) -> *mut gdk_pixbuf::GdkPixbuf;
16762    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
16763    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> c_long;
16764    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
16765    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
16766    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
16767    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
16768    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> c_long;
16769    pub fn gtk_recent_info_has_application(
16770        info: *mut GtkRecentInfo,
16771        app_name: *const c_char,
16772    ) -> gboolean;
16773    pub fn gtk_recent_info_has_group(
16774        info: *mut GtkRecentInfo,
16775        group_name: *const c_char,
16776    ) -> gboolean;
16777    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
16778    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
16779    pub fn gtk_recent_info_match(
16780        info_a: *mut GtkRecentInfo,
16781        info_b: *mut GtkRecentInfo,
16782    ) -> gboolean;
16783    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
16784    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
16785
16786    //=========================================================================
16787    // GtkRequisition
16788    //=========================================================================
16789    pub fn gtk_requisition_get_type() -> GType;
16790    pub fn gtk_requisition_new() -> *mut GtkRequisition;
16791    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
16792    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
16793
16794    //=========================================================================
16795    // GtkSelectionData
16796    //=========================================================================
16797    pub fn gtk_selection_data_get_type() -> GType;
16798    pub fn gtk_selection_data_copy(data: *const GtkSelectionData) -> *mut GtkSelectionData;
16799    pub fn gtk_selection_data_free(data: *mut GtkSelectionData);
16800    pub fn gtk_selection_data_get_data(selection_data: *const GtkSelectionData) -> *const u8;
16801    pub fn gtk_selection_data_get_data_type(
16802        selection_data: *const GtkSelectionData,
16803    ) -> gdk::GdkAtom;
16804    pub fn gtk_selection_data_get_data_with_length(
16805        selection_data: *const GtkSelectionData,
16806        length: *mut c_int,
16807    ) -> *const u8;
16808    pub fn gtk_selection_data_get_display(
16809        selection_data: *const GtkSelectionData,
16810    ) -> *mut gdk::GdkDisplay;
16811    pub fn gtk_selection_data_get_format(selection_data: *const GtkSelectionData) -> c_int;
16812    pub fn gtk_selection_data_get_length(selection_data: *const GtkSelectionData) -> c_int;
16813    pub fn gtk_selection_data_get_pixbuf(
16814        selection_data: *const GtkSelectionData,
16815    ) -> *mut gdk_pixbuf::GdkPixbuf;
16816    pub fn gtk_selection_data_get_selection(
16817        selection_data: *const GtkSelectionData,
16818    ) -> gdk::GdkAtom;
16819    pub fn gtk_selection_data_get_target(selection_data: *const GtkSelectionData) -> gdk::GdkAtom;
16820    pub fn gtk_selection_data_get_targets(
16821        selection_data: *const GtkSelectionData,
16822        targets: *mut *mut gdk::GdkAtom,
16823        n_atoms: *mut c_int,
16824    ) -> gboolean;
16825    pub fn gtk_selection_data_get_text(selection_data: *const GtkSelectionData) -> *mut c_char;
16826    pub fn gtk_selection_data_get_uris(selection_data: *const GtkSelectionData)
16827        -> *mut *mut c_char;
16828    pub fn gtk_selection_data_set(
16829        selection_data: *mut GtkSelectionData,
16830        type_: gdk::GdkAtom,
16831        format: c_int,
16832        data: *const u8,
16833        length: c_int,
16834    );
16835    pub fn gtk_selection_data_set_pixbuf(
16836        selection_data: *mut GtkSelectionData,
16837        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
16838    ) -> gboolean;
16839    pub fn gtk_selection_data_set_text(
16840        selection_data: *mut GtkSelectionData,
16841        str: *const c_char,
16842        len: c_int,
16843    ) -> gboolean;
16844    pub fn gtk_selection_data_set_uris(
16845        selection_data: *mut GtkSelectionData,
16846        uris: *mut *mut c_char,
16847    ) -> gboolean;
16848    pub fn gtk_selection_data_targets_include_image(
16849        selection_data: *const GtkSelectionData,
16850        writable: gboolean,
16851    ) -> gboolean;
16852    pub fn gtk_selection_data_targets_include_rich_text(
16853        selection_data: *const GtkSelectionData,
16854        buffer: *mut GtkTextBuffer,
16855    ) -> gboolean;
16856    pub fn gtk_selection_data_targets_include_text(
16857        selection_data: *const GtkSelectionData,
16858    ) -> gboolean;
16859    pub fn gtk_selection_data_targets_include_uri(
16860        selection_data: *const GtkSelectionData,
16861    ) -> gboolean;
16862
16863    //=========================================================================
16864    // GtkStockItem
16865    //=========================================================================
16866    pub fn gtk_stock_item_copy(item: *const GtkStockItem) -> *mut GtkStockItem;
16867    pub fn gtk_stock_item_free(item: *mut GtkStockItem);
16868
16869    //=========================================================================
16870    // GtkSymbolicColor
16871    //=========================================================================
16872    pub fn gtk_symbolic_color_get_type() -> GType;
16873    pub fn gtk_symbolic_color_new_alpha(
16874        color: *mut GtkSymbolicColor,
16875        factor: c_double,
16876    ) -> *mut GtkSymbolicColor;
16877    pub fn gtk_symbolic_color_new_literal(color: *const gdk::GdkRGBA) -> *mut GtkSymbolicColor;
16878    pub fn gtk_symbolic_color_new_mix(
16879        color1: *mut GtkSymbolicColor,
16880        color2: *mut GtkSymbolicColor,
16881        factor: c_double,
16882    ) -> *mut GtkSymbolicColor;
16883    pub fn gtk_symbolic_color_new_name(name: *const c_char) -> *mut GtkSymbolicColor;
16884    pub fn gtk_symbolic_color_new_shade(
16885        color: *mut GtkSymbolicColor,
16886        factor: c_double,
16887    ) -> *mut GtkSymbolicColor;
16888    pub fn gtk_symbolic_color_new_win32(
16889        theme_class: *const c_char,
16890        id: c_int,
16891    ) -> *mut GtkSymbolicColor;
16892    pub fn gtk_symbolic_color_ref(color: *mut GtkSymbolicColor) -> *mut GtkSymbolicColor;
16893    pub fn gtk_symbolic_color_resolve(
16894        color: *mut GtkSymbolicColor,
16895        props: *mut GtkStyleProperties,
16896        resolved_color: *mut gdk::GdkRGBA,
16897    ) -> gboolean;
16898    pub fn gtk_symbolic_color_to_string(color: *mut GtkSymbolicColor) -> *mut c_char;
16899    pub fn gtk_symbolic_color_unref(color: *mut GtkSymbolicColor);
16900
16901    //=========================================================================
16902    // GtkTargetEntry
16903    //=========================================================================
16904    pub fn gtk_target_entry_get_type() -> GType;
16905    pub fn gtk_target_entry_new(
16906        target: *const c_char,
16907        flags: c_uint,
16908        info: c_uint,
16909    ) -> *mut GtkTargetEntry;
16910    pub fn gtk_target_entry_copy(data: *mut GtkTargetEntry) -> *mut GtkTargetEntry;
16911    pub fn gtk_target_entry_free(data: *mut GtkTargetEntry);
16912
16913    //=========================================================================
16914    // GtkTargetList
16915    //=========================================================================
16916    pub fn gtk_target_list_get_type() -> GType;
16917    pub fn gtk_target_list_new(
16918        targets: *const GtkTargetEntry,
16919        ntargets: c_uint,
16920    ) -> *mut GtkTargetList;
16921    pub fn gtk_target_list_add(
16922        list: *mut GtkTargetList,
16923        target: gdk::GdkAtom,
16924        flags: c_uint,
16925        info: c_uint,
16926    );
16927    pub fn gtk_target_list_add_image_targets(
16928        list: *mut GtkTargetList,
16929        info: c_uint,
16930        writable: gboolean,
16931    );
16932    pub fn gtk_target_list_add_rich_text_targets(
16933        list: *mut GtkTargetList,
16934        info: c_uint,
16935        deserializable: gboolean,
16936        buffer: *mut GtkTextBuffer,
16937    );
16938    pub fn gtk_target_list_add_table(
16939        list: *mut GtkTargetList,
16940        targets: *const GtkTargetEntry,
16941        ntargets: c_uint,
16942    );
16943    pub fn gtk_target_list_add_text_targets(list: *mut GtkTargetList, info: c_uint);
16944    pub fn gtk_target_list_add_uri_targets(list: *mut GtkTargetList, info: c_uint);
16945    pub fn gtk_target_list_find(
16946        list: *mut GtkTargetList,
16947        target: gdk::GdkAtom,
16948        info: *mut c_uint,
16949    ) -> gboolean;
16950    pub fn gtk_target_list_ref(list: *mut GtkTargetList) -> *mut GtkTargetList;
16951    pub fn gtk_target_list_remove(list: *mut GtkTargetList, target: gdk::GdkAtom);
16952    pub fn gtk_target_list_unref(list: *mut GtkTargetList);
16953
16954    //=========================================================================
16955    // GtkTextAttributes
16956    //=========================================================================
16957    pub fn gtk_text_attributes_get_type() -> GType;
16958    pub fn gtk_text_attributes_new() -> *mut GtkTextAttributes;
16959    pub fn gtk_text_attributes_copy(src: *mut GtkTextAttributes) -> *mut GtkTextAttributes;
16960    pub fn gtk_text_attributes_copy_values(
16961        src: *mut GtkTextAttributes,
16962        dest: *mut GtkTextAttributes,
16963    );
16964    pub fn gtk_text_attributes_ref(values: *mut GtkTextAttributes) -> *mut GtkTextAttributes;
16965    pub fn gtk_text_attributes_unref(values: *mut GtkTextAttributes);
16966
16967    //=========================================================================
16968    // GtkTextIter
16969    //=========================================================================
16970    pub fn gtk_text_iter_get_type() -> GType;
16971    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
16972    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
16973    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
16974    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
16975    pub fn gtk_text_iter_backward_cursor_positions(
16976        iter: *mut GtkTextIter,
16977        count: c_int,
16978    ) -> gboolean;
16979    pub fn gtk_text_iter_backward_find_char(
16980        iter: *mut GtkTextIter,
16981        pred: GtkTextCharPredicate,
16982        user_data: gpointer,
16983        limit: *const GtkTextIter,
16984    ) -> gboolean;
16985    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
16986    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
16987    pub fn gtk_text_iter_backward_search(
16988        iter: *const GtkTextIter,
16989        str: *const c_char,
16990        flags: GtkTextSearchFlags,
16991        match_start: *mut GtkTextIter,
16992        match_end: *mut GtkTextIter,
16993        limit: *const GtkTextIter,
16994    ) -> gboolean;
16995    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
16996    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
16997        -> gboolean;
16998    pub fn gtk_text_iter_backward_to_tag_toggle(
16999        iter: *mut GtkTextIter,
17000        tag: *mut GtkTextTag,
17001    ) -> gboolean;
17002    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
17003    pub fn gtk_text_iter_backward_visible_cursor_positions(
17004        iter: *mut GtkTextIter,
17005        count: c_int,
17006    ) -> gboolean;
17007    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
17008    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17009    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
17010    pub fn gtk_text_iter_backward_visible_word_starts(
17011        iter: *mut GtkTextIter,
17012        count: c_int,
17013    ) -> gboolean;
17014    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
17015    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17016    pub fn gtk_text_iter_begins_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
17017    pub fn gtk_text_iter_can_insert(
17018        iter: *const GtkTextIter,
17019        default_editability: gboolean,
17020    ) -> gboolean;
17021    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
17022    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
17023    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
17024    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
17025    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
17026    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
17027    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
17028    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
17029    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
17030    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17031    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
17032    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
17033        -> gboolean;
17034    pub fn gtk_text_iter_forward_find_char(
17035        iter: *mut GtkTextIter,
17036        pred: GtkTextCharPredicate,
17037        user_data: gpointer,
17038        limit: *const GtkTextIter,
17039    ) -> gboolean;
17040    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
17041    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17042    pub fn gtk_text_iter_forward_search(
17043        iter: *const GtkTextIter,
17044        str: *const c_char,
17045        flags: GtkTextSearchFlags,
17046        match_start: *mut GtkTextIter,
17047        match_end: *mut GtkTextIter,
17048        limit: *const GtkTextIter,
17049    ) -> gboolean;
17050    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
17051    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17052    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
17053    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
17054    pub fn gtk_text_iter_forward_to_tag_toggle(
17055        iter: *mut GtkTextIter,
17056        tag: *mut GtkTextTag,
17057    ) -> gboolean;
17058    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
17059    pub fn gtk_text_iter_forward_visible_cursor_positions(
17060        iter: *mut GtkTextIter,
17061        count: c_int,
17062    ) -> gboolean;
17063    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
17064    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17065    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
17066    pub fn gtk_text_iter_forward_visible_word_ends(
17067        iter: *mut GtkTextIter,
17068        count: c_int,
17069    ) -> gboolean;
17070    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
17071    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
17072    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
17073    pub fn gtk_text_iter_get_attributes(
17074        iter: *const GtkTextIter,
17075        values: *mut GtkTextAttributes,
17076    ) -> gboolean;
17077    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
17078    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
17079    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
17080    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
17081    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
17082    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
17083    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
17084    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
17085    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
17086    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
17087    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
17088    pub fn gtk_text_iter_get_pixbuf(iter: *const GtkTextIter) -> *mut gdk_pixbuf::GdkPixbuf;
17089    pub fn gtk_text_iter_get_slice(
17090        start: *const GtkTextIter,
17091        end: *const GtkTextIter,
17092    ) -> *mut c_char;
17093    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
17094    pub fn gtk_text_iter_get_text(
17095        start: *const GtkTextIter,
17096        end: *const GtkTextIter,
17097    ) -> *mut c_char;
17098    pub fn gtk_text_iter_get_toggled_tags(
17099        iter: *const GtkTextIter,
17100        toggled_on: gboolean,
17101    ) -> *mut glib::GSList;
17102    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
17103    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
17104    pub fn gtk_text_iter_get_visible_slice(
17105        start: *const GtkTextIter,
17106        end: *const GtkTextIter,
17107    ) -> *mut c_char;
17108    pub fn gtk_text_iter_get_visible_text(
17109        start: *const GtkTextIter,
17110        end: *const GtkTextIter,
17111    ) -> *mut c_char;
17112    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
17113    pub fn gtk_text_iter_in_range(
17114        iter: *const GtkTextIter,
17115        start: *const GtkTextIter,
17116        end: *const GtkTextIter,
17117    ) -> gboolean;
17118    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
17119    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
17120    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
17121    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
17122    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
17123    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
17124    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
17125    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
17126    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
17127    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
17128    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
17129    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
17130    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
17131    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
17132    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
17133    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
17134    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
17135
17136    //=========================================================================
17137    // GtkTreeIter
17138    //=========================================================================
17139    pub fn gtk_tree_iter_get_type() -> GType;
17140    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
17141    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
17142
17143    //=========================================================================
17144    // GtkTreePath
17145    //=========================================================================
17146    pub fn gtk_tree_path_get_type() -> GType;
17147    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
17148    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
17149    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
17150    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
17151        -> *mut GtkTreePath;
17152    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
17153    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
17154    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
17155    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
17156    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
17157    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
17158    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
17159    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
17160    pub fn gtk_tree_path_get_indices_with_depth(
17161        path: *mut GtkTreePath,
17162        depth: *mut c_int,
17163    ) -> *mut c_int;
17164    pub fn gtk_tree_path_is_ancestor(
17165        path: *mut GtkTreePath,
17166        descendant: *mut GtkTreePath,
17167    ) -> gboolean;
17168    pub fn gtk_tree_path_is_descendant(
17169        path: *mut GtkTreePath,
17170        ancestor: *mut GtkTreePath,
17171    ) -> gboolean;
17172    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
17173    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
17174    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
17175    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
17176    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
17177
17178    //=========================================================================
17179    // GtkTreeRowReference
17180    //=========================================================================
17181    pub fn gtk_tree_row_reference_get_type() -> GType;
17182    pub fn gtk_tree_row_reference_new(
17183        model: *mut GtkTreeModel,
17184        path: *mut GtkTreePath,
17185    ) -> *mut GtkTreeRowReference;
17186    pub fn gtk_tree_row_reference_new_proxy(
17187        proxy: *mut gobject::GObject,
17188        model: *mut GtkTreeModel,
17189        path: *mut GtkTreePath,
17190    ) -> *mut GtkTreeRowReference;
17191    pub fn gtk_tree_row_reference_copy(
17192        reference: *mut GtkTreeRowReference,
17193    ) -> *mut GtkTreeRowReference;
17194    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
17195    pub fn gtk_tree_row_reference_get_model(
17196        reference: *mut GtkTreeRowReference,
17197    ) -> *mut GtkTreeModel;
17198    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
17199        -> *mut GtkTreePath;
17200    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
17201    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
17202    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
17203    pub fn gtk_tree_row_reference_reordered(
17204        proxy: *mut gobject::GObject,
17205        path: *mut GtkTreePath,
17206        iter: *mut GtkTreeIter,
17207        new_order: *mut c_int,
17208    );
17209
17210    //=========================================================================
17211    // GtkWidgetClass
17212    //=========================================================================
17213    pub fn gtk_widget_class_bind_template_callback_full(
17214        widget_class: *mut GtkWidgetClass,
17215        callback_name: *const c_char,
17216        callback_symbol: gobject::GCallback,
17217    );
17218    pub fn gtk_widget_class_bind_template_child_full(
17219        widget_class: *mut GtkWidgetClass,
17220        name: *const c_char,
17221        internal_child: gboolean,
17222        struct_offset: ssize_t,
17223    );
17224    pub fn gtk_widget_class_find_style_property(
17225        klass: *mut GtkWidgetClass,
17226        property_name: *const c_char,
17227    ) -> *mut gobject::GParamSpec;
17228    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
17229    pub fn gtk_widget_class_install_style_property(
17230        klass: *mut GtkWidgetClass,
17231        pspec: *mut gobject::GParamSpec,
17232    );
17233    pub fn gtk_widget_class_install_style_property_parser(
17234        klass: *mut GtkWidgetClass,
17235        pspec: *mut gobject::GParamSpec,
17236        parser: GtkRcPropertyParser,
17237    );
17238    pub fn gtk_widget_class_list_style_properties(
17239        klass: *mut GtkWidgetClass,
17240        n_properties: *mut c_uint,
17241    ) -> *mut *mut gobject::GParamSpec;
17242    pub fn gtk_widget_class_set_accessible_role(
17243        widget_class: *mut GtkWidgetClass,
17244        role: atk::AtkRole,
17245    );
17246    pub fn gtk_widget_class_set_accessible_type(widget_class: *mut GtkWidgetClass, type_: GType);
17247    pub fn gtk_widget_class_set_connect_func(
17248        widget_class: *mut GtkWidgetClass,
17249        connect_func: GtkBuilderConnectFunc,
17250        connect_data: gpointer,
17251        connect_data_destroy: glib::GDestroyNotify,
17252    );
17253    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
17254    pub fn gtk_widget_class_set_template(
17255        widget_class: *mut GtkWidgetClass,
17256        template_bytes: *mut glib::GBytes,
17257    );
17258    pub fn gtk_widget_class_set_template_from_resource(
17259        widget_class: *mut GtkWidgetClass,
17260        resource_name: *const c_char,
17261    );
17262
17263    //=========================================================================
17264    // GtkWidgetPath
17265    //=========================================================================
17266    pub fn gtk_widget_path_get_type() -> GType;
17267    pub fn gtk_widget_path_new() -> *mut GtkWidgetPath;
17268    pub fn gtk_widget_path_append_for_widget(
17269        path: *mut GtkWidgetPath,
17270        widget: *mut GtkWidget,
17271    ) -> c_int;
17272    pub fn gtk_widget_path_append_type(path: *mut GtkWidgetPath, type_: GType) -> c_int;
17273    pub fn gtk_widget_path_append_with_siblings(
17274        path: *mut GtkWidgetPath,
17275        siblings: *mut GtkWidgetPath,
17276        sibling_index: c_uint,
17277    ) -> c_int;
17278    pub fn gtk_widget_path_copy(path: *const GtkWidgetPath) -> *mut GtkWidgetPath;
17279    pub fn gtk_widget_path_free(path: *mut GtkWidgetPath);
17280    pub fn gtk_widget_path_get_object_type(path: *const GtkWidgetPath) -> GType;
17281    pub fn gtk_widget_path_has_parent(path: *const GtkWidgetPath, type_: GType) -> gboolean;
17282    pub fn gtk_widget_path_is_type(path: *const GtkWidgetPath, type_: GType) -> gboolean;
17283    pub fn gtk_widget_path_iter_add_class(
17284        path: *mut GtkWidgetPath,
17285        pos: c_int,
17286        name: *const c_char,
17287    );
17288    pub fn gtk_widget_path_iter_add_region(
17289        path: *mut GtkWidgetPath,
17290        pos: c_int,
17291        name: *const c_char,
17292        flags: GtkRegionFlags,
17293    );
17294    pub fn gtk_widget_path_iter_clear_classes(path: *mut GtkWidgetPath, pos: c_int);
17295    pub fn gtk_widget_path_iter_clear_regions(path: *mut GtkWidgetPath, pos: c_int);
17296    pub fn gtk_widget_path_iter_get_name(path: *const GtkWidgetPath, pos: c_int) -> *const c_char;
17297    pub fn gtk_widget_path_iter_get_object_name(
17298        path: *const GtkWidgetPath,
17299        pos: c_int,
17300    ) -> *const c_char;
17301    pub fn gtk_widget_path_iter_get_object_type(path: *const GtkWidgetPath, pos: c_int) -> GType;
17302    pub fn gtk_widget_path_iter_get_sibling_index(path: *const GtkWidgetPath, pos: c_int)
17303        -> c_uint;
17304    pub fn gtk_widget_path_iter_get_siblings(
17305        path: *const GtkWidgetPath,
17306        pos: c_int,
17307    ) -> *const GtkWidgetPath;
17308    pub fn gtk_widget_path_iter_get_state(path: *const GtkWidgetPath, pos: c_int) -> GtkStateFlags;
17309    pub fn gtk_widget_path_iter_has_class(
17310        path: *const GtkWidgetPath,
17311        pos: c_int,
17312        name: *const c_char,
17313    ) -> gboolean;
17314    pub fn gtk_widget_path_iter_has_name(
17315        path: *const GtkWidgetPath,
17316        pos: c_int,
17317        name: *const c_char,
17318    ) -> gboolean;
17319    pub fn gtk_widget_path_iter_has_qclass(
17320        path: *const GtkWidgetPath,
17321        pos: c_int,
17322        qname: glib::GQuark,
17323    ) -> gboolean;
17324    pub fn gtk_widget_path_iter_has_qname(
17325        path: *const GtkWidgetPath,
17326        pos: c_int,
17327        qname: glib::GQuark,
17328    ) -> gboolean;
17329    pub fn gtk_widget_path_iter_has_qregion(
17330        path: *const GtkWidgetPath,
17331        pos: c_int,
17332        qname: glib::GQuark,
17333        flags: *mut GtkRegionFlags,
17334    ) -> gboolean;
17335    pub fn gtk_widget_path_iter_has_region(
17336        path: *const GtkWidgetPath,
17337        pos: c_int,
17338        name: *const c_char,
17339        flags: *mut GtkRegionFlags,
17340    ) -> gboolean;
17341    pub fn gtk_widget_path_iter_list_classes(
17342        path: *const GtkWidgetPath,
17343        pos: c_int,
17344    ) -> *mut glib::GSList;
17345    pub fn gtk_widget_path_iter_list_regions(
17346        path: *const GtkWidgetPath,
17347        pos: c_int,
17348    ) -> *mut glib::GSList;
17349    pub fn gtk_widget_path_iter_remove_class(
17350        path: *mut GtkWidgetPath,
17351        pos: c_int,
17352        name: *const c_char,
17353    );
17354    pub fn gtk_widget_path_iter_remove_region(
17355        path: *mut GtkWidgetPath,
17356        pos: c_int,
17357        name: *const c_char,
17358    );
17359    pub fn gtk_widget_path_iter_set_name(path: *mut GtkWidgetPath, pos: c_int, name: *const c_char);
17360    pub fn gtk_widget_path_iter_set_object_name(
17361        path: *mut GtkWidgetPath,
17362        pos: c_int,
17363        name: *const c_char,
17364    );
17365    pub fn gtk_widget_path_iter_set_object_type(path: *mut GtkWidgetPath, pos: c_int, type_: GType);
17366    pub fn gtk_widget_path_iter_set_state(
17367        path: *mut GtkWidgetPath,
17368        pos: c_int,
17369        state: GtkStateFlags,
17370    );
17371    pub fn gtk_widget_path_length(path: *const GtkWidgetPath) -> c_int;
17372    pub fn gtk_widget_path_prepend_type(path: *mut GtkWidgetPath, type_: GType);
17373    pub fn gtk_widget_path_ref(path: *mut GtkWidgetPath) -> *mut GtkWidgetPath;
17374    pub fn gtk_widget_path_to_string(path: *const GtkWidgetPath) -> *mut c_char;
17375    pub fn gtk_widget_path_unref(path: *mut GtkWidgetPath);
17376
17377    //=========================================================================
17378    // GtkAboutDialog
17379    //=========================================================================
17380    pub fn gtk_about_dialog_get_type() -> GType;
17381    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
17382    pub fn gtk_about_dialog_add_credit_section(
17383        about: *mut GtkAboutDialog,
17384        section_name: *const c_char,
17385        people: *mut *const c_char,
17386    );
17387    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
17388    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
17389    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
17390    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
17391    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
17392    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
17393    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
17394    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk_pixbuf::GdkPixbuf;
17395    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
17396    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
17397    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
17398    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
17399    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
17400    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
17401    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
17402    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
17403    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
17404    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
17405    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
17406    pub fn gtk_about_dialog_set_documenters(
17407        about: *mut GtkAboutDialog,
17408        documenters: *mut *const c_char,
17409    );
17410    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
17411    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
17412    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk_pixbuf::GdkPixbuf);
17413    pub fn gtk_about_dialog_set_logo_icon_name(
17414        about: *mut GtkAboutDialog,
17415        icon_name: *const c_char,
17416    );
17417    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
17418    pub fn gtk_about_dialog_set_translator_credits(
17419        about: *mut GtkAboutDialog,
17420        translator_credits: *const c_char,
17421    );
17422    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
17423    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
17424    pub fn gtk_about_dialog_set_website_label(
17425        about: *mut GtkAboutDialog,
17426        website_label: *const c_char,
17427    );
17428    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
17429
17430    //=========================================================================
17431    // GtkAccelGroup
17432    //=========================================================================
17433    pub fn gtk_accel_group_get_type() -> GType;
17434    pub fn gtk_accel_group_new() -> *mut GtkAccelGroup;
17435    pub fn gtk_accel_group_from_accel_closure(
17436        closure: *mut gobject::GClosure,
17437    ) -> *mut GtkAccelGroup;
17438    pub fn gtk_accel_group_activate(
17439        accel_group: *mut GtkAccelGroup,
17440        accel_quark: glib::GQuark,
17441        acceleratable: *mut gobject::GObject,
17442        accel_key: c_uint,
17443        accel_mods: gdk::GdkModifierType,
17444    ) -> gboolean;
17445    pub fn gtk_accel_group_connect(
17446        accel_group: *mut GtkAccelGroup,
17447        accel_key: c_uint,
17448        accel_mods: gdk::GdkModifierType,
17449        accel_flags: GtkAccelFlags,
17450        closure: *mut gobject::GClosure,
17451    );
17452    pub fn gtk_accel_group_connect_by_path(
17453        accel_group: *mut GtkAccelGroup,
17454        accel_path: *const c_char,
17455        closure: *mut gobject::GClosure,
17456    );
17457    pub fn gtk_accel_group_disconnect(
17458        accel_group: *mut GtkAccelGroup,
17459        closure: *mut gobject::GClosure,
17460    ) -> gboolean;
17461    pub fn gtk_accel_group_disconnect_key(
17462        accel_group: *mut GtkAccelGroup,
17463        accel_key: c_uint,
17464        accel_mods: gdk::GdkModifierType,
17465    ) -> gboolean;
17466    pub fn gtk_accel_group_find(
17467        accel_group: *mut GtkAccelGroup,
17468        find_func: GtkAccelGroupFindFunc,
17469        data: gpointer,
17470    ) -> *mut GtkAccelKey;
17471    pub fn gtk_accel_group_get_is_locked(accel_group: *mut GtkAccelGroup) -> gboolean;
17472    pub fn gtk_accel_group_get_modifier_mask(
17473        accel_group: *mut GtkAccelGroup,
17474    ) -> gdk::GdkModifierType;
17475    pub fn gtk_accel_group_lock(accel_group: *mut GtkAccelGroup);
17476    pub fn gtk_accel_group_query(
17477        accel_group: *mut GtkAccelGroup,
17478        accel_key: c_uint,
17479        accel_mods: gdk::GdkModifierType,
17480        n_entries: *mut c_uint,
17481    ) -> *mut GtkAccelGroupEntry;
17482    pub fn gtk_accel_group_unlock(accel_group: *mut GtkAccelGroup);
17483
17484    //=========================================================================
17485    // GtkAccelLabel
17486    //=========================================================================
17487    pub fn gtk_accel_label_get_type() -> GType;
17488    pub fn gtk_accel_label_new(string: *const c_char) -> *mut GtkWidget;
17489    pub fn gtk_accel_label_get_accel(
17490        accel_label: *mut GtkAccelLabel,
17491        accelerator_key: *mut c_uint,
17492        accelerator_mods: *mut gdk::GdkModifierType,
17493    );
17494    pub fn gtk_accel_label_get_accel_widget(accel_label: *mut GtkAccelLabel) -> *mut GtkWidget;
17495    pub fn gtk_accel_label_get_accel_width(accel_label: *mut GtkAccelLabel) -> c_uint;
17496    pub fn gtk_accel_label_refetch(accel_label: *mut GtkAccelLabel) -> gboolean;
17497    pub fn gtk_accel_label_set_accel(
17498        accel_label: *mut GtkAccelLabel,
17499        accelerator_key: c_uint,
17500        accelerator_mods: gdk::GdkModifierType,
17501    );
17502    pub fn gtk_accel_label_set_accel_closure(
17503        accel_label: *mut GtkAccelLabel,
17504        accel_closure: *mut gobject::GClosure,
17505    );
17506    pub fn gtk_accel_label_set_accel_widget(
17507        accel_label: *mut GtkAccelLabel,
17508        accel_widget: *mut GtkWidget,
17509    );
17510
17511    //=========================================================================
17512    // GtkAccelMap
17513    //=========================================================================
17514    pub fn gtk_accel_map_get_type() -> GType;
17515    pub fn gtk_accel_map_add_entry(
17516        accel_path: *const c_char,
17517        accel_key: c_uint,
17518        accel_mods: gdk::GdkModifierType,
17519    );
17520    pub fn gtk_accel_map_add_filter(filter_pattern: *const c_char);
17521    pub fn gtk_accel_map_change_entry(
17522        accel_path: *const c_char,
17523        accel_key: c_uint,
17524        accel_mods: gdk::GdkModifierType,
17525        replace: gboolean,
17526    ) -> gboolean;
17527    pub fn gtk_accel_map_foreach(data: gpointer, foreach_func: GtkAccelMapForeach);
17528    pub fn gtk_accel_map_foreach_unfiltered(data: gpointer, foreach_func: GtkAccelMapForeach);
17529    pub fn gtk_accel_map_get() -> *mut GtkAccelMap;
17530    pub fn gtk_accel_map_load(file_name: *const c_char);
17531    pub fn gtk_accel_map_load_fd(fd: c_int);
17532    pub fn gtk_accel_map_load_scanner(scanner: *mut glib::GScanner);
17533    pub fn gtk_accel_map_lock_path(accel_path: *const c_char);
17534    pub fn gtk_accel_map_lookup_entry(accel_path: *const c_char, key: *mut GtkAccelKey)
17535        -> gboolean;
17536    pub fn gtk_accel_map_save(file_name: *const c_char);
17537    pub fn gtk_accel_map_save_fd(fd: c_int);
17538    pub fn gtk_accel_map_unlock_path(accel_path: *const c_char);
17539
17540    //=========================================================================
17541    // GtkAccessible
17542    //=========================================================================
17543    pub fn gtk_accessible_get_type() -> GType;
17544    pub fn gtk_accessible_connect_widget_destroyed(accessible: *mut GtkAccessible);
17545    pub fn gtk_accessible_get_widget(accessible: *mut GtkAccessible) -> *mut GtkWidget;
17546    pub fn gtk_accessible_set_widget(accessible: *mut GtkAccessible, widget: *mut GtkWidget);
17547
17548    //=========================================================================
17549    // GtkAction
17550    //=========================================================================
17551    pub fn gtk_action_get_type() -> GType;
17552    pub fn gtk_action_new(
17553        name: *const c_char,
17554        label: *const c_char,
17555        tooltip: *const c_char,
17556        stock_id: *const c_char,
17557    ) -> *mut GtkAction;
17558    pub fn gtk_action_activate(action: *mut GtkAction);
17559    pub fn gtk_action_block_activate(action: *mut GtkAction);
17560    pub fn gtk_action_connect_accelerator(action: *mut GtkAction);
17561    pub fn gtk_action_create_icon(action: *mut GtkAction, icon_size: GtkIconSize)
17562        -> *mut GtkWidget;
17563    pub fn gtk_action_create_menu(action: *mut GtkAction) -> *mut GtkWidget;
17564    pub fn gtk_action_create_menu_item(action: *mut GtkAction) -> *mut GtkWidget;
17565    pub fn gtk_action_create_tool_item(action: *mut GtkAction) -> *mut GtkWidget;
17566    pub fn gtk_action_disconnect_accelerator(action: *mut GtkAction);
17567    pub fn gtk_action_get_accel_closure(action: *mut GtkAction) -> *mut gobject::GClosure;
17568    pub fn gtk_action_get_accel_path(action: *mut GtkAction) -> *const c_char;
17569    pub fn gtk_action_get_always_show_image(action: *mut GtkAction) -> gboolean;
17570    pub fn gtk_action_get_gicon(action: *mut GtkAction) -> *mut gio::GIcon;
17571    pub fn gtk_action_get_icon_name(action: *mut GtkAction) -> *const c_char;
17572    pub fn gtk_action_get_is_important(action: *mut GtkAction) -> gboolean;
17573    pub fn gtk_action_get_label(action: *mut GtkAction) -> *const c_char;
17574    pub fn gtk_action_get_name(action: *mut GtkAction) -> *const c_char;
17575    pub fn gtk_action_get_proxies(action: *mut GtkAction) -> *mut glib::GSList;
17576    pub fn gtk_action_get_sensitive(action: *mut GtkAction) -> gboolean;
17577    pub fn gtk_action_get_short_label(action: *mut GtkAction) -> *const c_char;
17578    pub fn gtk_action_get_stock_id(action: *mut GtkAction) -> *const c_char;
17579    pub fn gtk_action_get_tooltip(action: *mut GtkAction) -> *const c_char;
17580    pub fn gtk_action_get_visible(action: *mut GtkAction) -> gboolean;
17581    pub fn gtk_action_get_visible_horizontal(action: *mut GtkAction) -> gboolean;
17582    pub fn gtk_action_get_visible_vertical(action: *mut GtkAction) -> gboolean;
17583    pub fn gtk_action_is_sensitive(action: *mut GtkAction) -> gboolean;
17584    pub fn gtk_action_is_visible(action: *mut GtkAction) -> gboolean;
17585    pub fn gtk_action_set_accel_group(action: *mut GtkAction, accel_group: *mut GtkAccelGroup);
17586    pub fn gtk_action_set_accel_path(action: *mut GtkAction, accel_path: *const c_char);
17587    pub fn gtk_action_set_always_show_image(action: *mut GtkAction, always_show: gboolean);
17588    pub fn gtk_action_set_gicon(action: *mut GtkAction, icon: *mut gio::GIcon);
17589    pub fn gtk_action_set_icon_name(action: *mut GtkAction, icon_name: *const c_char);
17590    pub fn gtk_action_set_is_important(action: *mut GtkAction, is_important: gboolean);
17591    pub fn gtk_action_set_label(action: *mut GtkAction, label: *const c_char);
17592    pub fn gtk_action_set_sensitive(action: *mut GtkAction, sensitive: gboolean);
17593    pub fn gtk_action_set_short_label(action: *mut GtkAction, short_label: *const c_char);
17594    pub fn gtk_action_set_stock_id(action: *mut GtkAction, stock_id: *const c_char);
17595    pub fn gtk_action_set_tooltip(action: *mut GtkAction, tooltip: *const c_char);
17596    pub fn gtk_action_set_visible(action: *mut GtkAction, visible: gboolean);
17597    pub fn gtk_action_set_visible_horizontal(action: *mut GtkAction, visible_horizontal: gboolean);
17598    pub fn gtk_action_set_visible_vertical(action: *mut GtkAction, visible_vertical: gboolean);
17599    pub fn gtk_action_unblock_activate(action: *mut GtkAction);
17600
17601    //=========================================================================
17602    // GtkActionBar
17603    //=========================================================================
17604    pub fn gtk_action_bar_get_type() -> GType;
17605    pub fn gtk_action_bar_new() -> *mut GtkWidget;
17606    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
17607    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
17608    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
17609    pub fn gtk_action_bar_set_center_widget(
17610        action_bar: *mut GtkActionBar,
17611        center_widget: *mut GtkWidget,
17612    );
17613
17614    //=========================================================================
17615    // GtkActionGroup
17616    //=========================================================================
17617    pub fn gtk_action_group_get_type() -> GType;
17618    pub fn gtk_action_group_new(name: *const c_char) -> *mut GtkActionGroup;
17619    pub fn gtk_action_group_add_action(action_group: *mut GtkActionGroup, action: *mut GtkAction);
17620    pub fn gtk_action_group_add_action_with_accel(
17621        action_group: *mut GtkActionGroup,
17622        action: *mut GtkAction,
17623        accelerator: *const c_char,
17624    );
17625    pub fn gtk_action_group_add_actions(
17626        action_group: *mut GtkActionGroup,
17627        entries: *const GtkActionEntry,
17628        n_entries: c_uint,
17629        user_data: gpointer,
17630    );
17631    pub fn gtk_action_group_add_actions_full(
17632        action_group: *mut GtkActionGroup,
17633        entries: *const GtkActionEntry,
17634        n_entries: c_uint,
17635        user_data: gpointer,
17636        destroy: glib::GDestroyNotify,
17637    );
17638    pub fn gtk_action_group_add_radio_actions(
17639        action_group: *mut GtkActionGroup,
17640        entries: *const GtkRadioActionEntry,
17641        n_entries: c_uint,
17642        value: c_int,
17643        on_change: gobject::GCallback,
17644        user_data: gpointer,
17645    );
17646    pub fn gtk_action_group_add_radio_actions_full(
17647        action_group: *mut GtkActionGroup,
17648        entries: *const GtkRadioActionEntry,
17649        n_entries: c_uint,
17650        value: c_int,
17651        on_change: gobject::GCallback,
17652        user_data: gpointer,
17653        destroy: glib::GDestroyNotify,
17654    );
17655    pub fn gtk_action_group_add_toggle_actions(
17656        action_group: *mut GtkActionGroup,
17657        entries: *const GtkToggleActionEntry,
17658        n_entries: c_uint,
17659        user_data: gpointer,
17660    );
17661    pub fn gtk_action_group_add_toggle_actions_full(
17662        action_group: *mut GtkActionGroup,
17663        entries: *const GtkToggleActionEntry,
17664        n_entries: c_uint,
17665        user_data: gpointer,
17666        destroy: glib::GDestroyNotify,
17667    );
17668    pub fn gtk_action_group_get_accel_group(
17669        action_group: *mut GtkActionGroup,
17670    ) -> *mut GtkAccelGroup;
17671    pub fn gtk_action_group_get_action(
17672        action_group: *mut GtkActionGroup,
17673        action_name: *const c_char,
17674    ) -> *mut GtkAction;
17675    pub fn gtk_action_group_get_name(action_group: *mut GtkActionGroup) -> *const c_char;
17676    pub fn gtk_action_group_get_sensitive(action_group: *mut GtkActionGroup) -> gboolean;
17677    pub fn gtk_action_group_get_visible(action_group: *mut GtkActionGroup) -> gboolean;
17678    pub fn gtk_action_group_list_actions(action_group: *mut GtkActionGroup) -> *mut glib::GList;
17679    pub fn gtk_action_group_remove_action(
17680        action_group: *mut GtkActionGroup,
17681        action: *mut GtkAction,
17682    );
17683    pub fn gtk_action_group_set_accel_group(
17684        action_group: *mut GtkActionGroup,
17685        accel_group: *mut GtkAccelGroup,
17686    );
17687    pub fn gtk_action_group_set_sensitive(action_group: *mut GtkActionGroup, sensitive: gboolean);
17688    pub fn gtk_action_group_set_translate_func(
17689        action_group: *mut GtkActionGroup,
17690        func: GtkTranslateFunc,
17691        data: gpointer,
17692        notify: glib::GDestroyNotify,
17693    );
17694    pub fn gtk_action_group_set_translation_domain(
17695        action_group: *mut GtkActionGroup,
17696        domain: *const c_char,
17697    );
17698    pub fn gtk_action_group_set_visible(action_group: *mut GtkActionGroup, visible: gboolean);
17699    pub fn gtk_action_group_translate_string(
17700        action_group: *mut GtkActionGroup,
17701        string: *const c_char,
17702    ) -> *const c_char;
17703
17704    //=========================================================================
17705    // GtkAdjustment
17706    //=========================================================================
17707    pub fn gtk_adjustment_get_type() -> GType;
17708    pub fn gtk_adjustment_new(
17709        value: c_double,
17710        lower: c_double,
17711        upper: c_double,
17712        step_increment: c_double,
17713        page_increment: c_double,
17714        page_size: c_double,
17715    ) -> *mut GtkAdjustment;
17716    pub fn gtk_adjustment_changed(adjustment: *mut GtkAdjustment);
17717    pub fn gtk_adjustment_clamp_page(
17718        adjustment: *mut GtkAdjustment,
17719        lower: c_double,
17720        upper: c_double,
17721    );
17722    pub fn gtk_adjustment_configure(
17723        adjustment: *mut GtkAdjustment,
17724        value: c_double,
17725        lower: c_double,
17726        upper: c_double,
17727        step_increment: c_double,
17728        page_increment: c_double,
17729        page_size: c_double,
17730    );
17731    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
17732    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
17733    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
17734    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
17735    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
17736    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
17737    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
17738    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
17739    pub fn gtk_adjustment_set_page_increment(
17740        adjustment: *mut GtkAdjustment,
17741        page_increment: c_double,
17742    );
17743    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
17744    pub fn gtk_adjustment_set_step_increment(
17745        adjustment: *mut GtkAdjustment,
17746        step_increment: c_double,
17747    );
17748    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
17749    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
17750    pub fn gtk_adjustment_value_changed(adjustment: *mut GtkAdjustment);
17751
17752    //=========================================================================
17753    // GtkAlignment
17754    //=========================================================================
17755    pub fn gtk_alignment_get_type() -> GType;
17756    pub fn gtk_alignment_new(
17757        xalign: c_float,
17758        yalign: c_float,
17759        xscale: c_float,
17760        yscale: c_float,
17761    ) -> *mut GtkWidget;
17762    pub fn gtk_alignment_get_padding(
17763        alignment: *mut GtkAlignment,
17764        padding_top: *mut c_uint,
17765        padding_bottom: *mut c_uint,
17766        padding_left: *mut c_uint,
17767        padding_right: *mut c_uint,
17768    );
17769    pub fn gtk_alignment_set(
17770        alignment: *mut GtkAlignment,
17771        xalign: c_float,
17772        yalign: c_float,
17773        xscale: c_float,
17774        yscale: c_float,
17775    );
17776    pub fn gtk_alignment_set_padding(
17777        alignment: *mut GtkAlignment,
17778        padding_top: c_uint,
17779        padding_bottom: c_uint,
17780        padding_left: c_uint,
17781        padding_right: c_uint,
17782    );
17783
17784    //=========================================================================
17785    // GtkAppChooserButton
17786    //=========================================================================
17787    pub fn gtk_app_chooser_button_get_type() -> GType;
17788    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
17789    pub fn gtk_app_chooser_button_append_custom_item(
17790        self_: *mut GtkAppChooserButton,
17791        name: *const c_char,
17792        label: *const c_char,
17793        icon: *mut gio::GIcon,
17794    );
17795    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
17796    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
17797    pub fn gtk_app_chooser_button_get_show_default_item(
17798        self_: *mut GtkAppChooserButton,
17799    ) -> gboolean;
17800    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
17801        -> gboolean;
17802    pub fn gtk_app_chooser_button_set_active_custom_item(
17803        self_: *mut GtkAppChooserButton,
17804        name: *const c_char,
17805    );
17806    pub fn gtk_app_chooser_button_set_heading(
17807        self_: *mut GtkAppChooserButton,
17808        heading: *const c_char,
17809    );
17810    pub fn gtk_app_chooser_button_set_show_default_item(
17811        self_: *mut GtkAppChooserButton,
17812        setting: gboolean,
17813    );
17814    pub fn gtk_app_chooser_button_set_show_dialog_item(
17815        self_: *mut GtkAppChooserButton,
17816        setting: gboolean,
17817    );
17818
17819    //=========================================================================
17820    // GtkAppChooserDialog
17821    //=========================================================================
17822    pub fn gtk_app_chooser_dialog_get_type() -> GType;
17823    pub fn gtk_app_chooser_dialog_new(
17824        parent: *mut GtkWindow,
17825        flags: GtkDialogFlags,
17826        file: *mut gio::GFile,
17827    ) -> *mut GtkWidget;
17828    pub fn gtk_app_chooser_dialog_new_for_content_type(
17829        parent: *mut GtkWindow,
17830        flags: GtkDialogFlags,
17831        content_type: *const c_char,
17832    ) -> *mut GtkWidget;
17833    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
17834    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
17835    pub fn gtk_app_chooser_dialog_set_heading(
17836        self_: *mut GtkAppChooserDialog,
17837        heading: *const c_char,
17838    );
17839
17840    //=========================================================================
17841    // GtkAppChooserWidget
17842    //=========================================================================
17843    pub fn gtk_app_chooser_widget_get_type() -> GType;
17844    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
17845    pub fn gtk_app_chooser_widget_get_default_text(
17846        self_: *mut GtkAppChooserWidget,
17847    ) -> *const c_char;
17848    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
17849    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
17850    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
17851    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
17852    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
17853        -> gboolean;
17854    pub fn gtk_app_chooser_widget_set_default_text(
17855        self_: *mut GtkAppChooserWidget,
17856        text: *const c_char,
17857    );
17858    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
17859    pub fn gtk_app_chooser_widget_set_show_default(
17860        self_: *mut GtkAppChooserWidget,
17861        setting: gboolean,
17862    );
17863    pub fn gtk_app_chooser_widget_set_show_fallback(
17864        self_: *mut GtkAppChooserWidget,
17865        setting: gboolean,
17866    );
17867    pub fn gtk_app_chooser_widget_set_show_other(
17868        self_: *mut GtkAppChooserWidget,
17869        setting: gboolean,
17870    );
17871    pub fn gtk_app_chooser_widget_set_show_recommended(
17872        self_: *mut GtkAppChooserWidget,
17873        setting: gboolean,
17874    );
17875
17876    //=========================================================================
17877    // GtkApplication
17878    //=========================================================================
17879    pub fn gtk_application_get_type() -> GType;
17880    pub fn gtk_application_new(
17881        application_id: *const c_char,
17882        flags: gio::GApplicationFlags,
17883    ) -> *mut GtkApplication;
17884    pub fn gtk_application_add_accelerator(
17885        application: *mut GtkApplication,
17886        accelerator: *const c_char,
17887        action_name: *const c_char,
17888        parameter: *mut glib::GVariant,
17889    );
17890    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
17891    pub fn gtk_application_get_accels_for_action(
17892        application: *mut GtkApplication,
17893        detailed_action_name: *const c_char,
17894    ) -> *mut *mut c_char;
17895    pub fn gtk_application_get_actions_for_accel(
17896        application: *mut GtkApplication,
17897        accel: *const c_char,
17898    ) -> *mut *mut c_char;
17899    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
17900    pub fn gtk_application_get_app_menu(application: *mut GtkApplication) -> *mut gio::GMenuModel;
17901    pub fn gtk_application_get_menu_by_id(
17902        application: *mut GtkApplication,
17903        id: *const c_char,
17904    ) -> *mut gio::GMenu;
17905    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
17906    pub fn gtk_application_get_window_by_id(
17907        application: *mut GtkApplication,
17908        id: c_uint,
17909    ) -> *mut GtkWindow;
17910    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
17911    pub fn gtk_application_inhibit(
17912        application: *mut GtkApplication,
17913        window: *mut GtkWindow,
17914        flags: GtkApplicationInhibitFlags,
17915        reason: *const c_char,
17916    ) -> c_uint;
17917    pub fn gtk_application_is_inhibited(
17918        application: *mut GtkApplication,
17919        flags: GtkApplicationInhibitFlags,
17920    ) -> gboolean;
17921    pub fn gtk_application_list_action_descriptions(
17922        application: *mut GtkApplication,
17923    ) -> *mut *mut c_char;
17924    pub fn gtk_application_prefers_app_menu(application: *mut GtkApplication) -> gboolean;
17925    pub fn gtk_application_remove_accelerator(
17926        application: *mut GtkApplication,
17927        action_name: *const c_char,
17928        parameter: *mut glib::GVariant,
17929    );
17930    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
17931    pub fn gtk_application_set_accels_for_action(
17932        application: *mut GtkApplication,
17933        detailed_action_name: *const c_char,
17934        accels: *const *const c_char,
17935    );
17936    pub fn gtk_application_set_app_menu(
17937        application: *mut GtkApplication,
17938        app_menu: *mut gio::GMenuModel,
17939    );
17940    pub fn gtk_application_set_menubar(
17941        application: *mut GtkApplication,
17942        menubar: *mut gio::GMenuModel,
17943    );
17944    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
17945
17946    //=========================================================================
17947    // GtkApplicationWindow
17948    //=========================================================================
17949    pub fn gtk_application_window_get_type() -> GType;
17950    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
17951    pub fn gtk_application_window_get_help_overlay(
17952        window: *mut GtkApplicationWindow,
17953    ) -> *mut GtkShortcutsWindow;
17954    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
17955    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
17956    pub fn gtk_application_window_set_help_overlay(
17957        window: *mut GtkApplicationWindow,
17958        help_overlay: *mut GtkShortcutsWindow,
17959    );
17960    pub fn gtk_application_window_set_show_menubar(
17961        window: *mut GtkApplicationWindow,
17962        show_menubar: gboolean,
17963    );
17964
17965    //=========================================================================
17966    // GtkArrow
17967    //=========================================================================
17968    pub fn gtk_arrow_get_type() -> GType;
17969    pub fn gtk_arrow_new(arrow_type: GtkArrowType, shadow_type: GtkShadowType) -> *mut GtkWidget;
17970    pub fn gtk_arrow_set(
17971        arrow: *mut GtkArrow,
17972        arrow_type: GtkArrowType,
17973        shadow_type: GtkShadowType,
17974    );
17975
17976    //=========================================================================
17977    // GtkArrowAccessible
17978    //=========================================================================
17979    pub fn gtk_arrow_accessible_get_type() -> GType;
17980
17981    //=========================================================================
17982    // GtkAspectFrame
17983    //=========================================================================
17984    pub fn gtk_aspect_frame_get_type() -> GType;
17985    pub fn gtk_aspect_frame_new(
17986        label: *const c_char,
17987        xalign: c_float,
17988        yalign: c_float,
17989        ratio: c_float,
17990        obey_child: gboolean,
17991    ) -> *mut GtkWidget;
17992    pub fn gtk_aspect_frame_set(
17993        aspect_frame: *mut GtkAspectFrame,
17994        xalign: c_float,
17995        yalign: c_float,
17996        ratio: c_float,
17997        obey_child: gboolean,
17998    );
17999
18000    //=========================================================================
18001    // GtkAssistant
18002    //=========================================================================
18003    pub fn gtk_assistant_get_type() -> GType;
18004    pub fn gtk_assistant_new() -> *mut GtkWidget;
18005    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
18006    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
18007    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
18008    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
18009    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
18010    pub fn gtk_assistant_get_nth_page(
18011        assistant: *mut GtkAssistant,
18012        page_num: c_int,
18013    ) -> *mut GtkWidget;
18014    pub fn gtk_assistant_get_page_complete(
18015        assistant: *mut GtkAssistant,
18016        page: *mut GtkWidget,
18017    ) -> gboolean;
18018    pub fn gtk_assistant_get_page_has_padding(
18019        assistant: *mut GtkAssistant,
18020        page: *mut GtkWidget,
18021    ) -> gboolean;
18022    pub fn gtk_assistant_get_page_header_image(
18023        assistant: *mut GtkAssistant,
18024        page: *mut GtkWidget,
18025    ) -> *mut gdk_pixbuf::GdkPixbuf;
18026    pub fn gtk_assistant_get_page_side_image(
18027        assistant: *mut GtkAssistant,
18028        page: *mut GtkWidget,
18029    ) -> *mut gdk_pixbuf::GdkPixbuf;
18030    pub fn gtk_assistant_get_page_title(
18031        assistant: *mut GtkAssistant,
18032        page: *mut GtkWidget,
18033    ) -> *const c_char;
18034    pub fn gtk_assistant_get_page_type(
18035        assistant: *mut GtkAssistant,
18036        page: *mut GtkWidget,
18037    ) -> GtkAssistantPageType;
18038    pub fn gtk_assistant_insert_page(
18039        assistant: *mut GtkAssistant,
18040        page: *mut GtkWidget,
18041        position: c_int,
18042    ) -> c_int;
18043    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
18044    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
18045    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
18046    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
18047    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
18048    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
18049    pub fn gtk_assistant_set_forward_page_func(
18050        assistant: *mut GtkAssistant,
18051        page_func: GtkAssistantPageFunc,
18052        data: gpointer,
18053        destroy: glib::GDestroyNotify,
18054    );
18055    pub fn gtk_assistant_set_page_complete(
18056        assistant: *mut GtkAssistant,
18057        page: *mut GtkWidget,
18058        complete: gboolean,
18059    );
18060    pub fn gtk_assistant_set_page_has_padding(
18061        assistant: *mut GtkAssistant,
18062        page: *mut GtkWidget,
18063        has_padding: gboolean,
18064    );
18065    pub fn gtk_assistant_set_page_header_image(
18066        assistant: *mut GtkAssistant,
18067        page: *mut GtkWidget,
18068        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
18069    );
18070    pub fn gtk_assistant_set_page_side_image(
18071        assistant: *mut GtkAssistant,
18072        page: *mut GtkWidget,
18073        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
18074    );
18075    pub fn gtk_assistant_set_page_title(
18076        assistant: *mut GtkAssistant,
18077        page: *mut GtkWidget,
18078        title: *const c_char,
18079    );
18080    pub fn gtk_assistant_set_page_type(
18081        assistant: *mut GtkAssistant,
18082        page: *mut GtkWidget,
18083        type_: GtkAssistantPageType,
18084    );
18085    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
18086
18087    //=========================================================================
18088    // GtkBin
18089    //=========================================================================
18090    pub fn gtk_bin_get_type() -> GType;
18091    pub fn gtk_bin_get_child(bin: *mut GtkBin) -> *mut GtkWidget;
18092
18093    //=========================================================================
18094    // GtkBooleanCellAccessible
18095    //=========================================================================
18096    pub fn gtk_boolean_cell_accessible_get_type() -> GType;
18097
18098    //=========================================================================
18099    // GtkBox
18100    //=========================================================================
18101    pub fn gtk_box_get_type() -> GType;
18102    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
18103    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
18104    pub fn gtk_box_get_center_widget(box_: *mut GtkBox) -> *mut GtkWidget;
18105    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
18106    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
18107    pub fn gtk_box_pack_end(
18108        box_: *mut GtkBox,
18109        child: *mut GtkWidget,
18110        expand: gboolean,
18111        fill: gboolean,
18112        padding: c_uint,
18113    );
18114    pub fn gtk_box_pack_start(
18115        box_: *mut GtkBox,
18116        child: *mut GtkWidget,
18117        expand: gboolean,
18118        fill: gboolean,
18119        padding: c_uint,
18120    );
18121    pub fn gtk_box_query_child_packing(
18122        box_: *mut GtkBox,
18123        child: *mut GtkWidget,
18124        expand: *mut gboolean,
18125        fill: *mut gboolean,
18126        padding: *mut c_uint,
18127        pack_type: *mut GtkPackType,
18128    );
18129    pub fn gtk_box_reorder_child(box_: *mut GtkBox, child: *mut GtkWidget, position: c_int);
18130    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
18131    pub fn gtk_box_set_center_widget(box_: *mut GtkBox, widget: *mut GtkWidget);
18132    pub fn gtk_box_set_child_packing(
18133        box_: *mut GtkBox,
18134        child: *mut GtkWidget,
18135        expand: gboolean,
18136        fill: gboolean,
18137        padding: c_uint,
18138        pack_type: GtkPackType,
18139    );
18140    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
18141    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
18142
18143    //=========================================================================
18144    // GtkBuilder
18145    //=========================================================================
18146    pub fn gtk_builder_get_type() -> GType;
18147    pub fn gtk_builder_new() -> *mut GtkBuilder;
18148    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
18149    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
18150    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
18151    pub fn gtk_builder_add_callback_symbol(
18152        builder: *mut GtkBuilder,
18153        callback_name: *const c_char,
18154        callback_symbol: gobject::GCallback,
18155    );
18156    pub fn gtk_builder_add_callback_symbols(
18157        builder: *mut GtkBuilder,
18158        first_callback_name: *const c_char,
18159        first_callback_symbol: gobject::GCallback,
18160        ...
18161    );
18162    pub fn gtk_builder_add_from_file(
18163        builder: *mut GtkBuilder,
18164        filename: *const c_char,
18165        error: *mut *mut glib::GError,
18166    ) -> c_uint;
18167    pub fn gtk_builder_add_from_resource(
18168        builder: *mut GtkBuilder,
18169        resource_path: *const c_char,
18170        error: *mut *mut glib::GError,
18171    ) -> c_uint;
18172    pub fn gtk_builder_add_from_string(
18173        builder: *mut GtkBuilder,
18174        buffer: *const c_char,
18175        length: size_t,
18176        error: *mut *mut glib::GError,
18177    ) -> c_uint;
18178    pub fn gtk_builder_add_objects_from_file(
18179        builder: *mut GtkBuilder,
18180        filename: *const c_char,
18181        object_ids: *mut *mut c_char,
18182        error: *mut *mut glib::GError,
18183    ) -> c_uint;
18184    pub fn gtk_builder_add_objects_from_resource(
18185        builder: *mut GtkBuilder,
18186        resource_path: *const c_char,
18187        object_ids: *mut *mut c_char,
18188        error: *mut *mut glib::GError,
18189    ) -> c_uint;
18190    pub fn gtk_builder_add_objects_from_string(
18191        builder: *mut GtkBuilder,
18192        buffer: *const c_char,
18193        length: size_t,
18194        object_ids: *mut *mut c_char,
18195        error: *mut *mut glib::GError,
18196    ) -> c_uint;
18197    pub fn gtk_builder_connect_signals(builder: *mut GtkBuilder, user_data: gpointer);
18198    pub fn gtk_builder_connect_signals_full(
18199        builder: *mut GtkBuilder,
18200        func: GtkBuilderConnectFunc,
18201        user_data: gpointer,
18202    );
18203    pub fn gtk_builder_expose_object(
18204        builder: *mut GtkBuilder,
18205        name: *const c_char,
18206        object: *mut gobject::GObject,
18207    );
18208    pub fn gtk_builder_extend_with_template(
18209        builder: *mut GtkBuilder,
18210        widget: *mut GtkWidget,
18211        template_type: GType,
18212        buffer: *const c_char,
18213        length: size_t,
18214        error: *mut *mut glib::GError,
18215    ) -> c_uint;
18216    pub fn gtk_builder_get_application(builder: *mut GtkBuilder) -> *mut GtkApplication;
18217    pub fn gtk_builder_get_object(
18218        builder: *mut GtkBuilder,
18219        name: *const c_char,
18220    ) -> *mut gobject::GObject;
18221    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
18222    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
18223    pub fn gtk_builder_get_type_from_name(
18224        builder: *mut GtkBuilder,
18225        type_name: *const c_char,
18226    ) -> GType;
18227    pub fn gtk_builder_lookup_callback_symbol(
18228        builder: *mut GtkBuilder,
18229        callback_name: *const c_char,
18230    ) -> gobject::GCallback;
18231    pub fn gtk_builder_set_application(builder: *mut GtkBuilder, application: *mut GtkApplication);
18232    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
18233    pub fn gtk_builder_value_from_string(
18234        builder: *mut GtkBuilder,
18235        pspec: *mut gobject::GParamSpec,
18236        string: *const c_char,
18237        value: *mut gobject::GValue,
18238        error: *mut *mut glib::GError,
18239    ) -> gboolean;
18240    pub fn gtk_builder_value_from_string_type(
18241        builder: *mut GtkBuilder,
18242        type_: GType,
18243        string: *const c_char,
18244        value: *mut gobject::GValue,
18245        error: *mut *mut glib::GError,
18246    ) -> gboolean;
18247
18248    //=========================================================================
18249    // GtkButton
18250    //=========================================================================
18251    pub fn gtk_button_get_type() -> GType;
18252    pub fn gtk_button_new() -> *mut GtkWidget;
18253    pub fn gtk_button_new_from_icon_name(
18254        icon_name: *const c_char,
18255        size: GtkIconSize,
18256    ) -> *mut GtkWidget;
18257    pub fn gtk_button_new_from_stock(stock_id: *const c_char) -> *mut GtkWidget;
18258    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
18259    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
18260    pub fn gtk_button_clicked(button: *mut GtkButton);
18261    pub fn gtk_button_enter(button: *mut GtkButton);
18262    pub fn gtk_button_get_alignment(
18263        button: *mut GtkButton,
18264        xalign: *mut c_float,
18265        yalign: *mut c_float,
18266    );
18267    pub fn gtk_button_get_always_show_image(button: *mut GtkButton) -> gboolean;
18268    pub fn gtk_button_get_event_window(button: *mut GtkButton) -> *mut gdk::GdkWindow;
18269    pub fn gtk_button_get_focus_on_click(button: *mut GtkButton) -> gboolean;
18270    pub fn gtk_button_get_image(button: *mut GtkButton) -> *mut GtkWidget;
18271    pub fn gtk_button_get_image_position(button: *mut GtkButton) -> GtkPositionType;
18272    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
18273    pub fn gtk_button_get_relief(button: *mut GtkButton) -> GtkReliefStyle;
18274    pub fn gtk_button_get_use_stock(button: *mut GtkButton) -> gboolean;
18275    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
18276    pub fn gtk_button_leave(button: *mut GtkButton);
18277    pub fn gtk_button_pressed(button: *mut GtkButton);
18278    pub fn gtk_button_released(button: *mut GtkButton);
18279    pub fn gtk_button_set_alignment(button: *mut GtkButton, xalign: c_float, yalign: c_float);
18280    pub fn gtk_button_set_always_show_image(button: *mut GtkButton, always_show: gboolean);
18281    pub fn gtk_button_set_focus_on_click(button: *mut GtkButton, focus_on_click: gboolean);
18282    pub fn gtk_button_set_image(button: *mut GtkButton, image: *mut GtkWidget);
18283    pub fn gtk_button_set_image_position(button: *mut GtkButton, position: GtkPositionType);
18284    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
18285    pub fn gtk_button_set_relief(button: *mut GtkButton, relief: GtkReliefStyle);
18286    pub fn gtk_button_set_use_stock(button: *mut GtkButton, use_stock: gboolean);
18287    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
18288
18289    //=========================================================================
18290    // GtkButtonAccessible
18291    //=========================================================================
18292    pub fn gtk_button_accessible_get_type() -> GType;
18293
18294    //=========================================================================
18295    // GtkButtonBox
18296    //=========================================================================
18297    pub fn gtk_button_box_get_type() -> GType;
18298    pub fn gtk_button_box_new(orientation: GtkOrientation) -> *mut GtkWidget;
18299    pub fn gtk_button_box_get_child_non_homogeneous(
18300        widget: *mut GtkButtonBox,
18301        child: *mut GtkWidget,
18302    ) -> gboolean;
18303    pub fn gtk_button_box_get_child_secondary(
18304        widget: *mut GtkButtonBox,
18305        child: *mut GtkWidget,
18306    ) -> gboolean;
18307    pub fn gtk_button_box_get_layout(widget: *mut GtkButtonBox) -> GtkButtonBoxStyle;
18308    pub fn gtk_button_box_set_child_non_homogeneous(
18309        widget: *mut GtkButtonBox,
18310        child: *mut GtkWidget,
18311        non_homogeneous: gboolean,
18312    );
18313    pub fn gtk_button_box_set_child_secondary(
18314        widget: *mut GtkButtonBox,
18315        child: *mut GtkWidget,
18316        is_secondary: gboolean,
18317    );
18318    pub fn gtk_button_box_set_layout(widget: *mut GtkButtonBox, layout_style: GtkButtonBoxStyle);
18319
18320    //=========================================================================
18321    // GtkCalendar
18322    //=========================================================================
18323    pub fn gtk_calendar_get_type() -> GType;
18324    pub fn gtk_calendar_new() -> *mut GtkWidget;
18325    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
18326    pub fn gtk_calendar_get_date(
18327        calendar: *mut GtkCalendar,
18328        year: *mut c_uint,
18329        month: *mut c_uint,
18330        day: *mut c_uint,
18331    );
18332    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
18333    pub fn gtk_calendar_get_detail_height_rows(calendar: *mut GtkCalendar) -> c_int;
18334    pub fn gtk_calendar_get_detail_width_chars(calendar: *mut GtkCalendar) -> c_int;
18335    pub fn gtk_calendar_get_display_options(
18336        calendar: *mut GtkCalendar,
18337    ) -> GtkCalendarDisplayOptions;
18338    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
18339    pub fn gtk_calendar_select_day(calendar: *mut GtkCalendar, day: c_uint);
18340    pub fn gtk_calendar_select_month(calendar: *mut GtkCalendar, month: c_uint, year: c_uint);
18341    pub fn gtk_calendar_set_detail_func(
18342        calendar: *mut GtkCalendar,
18343        func: GtkCalendarDetailFunc,
18344        data: gpointer,
18345        destroy: glib::GDestroyNotify,
18346    );
18347    pub fn gtk_calendar_set_detail_height_rows(calendar: *mut GtkCalendar, rows: c_int);
18348    pub fn gtk_calendar_set_detail_width_chars(calendar: *mut GtkCalendar, chars: c_int);
18349    pub fn gtk_calendar_set_display_options(
18350        calendar: *mut GtkCalendar,
18351        flags: GtkCalendarDisplayOptions,
18352    );
18353    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
18354
18355    //=========================================================================
18356    // GtkCellAccessible
18357    //=========================================================================
18358    pub fn gtk_cell_accessible_get_type() -> GType;
18359
18360    //=========================================================================
18361    // GtkCellArea
18362    //=========================================================================
18363    pub fn gtk_cell_area_get_type() -> GType;
18364    pub fn gtk_cell_area_activate(
18365        area: *mut GtkCellArea,
18366        context: *mut GtkCellAreaContext,
18367        widget: *mut GtkWidget,
18368        cell_area: *const gdk::GdkRectangle,
18369        flags: GtkCellRendererState,
18370        edit_only: gboolean,
18371    ) -> gboolean;
18372    pub fn gtk_cell_area_activate_cell(
18373        area: *mut GtkCellArea,
18374        widget: *mut GtkWidget,
18375        renderer: *mut GtkCellRenderer,
18376        event: *mut gdk::GdkEvent,
18377        cell_area: *const gdk::GdkRectangle,
18378        flags: GtkCellRendererState,
18379    ) -> gboolean;
18380    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
18381    pub fn gtk_cell_area_add_focus_sibling(
18382        area: *mut GtkCellArea,
18383        renderer: *mut GtkCellRenderer,
18384        sibling: *mut GtkCellRenderer,
18385    );
18386    pub fn gtk_cell_area_add_with_properties(
18387        area: *mut GtkCellArea,
18388        renderer: *mut GtkCellRenderer,
18389        first_prop_name: *const c_char,
18390        ...
18391    );
18392    pub fn gtk_cell_area_apply_attributes(
18393        area: *mut GtkCellArea,
18394        tree_model: *mut GtkTreeModel,
18395        iter: *mut GtkTreeIter,
18396        is_expander: gboolean,
18397        is_expanded: gboolean,
18398    );
18399    pub fn gtk_cell_area_attribute_connect(
18400        area: *mut GtkCellArea,
18401        renderer: *mut GtkCellRenderer,
18402        attribute: *const c_char,
18403        column: c_int,
18404    );
18405    pub fn gtk_cell_area_attribute_disconnect(
18406        area: *mut GtkCellArea,
18407        renderer: *mut GtkCellRenderer,
18408        attribute: *const c_char,
18409    );
18410    pub fn gtk_cell_area_attribute_get_column(
18411        area: *mut GtkCellArea,
18412        renderer: *mut GtkCellRenderer,
18413        attribute: *const c_char,
18414    ) -> c_int;
18415    pub fn gtk_cell_area_cell_get(
18416        area: *mut GtkCellArea,
18417        renderer: *mut GtkCellRenderer,
18418        first_prop_name: *const c_char,
18419        ...
18420    );
18421    pub fn gtk_cell_area_cell_get_property(
18422        area: *mut GtkCellArea,
18423        renderer: *mut GtkCellRenderer,
18424        property_name: *const c_char,
18425        value: *mut gobject::GValue,
18426    );
18427    //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);
18428    pub fn gtk_cell_area_cell_set(
18429        area: *mut GtkCellArea,
18430        renderer: *mut GtkCellRenderer,
18431        first_prop_name: *const c_char,
18432        ...
18433    );
18434    pub fn gtk_cell_area_cell_set_property(
18435        area: *mut GtkCellArea,
18436        renderer: *mut GtkCellRenderer,
18437        property_name: *const c_char,
18438        value: *const gobject::GValue,
18439    );
18440    //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);
18441    pub fn gtk_cell_area_copy_context(
18442        area: *mut GtkCellArea,
18443        context: *mut GtkCellAreaContext,
18444    ) -> *mut GtkCellAreaContext;
18445    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
18446    pub fn gtk_cell_area_event(
18447        area: *mut GtkCellArea,
18448        context: *mut GtkCellAreaContext,
18449        widget: *mut GtkWidget,
18450        event: *mut gdk::GdkEvent,
18451        cell_area: *const gdk::GdkRectangle,
18452        flags: GtkCellRendererState,
18453    ) -> c_int;
18454    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
18455    pub fn gtk_cell_area_foreach(
18456        area: *mut GtkCellArea,
18457        callback: GtkCellCallback,
18458        callback_data: gpointer,
18459    );
18460    pub fn gtk_cell_area_foreach_alloc(
18461        area: *mut GtkCellArea,
18462        context: *mut GtkCellAreaContext,
18463        widget: *mut GtkWidget,
18464        cell_area: *const gdk::GdkRectangle,
18465        background_area: *const gdk::GdkRectangle,
18466        callback: GtkCellAllocCallback,
18467        callback_data: gpointer,
18468    );
18469    pub fn gtk_cell_area_get_cell_allocation(
18470        area: *mut GtkCellArea,
18471        context: *mut GtkCellAreaContext,
18472        widget: *mut GtkWidget,
18473        renderer: *mut GtkCellRenderer,
18474        cell_area: *const gdk::GdkRectangle,
18475        allocation: *mut gdk::GdkRectangle,
18476    );
18477    pub fn gtk_cell_area_get_cell_at_position(
18478        area: *mut GtkCellArea,
18479        context: *mut GtkCellAreaContext,
18480        widget: *mut GtkWidget,
18481        cell_area: *const gdk::GdkRectangle,
18482        x: c_int,
18483        y: c_int,
18484        alloc_area: *mut gdk::GdkRectangle,
18485    ) -> *mut GtkCellRenderer;
18486    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
18487    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
18488    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
18489    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
18490    pub fn gtk_cell_area_get_focus_from_sibling(
18491        area: *mut GtkCellArea,
18492        renderer: *mut GtkCellRenderer,
18493    ) -> *mut GtkCellRenderer;
18494    pub fn gtk_cell_area_get_focus_siblings(
18495        area: *mut GtkCellArea,
18496        renderer: *mut GtkCellRenderer,
18497    ) -> *const glib::GList;
18498    pub fn gtk_cell_area_get_preferred_height(
18499        area: *mut GtkCellArea,
18500        context: *mut GtkCellAreaContext,
18501        widget: *mut GtkWidget,
18502        minimum_height: *mut c_int,
18503        natural_height: *mut c_int,
18504    );
18505    pub fn gtk_cell_area_get_preferred_height_for_width(
18506        area: *mut GtkCellArea,
18507        context: *mut GtkCellAreaContext,
18508        widget: *mut GtkWidget,
18509        width: c_int,
18510        minimum_height: *mut c_int,
18511        natural_height: *mut c_int,
18512    );
18513    pub fn gtk_cell_area_get_preferred_width(
18514        area: *mut GtkCellArea,
18515        context: *mut GtkCellAreaContext,
18516        widget: *mut GtkWidget,
18517        minimum_width: *mut c_int,
18518        natural_width: *mut c_int,
18519    );
18520    pub fn gtk_cell_area_get_preferred_width_for_height(
18521        area: *mut GtkCellArea,
18522        context: *mut GtkCellAreaContext,
18523        widget: *mut GtkWidget,
18524        height: c_int,
18525        minimum_width: *mut c_int,
18526        natural_width: *mut c_int,
18527    );
18528    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
18529    pub fn gtk_cell_area_has_renderer(
18530        area: *mut GtkCellArea,
18531        renderer: *mut GtkCellRenderer,
18532    ) -> gboolean;
18533    pub fn gtk_cell_area_inner_cell_area(
18534        area: *mut GtkCellArea,
18535        widget: *mut GtkWidget,
18536        cell_area: *const gdk::GdkRectangle,
18537        inner_area: *mut gdk::GdkRectangle,
18538    );
18539    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
18540    pub fn gtk_cell_area_is_focus_sibling(
18541        area: *mut GtkCellArea,
18542        renderer: *mut GtkCellRenderer,
18543        sibling: *mut GtkCellRenderer,
18544    ) -> gboolean;
18545    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
18546    pub fn gtk_cell_area_remove_focus_sibling(
18547        area: *mut GtkCellArea,
18548        renderer: *mut GtkCellRenderer,
18549        sibling: *mut GtkCellRenderer,
18550    );
18551    pub fn gtk_cell_area_render(
18552        area: *mut GtkCellArea,
18553        context: *mut GtkCellAreaContext,
18554        widget: *mut GtkWidget,
18555        cr: *mut cairo::cairo_t,
18556        background_area: *const gdk::GdkRectangle,
18557        cell_area: *const gdk::GdkRectangle,
18558        flags: GtkCellRendererState,
18559        paint_focus: gboolean,
18560    );
18561    pub fn gtk_cell_area_request_renderer(
18562        area: *mut GtkCellArea,
18563        renderer: *mut GtkCellRenderer,
18564        orientation: GtkOrientation,
18565        widget: *mut GtkWidget,
18566        for_size: c_int,
18567        minimum_size: *mut c_int,
18568        natural_size: *mut c_int,
18569    );
18570    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
18571    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
18572
18573    //=========================================================================
18574    // GtkCellAreaBox
18575    //=========================================================================
18576    pub fn gtk_cell_area_box_get_type() -> GType;
18577    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
18578    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
18579    pub fn gtk_cell_area_box_pack_end(
18580        box_: *mut GtkCellAreaBox,
18581        renderer: *mut GtkCellRenderer,
18582        expand: gboolean,
18583        align: gboolean,
18584        fixed: gboolean,
18585    );
18586    pub fn gtk_cell_area_box_pack_start(
18587        box_: *mut GtkCellAreaBox,
18588        renderer: *mut GtkCellRenderer,
18589        expand: gboolean,
18590        align: gboolean,
18591        fixed: gboolean,
18592    );
18593    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
18594
18595    //=========================================================================
18596    // GtkCellAreaContext
18597    //=========================================================================
18598    pub fn gtk_cell_area_context_get_type() -> GType;
18599    pub fn gtk_cell_area_context_allocate(
18600        context: *mut GtkCellAreaContext,
18601        width: c_int,
18602        height: c_int,
18603    );
18604    pub fn gtk_cell_area_context_get_allocation(
18605        context: *mut GtkCellAreaContext,
18606        width: *mut c_int,
18607        height: *mut c_int,
18608    );
18609    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
18610    pub fn gtk_cell_area_context_get_preferred_height(
18611        context: *mut GtkCellAreaContext,
18612        minimum_height: *mut c_int,
18613        natural_height: *mut c_int,
18614    );
18615    pub fn gtk_cell_area_context_get_preferred_height_for_width(
18616        context: *mut GtkCellAreaContext,
18617        width: c_int,
18618        minimum_height: *mut c_int,
18619        natural_height: *mut c_int,
18620    );
18621    pub fn gtk_cell_area_context_get_preferred_width(
18622        context: *mut GtkCellAreaContext,
18623        minimum_width: *mut c_int,
18624        natural_width: *mut c_int,
18625    );
18626    pub fn gtk_cell_area_context_get_preferred_width_for_height(
18627        context: *mut GtkCellAreaContext,
18628        height: c_int,
18629        minimum_width: *mut c_int,
18630        natural_width: *mut c_int,
18631    );
18632    pub fn gtk_cell_area_context_push_preferred_height(
18633        context: *mut GtkCellAreaContext,
18634        minimum_height: c_int,
18635        natural_height: c_int,
18636    );
18637    pub fn gtk_cell_area_context_push_preferred_width(
18638        context: *mut GtkCellAreaContext,
18639        minimum_width: c_int,
18640        natural_width: c_int,
18641    );
18642    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
18643
18644    //=========================================================================
18645    // GtkCellRenderer
18646    //=========================================================================
18647    pub fn gtk_cell_renderer_get_type() -> GType;
18648    pub fn gtk_cell_renderer_activate(
18649        cell: *mut GtkCellRenderer,
18650        event: *mut gdk::GdkEvent,
18651        widget: *mut GtkWidget,
18652        path: *const c_char,
18653        background_area: *const gdk::GdkRectangle,
18654        cell_area: *const gdk::GdkRectangle,
18655        flags: GtkCellRendererState,
18656    ) -> gboolean;
18657    pub fn gtk_cell_renderer_get_aligned_area(
18658        cell: *mut GtkCellRenderer,
18659        widget: *mut GtkWidget,
18660        flags: GtkCellRendererState,
18661        cell_area: *const gdk::GdkRectangle,
18662        aligned_area: *mut gdk::GdkRectangle,
18663    );
18664    pub fn gtk_cell_renderer_get_alignment(
18665        cell: *mut GtkCellRenderer,
18666        xalign: *mut c_float,
18667        yalign: *mut c_float,
18668    );
18669    pub fn gtk_cell_renderer_get_fixed_size(
18670        cell: *mut GtkCellRenderer,
18671        width: *mut c_int,
18672        height: *mut c_int,
18673    );
18674    pub fn gtk_cell_renderer_get_padding(
18675        cell: *mut GtkCellRenderer,
18676        xpad: *mut c_int,
18677        ypad: *mut c_int,
18678    );
18679    pub fn gtk_cell_renderer_get_preferred_height(
18680        cell: *mut GtkCellRenderer,
18681        widget: *mut GtkWidget,
18682        minimum_size: *mut c_int,
18683        natural_size: *mut c_int,
18684    );
18685    pub fn gtk_cell_renderer_get_preferred_height_for_width(
18686        cell: *mut GtkCellRenderer,
18687        widget: *mut GtkWidget,
18688        width: c_int,
18689        minimum_height: *mut c_int,
18690        natural_height: *mut c_int,
18691    );
18692    pub fn gtk_cell_renderer_get_preferred_size(
18693        cell: *mut GtkCellRenderer,
18694        widget: *mut GtkWidget,
18695        minimum_size: *mut GtkRequisition,
18696        natural_size: *mut GtkRequisition,
18697    );
18698    pub fn gtk_cell_renderer_get_preferred_width(
18699        cell: *mut GtkCellRenderer,
18700        widget: *mut GtkWidget,
18701        minimum_size: *mut c_int,
18702        natural_size: *mut c_int,
18703    );
18704    pub fn gtk_cell_renderer_get_preferred_width_for_height(
18705        cell: *mut GtkCellRenderer,
18706        widget: *mut GtkWidget,
18707        height: c_int,
18708        minimum_width: *mut c_int,
18709        natural_width: *mut c_int,
18710    );
18711    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
18712    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
18713    pub fn gtk_cell_renderer_get_size(
18714        cell: *mut GtkCellRenderer,
18715        widget: *mut GtkWidget,
18716        cell_area: *const gdk::GdkRectangle,
18717        x_offset: *mut c_int,
18718        y_offset: *mut c_int,
18719        width: *mut c_int,
18720        height: *mut c_int,
18721    );
18722    pub fn gtk_cell_renderer_get_state(
18723        cell: *mut GtkCellRenderer,
18724        widget: *mut GtkWidget,
18725        cell_state: GtkCellRendererState,
18726    ) -> GtkStateFlags;
18727    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
18728    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
18729    pub fn gtk_cell_renderer_render(
18730        cell: *mut GtkCellRenderer,
18731        cr: *mut cairo::cairo_t,
18732        widget: *mut GtkWidget,
18733        background_area: *const gdk::GdkRectangle,
18734        cell_area: *const gdk::GdkRectangle,
18735        flags: GtkCellRendererState,
18736    );
18737    pub fn gtk_cell_renderer_set_alignment(
18738        cell: *mut GtkCellRenderer,
18739        xalign: c_float,
18740        yalign: c_float,
18741    );
18742    pub fn gtk_cell_renderer_set_fixed_size(
18743        cell: *mut GtkCellRenderer,
18744        width: c_int,
18745        height: c_int,
18746    );
18747    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
18748    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
18749    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
18750    pub fn gtk_cell_renderer_start_editing(
18751        cell: *mut GtkCellRenderer,
18752        event: *mut gdk::GdkEvent,
18753        widget: *mut GtkWidget,
18754        path: *const c_char,
18755        background_area: *const gdk::GdkRectangle,
18756        cell_area: *const gdk::GdkRectangle,
18757        flags: GtkCellRendererState,
18758    ) -> *mut GtkCellEditable;
18759    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
18760
18761    //=========================================================================
18762    // GtkCellRendererAccel
18763    //=========================================================================
18764    pub fn gtk_cell_renderer_accel_get_type() -> GType;
18765    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
18766
18767    //=========================================================================
18768    // GtkCellRendererCombo
18769    //=========================================================================
18770    pub fn gtk_cell_renderer_combo_get_type() -> GType;
18771    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
18772
18773    //=========================================================================
18774    // GtkCellRendererPixbuf
18775    //=========================================================================
18776    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
18777    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
18778
18779    //=========================================================================
18780    // GtkCellRendererProgress
18781    //=========================================================================
18782    pub fn gtk_cell_renderer_progress_get_type() -> GType;
18783    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
18784
18785    //=========================================================================
18786    // GtkCellRendererSpin
18787    //=========================================================================
18788    pub fn gtk_cell_renderer_spin_get_type() -> GType;
18789    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
18790
18791    //=========================================================================
18792    // GtkCellRendererSpinner
18793    //=========================================================================
18794    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
18795    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
18796
18797    //=========================================================================
18798    // GtkCellRendererText
18799    //=========================================================================
18800    pub fn gtk_cell_renderer_text_get_type() -> GType;
18801    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
18802    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
18803        renderer: *mut GtkCellRendererText,
18804        number_of_rows: c_int,
18805    );
18806
18807    //=========================================================================
18808    // GtkCellRendererToggle
18809    //=========================================================================
18810    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
18811    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
18812    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
18813        -> gboolean;
18814    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
18815    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
18816    pub fn gtk_cell_renderer_toggle_set_activatable(
18817        toggle: *mut GtkCellRendererToggle,
18818        setting: gboolean,
18819    );
18820    pub fn gtk_cell_renderer_toggle_set_active(
18821        toggle: *mut GtkCellRendererToggle,
18822        setting: gboolean,
18823    );
18824    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
18825
18826    //=========================================================================
18827    // GtkCellView
18828    //=========================================================================
18829    pub fn gtk_cell_view_get_type() -> GType;
18830    pub fn gtk_cell_view_new() -> *mut GtkWidget;
18831    pub fn gtk_cell_view_new_with_context(
18832        area: *mut GtkCellArea,
18833        context: *mut GtkCellAreaContext,
18834    ) -> *mut GtkWidget;
18835    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
18836    pub fn gtk_cell_view_new_with_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
18837    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
18838    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
18839    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
18840    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
18841    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
18842    pub fn gtk_cell_view_get_size_of_row(
18843        cell_view: *mut GtkCellView,
18844        path: *mut GtkTreePath,
18845        requisition: *mut GtkRequisition,
18846    ) -> gboolean;
18847    pub fn gtk_cell_view_set_background_color(
18848        cell_view: *mut GtkCellView,
18849        color: *const gdk::GdkColor,
18850    );
18851    pub fn gtk_cell_view_set_background_rgba(
18852        cell_view: *mut GtkCellView,
18853        rgba: *const gdk::GdkRGBA,
18854    );
18855    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
18856    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
18857    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
18858    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
18859
18860    //=========================================================================
18861    // GtkCheckButton
18862    //=========================================================================
18863    pub fn gtk_check_button_get_type() -> GType;
18864    pub fn gtk_check_button_new() -> *mut GtkWidget;
18865    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
18866    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
18867
18868    //=========================================================================
18869    // GtkCheckMenuItem
18870    //=========================================================================
18871    pub fn gtk_check_menu_item_get_type() -> GType;
18872    pub fn gtk_check_menu_item_new() -> *mut GtkWidget;
18873    pub fn gtk_check_menu_item_new_with_label(label: *const c_char) -> *mut GtkWidget;
18874    pub fn gtk_check_menu_item_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
18875    pub fn gtk_check_menu_item_get_active(check_menu_item: *mut GtkCheckMenuItem) -> gboolean;
18876    pub fn gtk_check_menu_item_get_draw_as_radio(
18877        check_menu_item: *mut GtkCheckMenuItem,
18878    ) -> gboolean;
18879    pub fn gtk_check_menu_item_get_inconsistent(check_menu_item: *mut GtkCheckMenuItem)
18880        -> gboolean;
18881    pub fn gtk_check_menu_item_set_active(
18882        check_menu_item: *mut GtkCheckMenuItem,
18883        is_active: gboolean,
18884    );
18885    pub fn gtk_check_menu_item_set_draw_as_radio(
18886        check_menu_item: *mut GtkCheckMenuItem,
18887        draw_as_radio: gboolean,
18888    );
18889    pub fn gtk_check_menu_item_set_inconsistent(
18890        check_menu_item: *mut GtkCheckMenuItem,
18891        setting: gboolean,
18892    );
18893    pub fn gtk_check_menu_item_toggled(check_menu_item: *mut GtkCheckMenuItem);
18894
18895    //=========================================================================
18896    // GtkCheckMenuItemAccessible
18897    //=========================================================================
18898    pub fn gtk_check_menu_item_accessible_get_type() -> GType;
18899
18900    //=========================================================================
18901    // GtkClipboard
18902    //=========================================================================
18903    pub fn gtk_clipboard_get_type() -> GType;
18904    pub fn gtk_clipboard_get(selection: gdk::GdkAtom) -> *mut GtkClipboard;
18905    pub fn gtk_clipboard_get_default(display: *mut gdk::GdkDisplay) -> *mut GtkClipboard;
18906    pub fn gtk_clipboard_get_for_display(
18907        display: *mut gdk::GdkDisplay,
18908        selection: gdk::GdkAtom,
18909    ) -> *mut GtkClipboard;
18910    pub fn gtk_clipboard_clear(clipboard: *mut GtkClipboard);
18911    pub fn gtk_clipboard_get_display(clipboard: *mut GtkClipboard) -> *mut gdk::GdkDisplay;
18912    pub fn gtk_clipboard_get_owner(clipboard: *mut GtkClipboard) -> *mut gobject::GObject;
18913    pub fn gtk_clipboard_get_selection(clipboard: *mut GtkClipboard) -> gdk::GdkAtom;
18914    pub fn gtk_clipboard_request_contents(
18915        clipboard: *mut GtkClipboard,
18916        target: gdk::GdkAtom,
18917        callback: GtkClipboardReceivedFunc,
18918        user_data: gpointer,
18919    );
18920    pub fn gtk_clipboard_request_image(
18921        clipboard: *mut GtkClipboard,
18922        callback: GtkClipboardImageReceivedFunc,
18923        user_data: gpointer,
18924    );
18925    pub fn gtk_clipboard_request_rich_text(
18926        clipboard: *mut GtkClipboard,
18927        buffer: *mut GtkTextBuffer,
18928        callback: GtkClipboardRichTextReceivedFunc,
18929        user_data: gpointer,
18930    );
18931    pub fn gtk_clipboard_request_targets(
18932        clipboard: *mut GtkClipboard,
18933        callback: GtkClipboardTargetsReceivedFunc,
18934        user_data: gpointer,
18935    );
18936    pub fn gtk_clipboard_request_text(
18937        clipboard: *mut GtkClipboard,
18938        callback: GtkClipboardTextReceivedFunc,
18939        user_data: gpointer,
18940    );
18941    pub fn gtk_clipboard_request_uris(
18942        clipboard: *mut GtkClipboard,
18943        callback: GtkClipboardURIReceivedFunc,
18944        user_data: gpointer,
18945    );
18946    pub fn gtk_clipboard_set_can_store(
18947        clipboard: *mut GtkClipboard,
18948        targets: *const GtkTargetEntry,
18949        n_targets: c_int,
18950    );
18951    pub fn gtk_clipboard_set_image(
18952        clipboard: *mut GtkClipboard,
18953        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
18954    );
18955    pub fn gtk_clipboard_set_text(clipboard: *mut GtkClipboard, text: *const c_char, len: c_int);
18956    pub fn gtk_clipboard_set_with_data(
18957        clipboard: *mut GtkClipboard,
18958        targets: *const GtkTargetEntry,
18959        n_targets: c_uint,
18960        get_func: GtkClipboardGetFunc,
18961        clear_func: GtkClipboardClearFunc,
18962        user_data: gpointer,
18963    ) -> gboolean;
18964    pub fn gtk_clipboard_set_with_owner(
18965        clipboard: *mut GtkClipboard,
18966        targets: *const GtkTargetEntry,
18967        n_targets: c_uint,
18968        get_func: GtkClipboardGetFunc,
18969        clear_func: GtkClipboardClearFunc,
18970        owner: *mut gobject::GObject,
18971    ) -> gboolean;
18972    pub fn gtk_clipboard_store(clipboard: *mut GtkClipboard);
18973    pub fn gtk_clipboard_wait_for_contents(
18974        clipboard: *mut GtkClipboard,
18975        target: gdk::GdkAtom,
18976    ) -> *mut GtkSelectionData;
18977    pub fn gtk_clipboard_wait_for_image(clipboard: *mut GtkClipboard)
18978        -> *mut gdk_pixbuf::GdkPixbuf;
18979    pub fn gtk_clipboard_wait_for_rich_text(
18980        clipboard: *mut GtkClipboard,
18981        buffer: *mut GtkTextBuffer,
18982        format: *mut gdk::GdkAtom,
18983        length: *mut size_t,
18984    ) -> *mut u8;
18985    pub fn gtk_clipboard_wait_for_targets(
18986        clipboard: *mut GtkClipboard,
18987        targets: *mut *mut gdk::GdkAtom,
18988        n_targets: *mut c_int,
18989    ) -> gboolean;
18990    pub fn gtk_clipboard_wait_for_text(clipboard: *mut GtkClipboard) -> *mut c_char;
18991    pub fn gtk_clipboard_wait_for_uris(clipboard: *mut GtkClipboard) -> *mut *mut c_char;
18992    pub fn gtk_clipboard_wait_is_image_available(clipboard: *mut GtkClipboard) -> gboolean;
18993    pub fn gtk_clipboard_wait_is_rich_text_available(
18994        clipboard: *mut GtkClipboard,
18995        buffer: *mut GtkTextBuffer,
18996    ) -> gboolean;
18997    pub fn gtk_clipboard_wait_is_target_available(
18998        clipboard: *mut GtkClipboard,
18999        target: gdk::GdkAtom,
19000    ) -> gboolean;
19001    pub fn gtk_clipboard_wait_is_text_available(clipboard: *mut GtkClipboard) -> gboolean;
19002    pub fn gtk_clipboard_wait_is_uris_available(clipboard: *mut GtkClipboard) -> gboolean;
19003
19004    //=========================================================================
19005    // GtkColorButton
19006    //=========================================================================
19007    pub fn gtk_color_button_get_type() -> GType;
19008    pub fn gtk_color_button_new() -> *mut GtkWidget;
19009    pub fn gtk_color_button_new_with_color(color: *const gdk::GdkColor) -> *mut GtkWidget;
19010    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
19011    pub fn gtk_color_button_get_alpha(button: *mut GtkColorButton) -> u16;
19012    pub fn gtk_color_button_get_color(button: *mut GtkColorButton, color: *mut gdk::GdkColor);
19013    pub fn gtk_color_button_get_rgba(button: *mut GtkColorButton, rgba: *mut gdk::GdkRGBA);
19014    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
19015    pub fn gtk_color_button_get_use_alpha(button: *mut GtkColorButton) -> gboolean;
19016    pub fn gtk_color_button_set_alpha(button: *mut GtkColorButton, alpha: u16);
19017    pub fn gtk_color_button_set_color(button: *mut GtkColorButton, color: *const gdk::GdkColor);
19018    pub fn gtk_color_button_set_rgba(button: *mut GtkColorButton, rgba: *const gdk::GdkRGBA);
19019    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
19020    pub fn gtk_color_button_set_use_alpha(button: *mut GtkColorButton, use_alpha: gboolean);
19021
19022    //=========================================================================
19023    // GtkColorChooserDialog
19024    //=========================================================================
19025    pub fn gtk_color_chooser_dialog_get_type() -> GType;
19026    pub fn gtk_color_chooser_dialog_new(
19027        title: *const c_char,
19028        parent: *mut GtkWindow,
19029    ) -> *mut GtkWidget;
19030
19031    //=========================================================================
19032    // GtkColorChooserWidget
19033    //=========================================================================
19034    pub fn gtk_color_chooser_widget_get_type() -> GType;
19035    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
19036
19037    //=========================================================================
19038    // GtkColorSelection
19039    //=========================================================================
19040    pub fn gtk_color_selection_get_type() -> GType;
19041    pub fn gtk_color_selection_new() -> *mut GtkWidget;
19042    pub fn gtk_color_selection_palette_from_string(
19043        str: *const c_char,
19044        colors: *mut *mut gdk::GdkColor,
19045        n_colors: *mut c_int,
19046    ) -> gboolean;
19047    pub fn gtk_color_selection_palette_to_string(
19048        colors: *const gdk::GdkColor,
19049        n_colors: c_int,
19050    ) -> *mut c_char;
19051    pub fn gtk_color_selection_set_change_palette_with_screen_hook(
19052        func: GtkColorSelectionChangePaletteWithScreenFunc,
19053    ) -> GtkColorSelectionChangePaletteWithScreenFunc;
19054    pub fn gtk_color_selection_get_current_alpha(colorsel: *mut GtkColorSelection) -> u16;
19055    pub fn gtk_color_selection_get_current_color(
19056        colorsel: *mut GtkColorSelection,
19057        color: *mut gdk::GdkColor,
19058    );
19059    pub fn gtk_color_selection_get_current_rgba(
19060        colorsel: *mut GtkColorSelection,
19061        rgba: *mut gdk::GdkRGBA,
19062    );
19063    pub fn gtk_color_selection_get_has_opacity_control(
19064        colorsel: *mut GtkColorSelection,
19065    ) -> gboolean;
19066    pub fn gtk_color_selection_get_has_palette(colorsel: *mut GtkColorSelection) -> gboolean;
19067    pub fn gtk_color_selection_get_previous_alpha(colorsel: *mut GtkColorSelection) -> u16;
19068    pub fn gtk_color_selection_get_previous_color(
19069        colorsel: *mut GtkColorSelection,
19070        color: *mut gdk::GdkColor,
19071    );
19072    pub fn gtk_color_selection_get_previous_rgba(
19073        colorsel: *mut GtkColorSelection,
19074        rgba: *mut gdk::GdkRGBA,
19075    );
19076    pub fn gtk_color_selection_is_adjusting(colorsel: *mut GtkColorSelection) -> gboolean;
19077    pub fn gtk_color_selection_set_current_alpha(colorsel: *mut GtkColorSelection, alpha: u16);
19078    pub fn gtk_color_selection_set_current_color(
19079        colorsel: *mut GtkColorSelection,
19080        color: *const gdk::GdkColor,
19081    );
19082    pub fn gtk_color_selection_set_current_rgba(
19083        colorsel: *mut GtkColorSelection,
19084        rgba: *const gdk::GdkRGBA,
19085    );
19086    pub fn gtk_color_selection_set_has_opacity_control(
19087        colorsel: *mut GtkColorSelection,
19088        has_opacity: gboolean,
19089    );
19090    pub fn gtk_color_selection_set_has_palette(
19091        colorsel: *mut GtkColorSelection,
19092        has_palette: gboolean,
19093    );
19094    pub fn gtk_color_selection_set_previous_alpha(colorsel: *mut GtkColorSelection, alpha: u16);
19095    pub fn gtk_color_selection_set_previous_color(
19096        colorsel: *mut GtkColorSelection,
19097        color: *const gdk::GdkColor,
19098    );
19099    pub fn gtk_color_selection_set_previous_rgba(
19100        colorsel: *mut GtkColorSelection,
19101        rgba: *const gdk::GdkRGBA,
19102    );
19103
19104    //=========================================================================
19105    // GtkColorSelectionDialog
19106    //=========================================================================
19107    pub fn gtk_color_selection_dialog_get_type() -> GType;
19108    pub fn gtk_color_selection_dialog_new(title: *const c_char) -> *mut GtkWidget;
19109    pub fn gtk_color_selection_dialog_get_color_selection(
19110        colorsel: *mut GtkColorSelectionDialog,
19111    ) -> *mut GtkWidget;
19112
19113    //=========================================================================
19114    // GtkComboBox
19115    //=========================================================================
19116    pub fn gtk_combo_box_get_type() -> GType;
19117    pub fn gtk_combo_box_new() -> *mut GtkWidget;
19118    pub fn gtk_combo_box_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
19119    pub fn gtk_combo_box_new_with_area_and_entry(area: *mut GtkCellArea) -> *mut GtkWidget;
19120    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
19121    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
19122    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
19123    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
19124    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
19125    pub fn gtk_combo_box_get_active_iter(
19126        combo_box: *mut GtkComboBox,
19127        iter: *mut GtkTreeIter,
19128    ) -> gboolean;
19129    pub fn gtk_combo_box_get_add_tearoffs(combo_box: *mut GtkComboBox) -> gboolean;
19130    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
19131    pub fn gtk_combo_box_get_column_span_column(combo_box: *mut GtkComboBox) -> c_int;
19132    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
19133    pub fn gtk_combo_box_get_focus_on_click(combo: *mut GtkComboBox) -> gboolean;
19134    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
19135    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
19136    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
19137    pub fn gtk_combo_box_get_popup_accessible(combo_box: *mut GtkComboBox) -> *mut atk::AtkObject;
19138    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
19139    pub fn gtk_combo_box_get_row_separator_func(
19140        combo_box: *mut GtkComboBox,
19141    ) -> GtkTreeViewRowSeparatorFunc;
19142    pub fn gtk_combo_box_get_row_span_column(combo_box: *mut GtkComboBox) -> c_int;
19143    pub fn gtk_combo_box_get_title(combo_box: *mut GtkComboBox) -> *const c_char;
19144    pub fn gtk_combo_box_get_wrap_width(combo_box: *mut GtkComboBox) -> c_int;
19145    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
19146    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
19147    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
19148    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
19149    pub fn gtk_combo_box_set_active_id(
19150        combo_box: *mut GtkComboBox,
19151        active_id: *const c_char,
19152    ) -> gboolean;
19153    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
19154    pub fn gtk_combo_box_set_add_tearoffs(combo_box: *mut GtkComboBox, add_tearoffs: gboolean);
19155    pub fn gtk_combo_box_set_button_sensitivity(
19156        combo_box: *mut GtkComboBox,
19157        sensitivity: GtkSensitivityType,
19158    );
19159    pub fn gtk_combo_box_set_column_span_column(combo_box: *mut GtkComboBox, column_span: c_int);
19160    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
19161    pub fn gtk_combo_box_set_focus_on_click(combo: *mut GtkComboBox, focus_on_click: gboolean);
19162    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
19163    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
19164    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
19165    pub fn gtk_combo_box_set_row_separator_func(
19166        combo_box: *mut GtkComboBox,
19167        func: GtkTreeViewRowSeparatorFunc,
19168        data: gpointer,
19169        destroy: glib::GDestroyNotify,
19170    );
19171    pub fn gtk_combo_box_set_row_span_column(combo_box: *mut GtkComboBox, row_span: c_int);
19172    pub fn gtk_combo_box_set_title(combo_box: *mut GtkComboBox, title: *const c_char);
19173    pub fn gtk_combo_box_set_wrap_width(combo_box: *mut GtkComboBox, width: c_int);
19174
19175    //=========================================================================
19176    // GtkComboBoxAccessible
19177    //=========================================================================
19178    pub fn gtk_combo_box_accessible_get_type() -> GType;
19179
19180    //=========================================================================
19181    // GtkComboBoxText
19182    //=========================================================================
19183    pub fn gtk_combo_box_text_get_type() -> GType;
19184    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
19185    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
19186    pub fn gtk_combo_box_text_append(
19187        combo_box: *mut GtkComboBoxText,
19188        id: *const c_char,
19189        text: *const c_char,
19190    );
19191    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
19192    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
19193    pub fn gtk_combo_box_text_insert(
19194        combo_box: *mut GtkComboBoxText,
19195        position: c_int,
19196        id: *const c_char,
19197        text: *const c_char,
19198    );
19199    pub fn gtk_combo_box_text_insert_text(
19200        combo_box: *mut GtkComboBoxText,
19201        position: c_int,
19202        text: *const c_char,
19203    );
19204    pub fn gtk_combo_box_text_prepend(
19205        combo_box: *mut GtkComboBoxText,
19206        id: *const c_char,
19207        text: *const c_char,
19208    );
19209    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
19210    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
19211    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
19212
19213    //=========================================================================
19214    // GtkContainer
19215    //=========================================================================
19216    pub fn gtk_container_get_type() -> GType;
19217    pub fn gtk_container_add(container: *mut GtkContainer, widget: *mut GtkWidget);
19218    pub fn gtk_container_add_with_properties(
19219        container: *mut GtkContainer,
19220        widget: *mut GtkWidget,
19221        first_prop_name: *const c_char,
19222        ...
19223    );
19224    pub fn gtk_container_check_resize(container: *mut GtkContainer);
19225    pub fn gtk_container_child_get(
19226        container: *mut GtkContainer,
19227        child: *mut GtkWidget,
19228        first_prop_name: *const c_char,
19229        ...
19230    );
19231    pub fn gtk_container_child_get_property(
19232        container: *mut GtkContainer,
19233        child: *mut GtkWidget,
19234        property_name: *const c_char,
19235        value: *mut gobject::GValue,
19236    );
19237    //pub fn gtk_container_child_get_valist(container: *mut GtkContainer, child: *mut GtkWidget, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
19238    pub fn gtk_container_child_notify(
19239        container: *mut GtkContainer,
19240        child: *mut GtkWidget,
19241        child_property: *const c_char,
19242    );
19243    pub fn gtk_container_child_notify_by_pspec(
19244        container: *mut GtkContainer,
19245        child: *mut GtkWidget,
19246        pspec: *mut gobject::GParamSpec,
19247    );
19248    pub fn gtk_container_child_set(
19249        container: *mut GtkContainer,
19250        child: *mut GtkWidget,
19251        first_prop_name: *const c_char,
19252        ...
19253    );
19254    pub fn gtk_container_child_set_property(
19255        container: *mut GtkContainer,
19256        child: *mut GtkWidget,
19257        property_name: *const c_char,
19258        value: *const gobject::GValue,
19259    );
19260    //pub fn gtk_container_child_set_valist(container: *mut GtkContainer, child: *mut GtkWidget, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
19261    pub fn gtk_container_child_type(container: *mut GtkContainer) -> GType;
19262    pub fn gtk_container_forall(
19263        container: *mut GtkContainer,
19264        callback: GtkCallback,
19265        callback_data: gpointer,
19266    );
19267    pub fn gtk_container_foreach(
19268        container: *mut GtkContainer,
19269        callback: GtkCallback,
19270        callback_data: gpointer,
19271    );
19272    pub fn gtk_container_get_border_width(container: *mut GtkContainer) -> c_uint;
19273    pub fn gtk_container_get_children(container: *mut GtkContainer) -> *mut glib::GList;
19274    pub fn gtk_container_get_focus_chain(
19275        container: *mut GtkContainer,
19276        focusable_widgets: *mut *mut glib::GList,
19277    ) -> gboolean;
19278    pub fn gtk_container_get_focus_child(container: *mut GtkContainer) -> *mut GtkWidget;
19279    pub fn gtk_container_get_focus_hadjustment(container: *mut GtkContainer) -> *mut GtkAdjustment;
19280    pub fn gtk_container_get_focus_vadjustment(container: *mut GtkContainer) -> *mut GtkAdjustment;
19281    pub fn gtk_container_get_path_for_child(
19282        container: *mut GtkContainer,
19283        child: *mut GtkWidget,
19284    ) -> *mut GtkWidgetPath;
19285    pub fn gtk_container_get_resize_mode(container: *mut GtkContainer) -> GtkResizeMode;
19286    pub fn gtk_container_propagate_draw(
19287        container: *mut GtkContainer,
19288        child: *mut GtkWidget,
19289        cr: *mut cairo::cairo_t,
19290    );
19291    pub fn gtk_container_remove(container: *mut GtkContainer, widget: *mut GtkWidget);
19292    pub fn gtk_container_resize_children(container: *mut GtkContainer);
19293    pub fn gtk_container_set_border_width(container: *mut GtkContainer, border_width: c_uint);
19294    pub fn gtk_container_set_focus_chain(
19295        container: *mut GtkContainer,
19296        focusable_widgets: *mut glib::GList,
19297    );
19298    pub fn gtk_container_set_focus_child(container: *mut GtkContainer, child: *mut GtkWidget);
19299    pub fn gtk_container_set_focus_hadjustment(
19300        container: *mut GtkContainer,
19301        adjustment: *mut GtkAdjustment,
19302    );
19303    pub fn gtk_container_set_focus_vadjustment(
19304        container: *mut GtkContainer,
19305        adjustment: *mut GtkAdjustment,
19306    );
19307    pub fn gtk_container_set_reallocate_redraws(
19308        container: *mut GtkContainer,
19309        needs_redraws: gboolean,
19310    );
19311    pub fn gtk_container_set_resize_mode(container: *mut GtkContainer, resize_mode: GtkResizeMode);
19312    pub fn gtk_container_unset_focus_chain(container: *mut GtkContainer);
19313
19314    //=========================================================================
19315    // GtkContainerAccessible
19316    //=========================================================================
19317    pub fn gtk_container_accessible_get_type() -> GType;
19318
19319    //=========================================================================
19320    // GtkContainerCellAccessible
19321    //=========================================================================
19322    pub fn gtk_container_cell_accessible_get_type() -> GType;
19323    pub fn gtk_container_cell_accessible_new() -> *mut GtkContainerCellAccessible;
19324    pub fn gtk_container_cell_accessible_add_child(
19325        container: *mut GtkContainerCellAccessible,
19326        child: *mut GtkCellAccessible,
19327    );
19328    pub fn gtk_container_cell_accessible_get_children(
19329        container: *mut GtkContainerCellAccessible,
19330    ) -> *mut glib::GList;
19331    pub fn gtk_container_cell_accessible_remove_child(
19332        container: *mut GtkContainerCellAccessible,
19333        child: *mut GtkCellAccessible,
19334    );
19335
19336    //=========================================================================
19337    // GtkCssProvider
19338    //=========================================================================
19339    pub fn gtk_css_provider_get_type() -> GType;
19340    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
19341    pub fn gtk_css_provider_get_default() -> *mut GtkCssProvider;
19342    pub fn gtk_css_provider_get_named(
19343        name: *const c_char,
19344        variant: *const c_char,
19345    ) -> *mut GtkCssProvider;
19346    pub fn gtk_css_provider_load_from_data(
19347        css_provider: *mut GtkCssProvider,
19348        data: *const u8,
19349        length: ssize_t,
19350        error: *mut *mut glib::GError,
19351    ) -> gboolean;
19352    pub fn gtk_css_provider_load_from_file(
19353        css_provider: *mut GtkCssProvider,
19354        file: *mut gio::GFile,
19355        error: *mut *mut glib::GError,
19356    ) -> gboolean;
19357    pub fn gtk_css_provider_load_from_path(
19358        css_provider: *mut GtkCssProvider,
19359        path: *const c_char,
19360        error: *mut *mut glib::GError,
19361    ) -> gboolean;
19362    pub fn gtk_css_provider_load_from_resource(
19363        css_provider: *mut GtkCssProvider,
19364        resource_path: *const c_char,
19365    );
19366    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
19367
19368    //=========================================================================
19369    // GtkDialog
19370    //=========================================================================
19371    pub fn gtk_dialog_get_type() -> GType;
19372    pub fn gtk_dialog_new() -> *mut GtkWidget;
19373    pub fn gtk_dialog_new_with_buttons(
19374        title: *const c_char,
19375        parent: *mut GtkWindow,
19376        flags: GtkDialogFlags,
19377        first_button_text: *const c_char,
19378        ...
19379    ) -> *mut GtkWidget;
19380    pub fn gtk_dialog_add_action_widget(
19381        dialog: *mut GtkDialog,
19382        child: *mut GtkWidget,
19383        response_id: GtkResponseType,
19384    );
19385    pub fn gtk_dialog_add_button(
19386        dialog: *mut GtkDialog,
19387        button_text: *const c_char,
19388        response_id: GtkResponseType,
19389    ) -> *mut GtkWidget;
19390    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
19391    pub fn gtk_dialog_get_action_area(dialog: *mut GtkDialog) -> *mut GtkBox;
19392    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
19393    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
19394    pub fn gtk_dialog_get_response_for_widget(
19395        dialog: *mut GtkDialog,
19396        widget: *mut GtkWidget,
19397    ) -> c_int;
19398    pub fn gtk_dialog_get_widget_for_response(
19399        dialog: *mut GtkDialog,
19400        response_id: GtkResponseType,
19401    ) -> *mut GtkWidget;
19402    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
19403    pub fn gtk_dialog_run(dialog: *mut GtkDialog) -> c_int;
19404    pub fn gtk_dialog_set_alternative_button_order(
19405        dialog: *mut GtkDialog,
19406        first_response_id: c_int,
19407        ...
19408    );
19409    pub fn gtk_dialog_set_alternative_button_order_from_array(
19410        dialog: *mut GtkDialog,
19411        n_params: c_int,
19412        new_order: *mut c_int,
19413    );
19414    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
19415    pub fn gtk_dialog_set_response_sensitive(
19416        dialog: *mut GtkDialog,
19417        response_id: GtkResponseType,
19418        setting: gboolean,
19419    );
19420
19421    //=========================================================================
19422    // GtkDrawingArea
19423    //=========================================================================
19424    pub fn gtk_drawing_area_get_type() -> GType;
19425    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
19426
19427    //=========================================================================
19428    // GtkEntry
19429    //=========================================================================
19430    pub fn gtk_entry_get_type() -> GType;
19431    pub fn gtk_entry_new() -> *mut GtkWidget;
19432    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19433    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
19434    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
19435    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
19436    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
19437    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
19438    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
19439    pub fn gtk_entry_get_cursor_hadjustment(entry: *mut GtkEntry) -> *mut GtkAdjustment;
19440    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
19441    pub fn gtk_entry_get_icon_activatable(
19442        entry: *mut GtkEntry,
19443        icon_pos: GtkEntryIconPosition,
19444    ) -> gboolean;
19445    pub fn gtk_entry_get_icon_area(
19446        entry: *mut GtkEntry,
19447        icon_pos: GtkEntryIconPosition,
19448        icon_area: *mut gdk::GdkRectangle,
19449    );
19450    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
19451    pub fn gtk_entry_get_icon_gicon(
19452        entry: *mut GtkEntry,
19453        icon_pos: GtkEntryIconPosition,
19454    ) -> *mut gio::GIcon;
19455    pub fn gtk_entry_get_icon_name(
19456        entry: *mut GtkEntry,
19457        icon_pos: GtkEntryIconPosition,
19458    ) -> *const c_char;
19459    pub fn gtk_entry_get_icon_pixbuf(
19460        entry: *mut GtkEntry,
19461        icon_pos: GtkEntryIconPosition,
19462    ) -> *mut gdk_pixbuf::GdkPixbuf;
19463    pub fn gtk_entry_get_icon_sensitive(
19464        entry: *mut GtkEntry,
19465        icon_pos: GtkEntryIconPosition,
19466    ) -> gboolean;
19467    pub fn gtk_entry_get_icon_stock(
19468        entry: *mut GtkEntry,
19469        icon_pos: GtkEntryIconPosition,
19470    ) -> *const c_char;
19471    pub fn gtk_entry_get_icon_storage_type(
19472        entry: *mut GtkEntry,
19473        icon_pos: GtkEntryIconPosition,
19474    ) -> GtkImageType;
19475    pub fn gtk_entry_get_icon_tooltip_markup(
19476        entry: *mut GtkEntry,
19477        icon_pos: GtkEntryIconPosition,
19478    ) -> *mut c_char;
19479    pub fn gtk_entry_get_icon_tooltip_text(
19480        entry: *mut GtkEntry,
19481        icon_pos: GtkEntryIconPosition,
19482    ) -> *mut c_char;
19483    pub fn gtk_entry_get_inner_border(entry: *mut GtkEntry) -> *const GtkBorder;
19484    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
19485    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
19486    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
19487    pub fn gtk_entry_get_layout(entry: *mut GtkEntry) -> *mut pango::PangoLayout;
19488    pub fn gtk_entry_get_layout_offsets(entry: *mut GtkEntry, x: *mut c_int, y: *mut c_int);
19489    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
19490    pub fn gtk_entry_get_max_width_chars(entry: *mut GtkEntry) -> c_int;
19491    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
19492    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
19493    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
19494    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
19495    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
19496    pub fn gtk_entry_get_text(entry: *mut GtkEntry) -> *const c_char;
19497    pub fn gtk_entry_get_text_area(entry: *mut GtkEntry, text_area: *mut gdk::GdkRectangle);
19498    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
19499    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
19500    pub fn gtk_entry_get_width_chars(entry: *mut GtkEntry) -> c_int;
19501    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry);
19502    pub fn gtk_entry_im_context_filter_keypress(
19503        entry: *mut GtkEntry,
19504        event: *mut gdk::GdkEventKey,
19505    ) -> gboolean;
19506    pub fn gtk_entry_layout_index_to_text_index(entry: *mut GtkEntry, layout_index: c_int)
19507        -> c_int;
19508    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
19509    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
19510    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
19511    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
19512    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
19513    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
19514    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
19515    pub fn gtk_entry_set_cursor_hadjustment(entry: *mut GtkEntry, adjustment: *mut GtkAdjustment);
19516    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
19517    pub fn gtk_entry_set_icon_activatable(
19518        entry: *mut GtkEntry,
19519        icon_pos: GtkEntryIconPosition,
19520        activatable: gboolean,
19521    );
19522    pub fn gtk_entry_set_icon_drag_source(
19523        entry: *mut GtkEntry,
19524        icon_pos: GtkEntryIconPosition,
19525        target_list: *mut GtkTargetList,
19526        actions: gdk::GdkDragAction,
19527    );
19528    pub fn gtk_entry_set_icon_from_gicon(
19529        entry: *mut GtkEntry,
19530        icon_pos: GtkEntryIconPosition,
19531        icon: *mut gio::GIcon,
19532    );
19533    pub fn gtk_entry_set_icon_from_icon_name(
19534        entry: *mut GtkEntry,
19535        icon_pos: GtkEntryIconPosition,
19536        icon_name: *const c_char,
19537    );
19538    pub fn gtk_entry_set_icon_from_pixbuf(
19539        entry: *mut GtkEntry,
19540        icon_pos: GtkEntryIconPosition,
19541        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
19542    );
19543    pub fn gtk_entry_set_icon_from_stock(
19544        entry: *mut GtkEntry,
19545        icon_pos: GtkEntryIconPosition,
19546        stock_id: *const c_char,
19547    );
19548    pub fn gtk_entry_set_icon_sensitive(
19549        entry: *mut GtkEntry,
19550        icon_pos: GtkEntryIconPosition,
19551        sensitive: gboolean,
19552    );
19553    pub fn gtk_entry_set_icon_tooltip_markup(
19554        entry: *mut GtkEntry,
19555        icon_pos: GtkEntryIconPosition,
19556        tooltip: *const c_char,
19557    );
19558    pub fn gtk_entry_set_icon_tooltip_text(
19559        entry: *mut GtkEntry,
19560        icon_pos: GtkEntryIconPosition,
19561        tooltip: *const c_char,
19562    );
19563    pub fn gtk_entry_set_inner_border(entry: *mut GtkEntry, border: *const GtkBorder);
19564    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
19565    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
19566    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
19567    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
19568    pub fn gtk_entry_set_max_width_chars(entry: *mut GtkEntry, n_chars: c_int);
19569    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
19570    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
19571    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
19572    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
19573    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
19574    pub fn gtk_entry_set_text(entry: *mut GtkEntry, text: *const c_char);
19575    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
19576    pub fn gtk_entry_set_width_chars(entry: *mut GtkEntry, n_chars: c_int);
19577    pub fn gtk_entry_text_index_to_layout_index(entry: *mut GtkEntry, text_index: c_int) -> c_int;
19578    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
19579
19580    //=========================================================================
19581    // GtkEntryAccessible
19582    //=========================================================================
19583    pub fn gtk_entry_accessible_get_type() -> GType;
19584
19585    //=========================================================================
19586    // GtkEntryBuffer
19587    //=========================================================================
19588    pub fn gtk_entry_buffer_get_type() -> GType;
19589    pub fn gtk_entry_buffer_new(
19590        initial_chars: *const c_char,
19591        n_initial_chars: c_int,
19592    ) -> *mut GtkEntryBuffer;
19593    pub fn gtk_entry_buffer_delete_text(
19594        buffer: *mut GtkEntryBuffer,
19595        position: c_uint,
19596        n_chars: c_int,
19597    ) -> c_uint;
19598    pub fn gtk_entry_buffer_emit_deleted_text(
19599        buffer: *mut GtkEntryBuffer,
19600        position: c_uint,
19601        n_chars: c_uint,
19602    );
19603    pub fn gtk_entry_buffer_emit_inserted_text(
19604        buffer: *mut GtkEntryBuffer,
19605        position: c_uint,
19606        chars: *const c_char,
19607        n_chars: c_uint,
19608    );
19609    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
19610    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
19611    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
19612    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
19613    pub fn gtk_entry_buffer_insert_text(
19614        buffer: *mut GtkEntryBuffer,
19615        position: c_uint,
19616        chars: *const c_char,
19617        n_chars: c_int,
19618    ) -> c_uint;
19619    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
19620    pub fn gtk_entry_buffer_set_text(
19621        buffer: *mut GtkEntryBuffer,
19622        chars: *const c_char,
19623        n_chars: c_int,
19624    );
19625
19626    //=========================================================================
19627    // GtkEntryCompletion
19628    //=========================================================================
19629    pub fn gtk_entry_completion_get_type() -> GType;
19630    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
19631    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
19632    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
19633    pub fn gtk_entry_completion_compute_prefix(
19634        completion: *mut GtkEntryCompletion,
19635        key: *const c_char,
19636    ) -> *mut c_char;
19637    pub fn gtk_entry_completion_delete_action(completion: *mut GtkEntryCompletion, index_: c_int);
19638    pub fn gtk_entry_completion_get_completion_prefix(
19639        completion: *mut GtkEntryCompletion,
19640    ) -> *const c_char;
19641    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
19642    pub fn gtk_entry_completion_get_inline_completion(
19643        completion: *mut GtkEntryCompletion,
19644    ) -> gboolean;
19645    pub fn gtk_entry_completion_get_inline_selection(
19646        completion: *mut GtkEntryCompletion,
19647    ) -> gboolean;
19648    pub fn gtk_entry_completion_get_minimum_key_length(
19649        completion: *mut GtkEntryCompletion,
19650    ) -> c_int;
19651    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
19652        -> *mut GtkTreeModel;
19653    pub fn gtk_entry_completion_get_popup_completion(
19654        completion: *mut GtkEntryCompletion,
19655    ) -> gboolean;
19656    pub fn gtk_entry_completion_get_popup_set_width(
19657        completion: *mut GtkEntryCompletion,
19658    ) -> gboolean;
19659    pub fn gtk_entry_completion_get_popup_single_match(
19660        completion: *mut GtkEntryCompletion,
19661    ) -> gboolean;
19662    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
19663    pub fn gtk_entry_completion_insert_action_markup(
19664        completion: *mut GtkEntryCompletion,
19665        index_: c_int,
19666        markup: *const c_char,
19667    );
19668    pub fn gtk_entry_completion_insert_action_text(
19669        completion: *mut GtkEntryCompletion,
19670        index_: c_int,
19671        text: *const c_char,
19672    );
19673    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
19674    pub fn gtk_entry_completion_set_inline_completion(
19675        completion: *mut GtkEntryCompletion,
19676        inline_completion: gboolean,
19677    );
19678    pub fn gtk_entry_completion_set_inline_selection(
19679        completion: *mut GtkEntryCompletion,
19680        inline_selection: gboolean,
19681    );
19682    pub fn gtk_entry_completion_set_match_func(
19683        completion: *mut GtkEntryCompletion,
19684        func: GtkEntryCompletionMatchFunc,
19685        func_data: gpointer,
19686        func_notify: glib::GDestroyNotify,
19687    );
19688    pub fn gtk_entry_completion_set_minimum_key_length(
19689        completion: *mut GtkEntryCompletion,
19690        length: c_int,
19691    );
19692    pub fn gtk_entry_completion_set_model(
19693        completion: *mut GtkEntryCompletion,
19694        model: *mut GtkTreeModel,
19695    );
19696    pub fn gtk_entry_completion_set_popup_completion(
19697        completion: *mut GtkEntryCompletion,
19698        popup_completion: gboolean,
19699    );
19700    pub fn gtk_entry_completion_set_popup_set_width(
19701        completion: *mut GtkEntryCompletion,
19702        popup_set_width: gboolean,
19703    );
19704    pub fn gtk_entry_completion_set_popup_single_match(
19705        completion: *mut GtkEntryCompletion,
19706        popup_single_match: gboolean,
19707    );
19708    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
19709
19710    //=========================================================================
19711    // GtkEntryIconAccessible
19712    //=========================================================================
19713    pub fn gtk_entry_icon_accessible_get_type() -> GType;
19714
19715    //=========================================================================
19716    // GtkEventBox
19717    //=========================================================================
19718    pub fn gtk_event_box_get_type() -> GType;
19719    pub fn gtk_event_box_new() -> *mut GtkWidget;
19720    pub fn gtk_event_box_get_above_child(event_box: *mut GtkEventBox) -> gboolean;
19721    pub fn gtk_event_box_get_visible_window(event_box: *mut GtkEventBox) -> gboolean;
19722    pub fn gtk_event_box_set_above_child(event_box: *mut GtkEventBox, above_child: gboolean);
19723    pub fn gtk_event_box_set_visible_window(event_box: *mut GtkEventBox, visible_window: gboolean);
19724
19725    //=========================================================================
19726    // GtkEventController
19727    //=========================================================================
19728    pub fn gtk_event_controller_get_type() -> GType;
19729    pub fn gtk_event_controller_get_propagation_phase(
19730        controller: *mut GtkEventController,
19731    ) -> GtkPropagationPhase;
19732    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
19733    pub fn gtk_event_controller_handle_event(
19734        controller: *mut GtkEventController,
19735        event: *const gdk::GdkEvent,
19736    ) -> gboolean;
19737    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
19738    pub fn gtk_event_controller_set_propagation_phase(
19739        controller: *mut GtkEventController,
19740        phase: GtkPropagationPhase,
19741    );
19742
19743    //=========================================================================
19744    // GtkEventControllerKey
19745    //=========================================================================
19746    #[cfg(feature = "v3_24")]
19747    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19748    pub fn gtk_event_controller_key_get_type() -> GType;
19749    #[cfg(feature = "v3_24")]
19750    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19751    pub fn gtk_event_controller_key_new(widget: *mut GtkWidget) -> *mut GtkEventController;
19752    #[cfg(feature = "v3_24")]
19753    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19754    pub fn gtk_event_controller_key_forward(
19755        controller: *mut GtkEventControllerKey,
19756        widget: *mut GtkWidget,
19757    ) -> gboolean;
19758    #[cfg(feature = "v3_24")]
19759    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19760    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
19761    #[cfg(feature = "v3_24")]
19762    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19763    pub fn gtk_event_controller_key_get_im_context(
19764        controller: *mut GtkEventControllerKey,
19765    ) -> *mut GtkIMContext;
19766    #[cfg(feature = "v3_24")]
19767    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19768    pub fn gtk_event_controller_key_set_im_context(
19769        controller: *mut GtkEventControllerKey,
19770        im_context: *mut GtkIMContext,
19771    );
19772
19773    //=========================================================================
19774    // GtkEventControllerMotion
19775    //=========================================================================
19776    #[cfg(feature = "v3_24")]
19777    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19778    pub fn gtk_event_controller_motion_get_type() -> GType;
19779    #[cfg(feature = "v3_24")]
19780    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19781    pub fn gtk_event_controller_motion_new(widget: *mut GtkWidget) -> *mut GtkEventController;
19782
19783    //=========================================================================
19784    // GtkEventControllerScroll
19785    //=========================================================================
19786    #[cfg(feature = "v3_24")]
19787    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19788    pub fn gtk_event_controller_scroll_get_type() -> GType;
19789    #[cfg(feature = "v3_24")]
19790    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19791    pub fn gtk_event_controller_scroll_new(
19792        widget: *mut GtkWidget,
19793        flags: GtkEventControllerScrollFlags,
19794    ) -> *mut GtkEventController;
19795    #[cfg(feature = "v3_24")]
19796    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19797    pub fn gtk_event_controller_scroll_get_flags(
19798        scroll: *mut GtkEventControllerScroll,
19799    ) -> GtkEventControllerScrollFlags;
19800    #[cfg(feature = "v3_24")]
19801    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
19802    pub fn gtk_event_controller_scroll_set_flags(
19803        scroll: *mut GtkEventControllerScroll,
19804        flags: GtkEventControllerScrollFlags,
19805    );
19806
19807    //=========================================================================
19808    // GtkExpander
19809    //=========================================================================
19810    pub fn gtk_expander_get_type() -> GType;
19811    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
19812    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19813    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
19814    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
19815    pub fn gtk_expander_get_label_fill(expander: *mut GtkExpander) -> gboolean;
19816    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
19817    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
19818    pub fn gtk_expander_get_spacing(expander: *mut GtkExpander) -> c_int;
19819    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
19820    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
19821    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
19822    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
19823    pub fn gtk_expander_set_label_fill(expander: *mut GtkExpander, label_fill: gboolean);
19824    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
19825    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
19826    pub fn gtk_expander_set_spacing(expander: *mut GtkExpander, spacing: c_int);
19827    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
19828    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
19829
19830    //=========================================================================
19831    // GtkExpanderAccessible
19832    //=========================================================================
19833    pub fn gtk_expander_accessible_get_type() -> GType;
19834
19835    //=========================================================================
19836    // GtkFileChooserButton
19837    //=========================================================================
19838    pub fn gtk_file_chooser_button_get_type() -> GType;
19839    pub fn gtk_file_chooser_button_new(
19840        title: *const c_char,
19841        action: GtkFileChooserAction,
19842    ) -> *mut GtkWidget;
19843    pub fn gtk_file_chooser_button_new_with_dialog(dialog: *mut GtkDialog) -> *mut GtkWidget;
19844    pub fn gtk_file_chooser_button_get_focus_on_click(
19845        button: *mut GtkFileChooserButton,
19846    ) -> gboolean;
19847    pub fn gtk_file_chooser_button_get_title(button: *mut GtkFileChooserButton) -> *const c_char;
19848    pub fn gtk_file_chooser_button_get_width_chars(button: *mut GtkFileChooserButton) -> c_int;
19849    pub fn gtk_file_chooser_button_set_focus_on_click(
19850        button: *mut GtkFileChooserButton,
19851        focus_on_click: gboolean,
19852    );
19853    pub fn gtk_file_chooser_button_set_title(
19854        button: *mut GtkFileChooserButton,
19855        title: *const c_char,
19856    );
19857    pub fn gtk_file_chooser_button_set_width_chars(
19858        button: *mut GtkFileChooserButton,
19859        n_chars: c_int,
19860    );
19861
19862    //=========================================================================
19863    // GtkFileChooserDialog
19864    //=========================================================================
19865    pub fn gtk_file_chooser_dialog_get_type() -> GType;
19866    pub fn gtk_file_chooser_dialog_new(
19867        title: *const c_char,
19868        parent: *mut GtkWindow,
19869        action: GtkFileChooserAction,
19870        first_button_text: *const c_char,
19871        ...
19872    ) -> *mut GtkWidget;
19873
19874    //=========================================================================
19875    // GtkFileChooserNative
19876    //=========================================================================
19877    pub fn gtk_file_chooser_native_get_type() -> GType;
19878    pub fn gtk_file_chooser_native_new(
19879        title: *const c_char,
19880        parent: *mut GtkWindow,
19881        action: GtkFileChooserAction,
19882        accept_label: *const c_char,
19883        cancel_label: *const c_char,
19884    ) -> *mut GtkFileChooserNative;
19885    pub fn gtk_file_chooser_native_get_accept_label(
19886        self_: *mut GtkFileChooserNative,
19887    ) -> *const c_char;
19888    pub fn gtk_file_chooser_native_get_cancel_label(
19889        self_: *mut GtkFileChooserNative,
19890    ) -> *const c_char;
19891    pub fn gtk_file_chooser_native_set_accept_label(
19892        self_: *mut GtkFileChooserNative,
19893        accept_label: *const c_char,
19894    );
19895    pub fn gtk_file_chooser_native_set_cancel_label(
19896        self_: *mut GtkFileChooserNative,
19897        cancel_label: *const c_char,
19898    );
19899
19900    //=========================================================================
19901    // GtkFileChooserWidget
19902    //=========================================================================
19903    pub fn gtk_file_chooser_widget_get_type() -> GType;
19904    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
19905
19906    //=========================================================================
19907    // GtkFileChooserWidgetAccessible
19908    //=========================================================================
19909    #[cfg(feature = "v3_24_30")]
19910    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_30")))]
19911    pub fn gtk_file_chooser_widget_accessible_get_type() -> GType;
19912
19913    //=========================================================================
19914    // GtkFileFilter
19915    //=========================================================================
19916    pub fn gtk_file_filter_get_type() -> GType;
19917    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
19918    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
19919    pub fn gtk_file_filter_add_custom(
19920        filter: *mut GtkFileFilter,
19921        needed: GtkFileFilterFlags,
19922        func: GtkFileFilterFunc,
19923        data: gpointer,
19924        notify: glib::GDestroyNotify,
19925    );
19926    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
19927    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
19928    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
19929    pub fn gtk_file_filter_filter(
19930        filter: *mut GtkFileFilter,
19931        filter_info: *const GtkFileFilterInfo,
19932    ) -> gboolean;
19933    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
19934    pub fn gtk_file_filter_get_needed(filter: *mut GtkFileFilter) -> GtkFileFilterFlags;
19935    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
19936    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
19937
19938    //=========================================================================
19939    // GtkFixed
19940    //=========================================================================
19941    pub fn gtk_fixed_get_type() -> GType;
19942    pub fn gtk_fixed_new() -> *mut GtkWidget;
19943    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_int, y: c_int);
19944    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_int, y: c_int);
19945
19946    //=========================================================================
19947    // GtkFlowBox
19948    //=========================================================================
19949    pub fn gtk_flow_box_get_type() -> GType;
19950    pub fn gtk_flow_box_new() -> *mut GtkWidget;
19951    pub fn gtk_flow_box_bind_model(
19952        box_: *mut GtkFlowBox,
19953        model: *mut gio::GListModel,
19954        create_widget_func: GtkFlowBoxCreateWidgetFunc,
19955        user_data: gpointer,
19956        user_data_free_func: glib::GDestroyNotify,
19957    );
19958    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
19959    pub fn gtk_flow_box_get_child_at_index(
19960        box_: *mut GtkFlowBox,
19961        idx: c_int,
19962    ) -> *mut GtkFlowBoxChild;
19963    pub fn gtk_flow_box_get_child_at_pos(
19964        box_: *mut GtkFlowBox,
19965        x: c_int,
19966        y: c_int,
19967    ) -> *mut GtkFlowBoxChild;
19968    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
19969    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
19970    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
19971    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
19972    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
19973    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
19974    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
19975    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
19976    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
19977    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
19978    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
19979    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
19980    pub fn gtk_flow_box_selected_foreach(
19981        box_: *mut GtkFlowBox,
19982        func: GtkFlowBoxForeachFunc,
19983        data: gpointer,
19984    );
19985    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
19986    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
19987    pub fn gtk_flow_box_set_filter_func(
19988        box_: *mut GtkFlowBox,
19989        filter_func: GtkFlowBoxFilterFunc,
19990        user_data: gpointer,
19991        destroy: glib::GDestroyNotify,
19992    );
19993    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
19994    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
19995    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
19996    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
19997    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
19998    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
19999    pub fn gtk_flow_box_set_sort_func(
20000        box_: *mut GtkFlowBox,
20001        sort_func: GtkFlowBoxSortFunc,
20002        user_data: gpointer,
20003        destroy: glib::GDestroyNotify,
20004    );
20005    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
20006    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
20007    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
20008
20009    //=========================================================================
20010    // GtkFlowBoxAccessible
20011    //=========================================================================
20012    pub fn gtk_flow_box_accessible_get_type() -> GType;
20013
20014    //=========================================================================
20015    // GtkFlowBoxChild
20016    //=========================================================================
20017    pub fn gtk_flow_box_child_get_type() -> GType;
20018    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
20019    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
20020    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
20021    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
20022
20023    //=========================================================================
20024    // GtkFlowBoxChildAccessible
20025    //=========================================================================
20026    pub fn gtk_flow_box_child_accessible_get_type() -> GType;
20027
20028    //=========================================================================
20029    // GtkFontButton
20030    //=========================================================================
20031    pub fn gtk_font_button_get_type() -> GType;
20032    pub fn gtk_font_button_new() -> *mut GtkWidget;
20033    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
20034    pub fn gtk_font_button_get_font_name(font_button: *mut GtkFontButton) -> *const c_char;
20035    pub fn gtk_font_button_get_show_size(font_button: *mut GtkFontButton) -> gboolean;
20036    pub fn gtk_font_button_get_show_style(font_button: *mut GtkFontButton) -> gboolean;
20037    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
20038    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
20039    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
20040    pub fn gtk_font_button_set_font_name(
20041        font_button: *mut GtkFontButton,
20042        fontname: *const c_char,
20043    ) -> gboolean;
20044    pub fn gtk_font_button_set_show_size(font_button: *mut GtkFontButton, show_size: gboolean);
20045    pub fn gtk_font_button_set_show_style(font_button: *mut GtkFontButton, show_style: gboolean);
20046    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
20047    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
20048    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
20049
20050    //=========================================================================
20051    // GtkFontChooserDialog
20052    //=========================================================================
20053    pub fn gtk_font_chooser_dialog_get_type() -> GType;
20054    pub fn gtk_font_chooser_dialog_new(
20055        title: *const c_char,
20056        parent: *mut GtkWindow,
20057    ) -> *mut GtkWidget;
20058
20059    //=========================================================================
20060    // GtkFontChooserWidget
20061    //=========================================================================
20062    pub fn gtk_font_chooser_widget_get_type() -> GType;
20063    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
20064
20065    //=========================================================================
20066    // GtkFontSelection
20067    //=========================================================================
20068    pub fn gtk_font_selection_get_type() -> GType;
20069    pub fn gtk_font_selection_new() -> *mut GtkWidget;
20070    pub fn gtk_font_selection_get_face(fontsel: *mut GtkFontSelection)
20071        -> *mut pango::PangoFontFace;
20072    pub fn gtk_font_selection_get_face_list(fontsel: *mut GtkFontSelection) -> *mut GtkWidget;
20073    pub fn gtk_font_selection_get_family(
20074        fontsel: *mut GtkFontSelection,
20075    ) -> *mut pango::PangoFontFamily;
20076    pub fn gtk_font_selection_get_family_list(fontsel: *mut GtkFontSelection) -> *mut GtkWidget;
20077    pub fn gtk_font_selection_get_font_name(fontsel: *mut GtkFontSelection) -> *mut c_char;
20078    pub fn gtk_font_selection_get_preview_entry(fontsel: *mut GtkFontSelection) -> *mut GtkWidget;
20079    pub fn gtk_font_selection_get_preview_text(fontsel: *mut GtkFontSelection) -> *const c_char;
20080    pub fn gtk_font_selection_get_size(fontsel: *mut GtkFontSelection) -> c_int;
20081    pub fn gtk_font_selection_get_size_entry(fontsel: *mut GtkFontSelection) -> *mut GtkWidget;
20082    pub fn gtk_font_selection_get_size_list(fontsel: *mut GtkFontSelection) -> *mut GtkWidget;
20083    pub fn gtk_font_selection_set_font_name(
20084        fontsel: *mut GtkFontSelection,
20085        fontname: *const c_char,
20086    ) -> gboolean;
20087    pub fn gtk_font_selection_set_preview_text(fontsel: *mut GtkFontSelection, text: *const c_char);
20088
20089    //=========================================================================
20090    // GtkFontSelectionDialog
20091    //=========================================================================
20092    pub fn gtk_font_selection_dialog_get_type() -> GType;
20093    pub fn gtk_font_selection_dialog_new(title: *const c_char) -> *mut GtkWidget;
20094    pub fn gtk_font_selection_dialog_get_cancel_button(
20095        fsd: *mut GtkFontSelectionDialog,
20096    ) -> *mut GtkWidget;
20097    pub fn gtk_font_selection_dialog_get_font_name(fsd: *mut GtkFontSelectionDialog)
20098        -> *mut c_char;
20099    pub fn gtk_font_selection_dialog_get_font_selection(
20100        fsd: *mut GtkFontSelectionDialog,
20101    ) -> *mut GtkWidget;
20102    pub fn gtk_font_selection_dialog_get_ok_button(
20103        fsd: *mut GtkFontSelectionDialog,
20104    ) -> *mut GtkWidget;
20105    pub fn gtk_font_selection_dialog_get_preview_text(
20106        fsd: *mut GtkFontSelectionDialog,
20107    ) -> *const c_char;
20108    pub fn gtk_font_selection_dialog_set_font_name(
20109        fsd: *mut GtkFontSelectionDialog,
20110        fontname: *const c_char,
20111    ) -> gboolean;
20112    pub fn gtk_font_selection_dialog_set_preview_text(
20113        fsd: *mut GtkFontSelectionDialog,
20114        text: *const c_char,
20115    );
20116
20117    //=========================================================================
20118    // GtkFrame
20119    //=========================================================================
20120    pub fn gtk_frame_get_type() -> GType;
20121    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
20122    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
20123    pub fn gtk_frame_get_label_align(
20124        frame: *mut GtkFrame,
20125        xalign: *mut c_float,
20126        yalign: *mut c_float,
20127    );
20128    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
20129    pub fn gtk_frame_get_shadow_type(frame: *mut GtkFrame) -> GtkShadowType;
20130    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
20131    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float, yalign: c_float);
20132    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
20133    pub fn gtk_frame_set_shadow_type(frame: *mut GtkFrame, type_: GtkShadowType);
20134
20135    //=========================================================================
20136    // GtkFrameAccessible
20137    //=========================================================================
20138    pub fn gtk_frame_accessible_get_type() -> GType;
20139
20140    //=========================================================================
20141    // GtkGLArea
20142    //=========================================================================
20143    pub fn gtk_gl_area_get_type() -> GType;
20144    pub fn gtk_gl_area_new() -> *mut GtkWidget;
20145    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
20146    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
20147    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
20148    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
20149    pub fn gtk_gl_area_get_has_alpha(area: *mut GtkGLArea) -> gboolean;
20150    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
20151    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
20152    pub fn gtk_gl_area_get_required_version(
20153        area: *mut GtkGLArea,
20154        major: *mut c_int,
20155        minor: *mut c_int,
20156    );
20157    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
20158    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
20159    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
20160    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
20161    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
20162    pub fn gtk_gl_area_set_has_alpha(area: *mut GtkGLArea, has_alpha: gboolean);
20163    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
20164    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
20165    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
20166    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
20167
20168    //=========================================================================
20169    // GtkGesture
20170    //=========================================================================
20171    pub fn gtk_gesture_get_type() -> GType;
20172    pub fn gtk_gesture_get_bounding_box(
20173        gesture: *mut GtkGesture,
20174        rect: *mut gdk::GdkRectangle,
20175    ) -> gboolean;
20176    pub fn gtk_gesture_get_bounding_box_center(
20177        gesture: *mut GtkGesture,
20178        x: *mut c_double,
20179        y: *mut c_double,
20180    ) -> gboolean;
20181    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
20182    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
20183    pub fn gtk_gesture_get_last_event(
20184        gesture: *mut GtkGesture,
20185        sequence: *mut gdk::GdkEventSequence,
20186    ) -> *const gdk::GdkEvent;
20187    pub fn gtk_gesture_get_last_updated_sequence(
20188        gesture: *mut GtkGesture,
20189    ) -> *mut gdk::GdkEventSequence;
20190    pub fn gtk_gesture_get_point(
20191        gesture: *mut GtkGesture,
20192        sequence: *mut gdk::GdkEventSequence,
20193        x: *mut c_double,
20194        y: *mut c_double,
20195    ) -> gboolean;
20196    pub fn gtk_gesture_get_sequence_state(
20197        gesture: *mut GtkGesture,
20198        sequence: *mut gdk::GdkEventSequence,
20199    ) -> GtkEventSequenceState;
20200    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
20201    pub fn gtk_gesture_get_window(gesture: *mut GtkGesture) -> *mut gdk::GdkWindow;
20202    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
20203    pub fn gtk_gesture_handles_sequence(
20204        gesture: *mut GtkGesture,
20205        sequence: *mut gdk::GdkEventSequence,
20206    ) -> gboolean;
20207    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
20208    pub fn gtk_gesture_is_grouped_with(
20209        gesture: *mut GtkGesture,
20210        other: *mut GtkGesture,
20211    ) -> gboolean;
20212    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
20213    pub fn gtk_gesture_set_sequence_state(
20214        gesture: *mut GtkGesture,
20215        sequence: *mut gdk::GdkEventSequence,
20216        state: GtkEventSequenceState,
20217    ) -> gboolean;
20218    pub fn gtk_gesture_set_state(
20219        gesture: *mut GtkGesture,
20220        state: GtkEventSequenceState,
20221    ) -> gboolean;
20222    pub fn gtk_gesture_set_window(gesture: *mut GtkGesture, window: *mut gdk::GdkWindow);
20223    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
20224
20225    //=========================================================================
20226    // GtkGestureDrag
20227    //=========================================================================
20228    pub fn gtk_gesture_drag_get_type() -> GType;
20229    pub fn gtk_gesture_drag_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20230    pub fn gtk_gesture_drag_get_offset(
20231        gesture: *mut GtkGestureDrag,
20232        x: *mut c_double,
20233        y: *mut c_double,
20234    ) -> gboolean;
20235    pub fn gtk_gesture_drag_get_start_point(
20236        gesture: *mut GtkGestureDrag,
20237        x: *mut c_double,
20238        y: *mut c_double,
20239    ) -> gboolean;
20240
20241    //=========================================================================
20242    // GtkGestureLongPress
20243    //=========================================================================
20244    pub fn gtk_gesture_long_press_get_type() -> GType;
20245    pub fn gtk_gesture_long_press_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20246
20247    //=========================================================================
20248    // GtkGestureMultiPress
20249    //=========================================================================
20250    pub fn gtk_gesture_multi_press_get_type() -> GType;
20251    pub fn gtk_gesture_multi_press_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20252    pub fn gtk_gesture_multi_press_get_area(
20253        gesture: *mut GtkGestureMultiPress,
20254        rect: *mut gdk::GdkRectangle,
20255    ) -> gboolean;
20256    pub fn gtk_gesture_multi_press_set_area(
20257        gesture: *mut GtkGestureMultiPress,
20258        rect: *const gdk::GdkRectangle,
20259    );
20260
20261    //=========================================================================
20262    // GtkGesturePan
20263    //=========================================================================
20264    pub fn gtk_gesture_pan_get_type() -> GType;
20265    pub fn gtk_gesture_pan_new(
20266        widget: *mut GtkWidget,
20267        orientation: GtkOrientation,
20268    ) -> *mut GtkGesture;
20269    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
20270    pub fn gtk_gesture_pan_set_orientation(
20271        gesture: *mut GtkGesturePan,
20272        orientation: GtkOrientation,
20273    );
20274
20275    //=========================================================================
20276    // GtkGestureRotate
20277    //=========================================================================
20278    pub fn gtk_gesture_rotate_get_type() -> GType;
20279    pub fn gtk_gesture_rotate_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20280    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
20281
20282    //=========================================================================
20283    // GtkGestureSingle
20284    //=========================================================================
20285    pub fn gtk_gesture_single_get_type() -> GType;
20286    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
20287    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
20288    pub fn gtk_gesture_single_get_current_sequence(
20289        gesture: *mut GtkGestureSingle,
20290    ) -> *mut gdk::GdkEventSequence;
20291    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
20292    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
20293    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
20294    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
20295    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
20296
20297    //=========================================================================
20298    // GtkGestureStylus
20299    //=========================================================================
20300    pub fn gtk_gesture_stylus_get_type() -> GType;
20301    #[cfg(feature = "v3_24")]
20302    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
20303    pub fn gtk_gesture_stylus_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20304    #[cfg(feature = "v3_24")]
20305    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
20306    pub fn gtk_gesture_stylus_get_axes(
20307        gesture: *mut GtkGestureStylus,
20308        axes: *mut gdk::GdkAxisUse,
20309        values: *mut *mut c_double,
20310    ) -> gboolean;
20311    #[cfg(feature = "v3_24")]
20312    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
20313    pub fn gtk_gesture_stylus_get_axis(
20314        gesture: *mut GtkGestureStylus,
20315        axis: gdk::GdkAxisUse,
20316        value: *mut c_double,
20317    ) -> gboolean;
20318    #[cfg(feature = "v3_24")]
20319    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
20320    pub fn gtk_gesture_stylus_get_device_tool(
20321        gesture: *mut GtkGestureStylus,
20322    ) -> *mut gdk::GdkDeviceTool;
20323
20324    //=========================================================================
20325    // GtkGestureSwipe
20326    //=========================================================================
20327    pub fn gtk_gesture_swipe_get_type() -> GType;
20328    pub fn gtk_gesture_swipe_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20329    pub fn gtk_gesture_swipe_get_velocity(
20330        gesture: *mut GtkGestureSwipe,
20331        velocity_x: *mut c_double,
20332        velocity_y: *mut c_double,
20333    ) -> gboolean;
20334
20335    //=========================================================================
20336    // GtkGestureZoom
20337    //=========================================================================
20338    pub fn gtk_gesture_zoom_get_type() -> GType;
20339    pub fn gtk_gesture_zoom_new(widget: *mut GtkWidget) -> *mut GtkGesture;
20340    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
20341
20342    //=========================================================================
20343    // GtkGrid
20344    //=========================================================================
20345    pub fn gtk_grid_get_type() -> GType;
20346    pub fn gtk_grid_new() -> *mut GtkWidget;
20347    pub fn gtk_grid_attach(
20348        grid: *mut GtkGrid,
20349        child: *mut GtkWidget,
20350        left: c_int,
20351        top: c_int,
20352        width: c_int,
20353        height: c_int,
20354    );
20355    pub fn gtk_grid_attach_next_to(
20356        grid: *mut GtkGrid,
20357        child: *mut GtkWidget,
20358        sibling: *mut GtkWidget,
20359        side: GtkPositionType,
20360        width: c_int,
20361        height: c_int,
20362    );
20363    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
20364    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, left: c_int, top: c_int) -> *mut GtkWidget;
20365    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
20366    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
20367    pub fn gtk_grid_get_row_baseline_position(
20368        grid: *mut GtkGrid,
20369        row: c_int,
20370    ) -> GtkBaselinePosition;
20371    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
20372    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
20373    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
20374    pub fn gtk_grid_insert_next_to(
20375        grid: *mut GtkGrid,
20376        sibling: *mut GtkWidget,
20377        side: GtkPositionType,
20378    );
20379    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
20380    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
20381    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
20382    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
20383    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
20384    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
20385    pub fn gtk_grid_set_row_baseline_position(
20386        grid: *mut GtkGrid,
20387        row: c_int,
20388        pos: GtkBaselinePosition,
20389    );
20390    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
20391    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
20392
20393    //=========================================================================
20394    // GtkHBox
20395    //=========================================================================
20396    pub fn gtk_hbox_get_type() -> GType;
20397    pub fn gtk_hbox_new(homogeneous: gboolean, spacing: c_int) -> *mut GtkWidget;
20398
20399    //=========================================================================
20400    // GtkHButtonBox
20401    //=========================================================================
20402    pub fn gtk_hbutton_box_get_type() -> GType;
20403    pub fn gtk_hbutton_box_new() -> *mut GtkWidget;
20404
20405    //=========================================================================
20406    // GtkHPaned
20407    //=========================================================================
20408    pub fn gtk_hpaned_get_type() -> GType;
20409    pub fn gtk_hpaned_new() -> *mut GtkWidget;
20410
20411    //=========================================================================
20412    // GtkHSV
20413    //=========================================================================
20414    pub fn gtk_hsv_get_type() -> GType;
20415    pub fn gtk_hsv_new() -> *mut GtkWidget;
20416    pub fn gtk_hsv_to_rgb(
20417        h: c_double,
20418        s: c_double,
20419        v: c_double,
20420        r: *mut c_double,
20421        g: *mut c_double,
20422        b: *mut c_double,
20423    );
20424    pub fn gtk_hsv_get_color(
20425        hsv: *mut GtkHSV,
20426        h: *mut c_double,
20427        s: *mut c_double,
20428        v: *mut c_double,
20429    );
20430    pub fn gtk_hsv_get_metrics(hsv: *mut GtkHSV, size: *mut c_int, ring_width: *mut c_int);
20431    pub fn gtk_hsv_is_adjusting(hsv: *mut GtkHSV) -> gboolean;
20432    pub fn gtk_hsv_set_color(hsv: *mut GtkHSV, h: c_double, s: c_double, v: c_double);
20433    pub fn gtk_hsv_set_metrics(hsv: *mut GtkHSV, size: c_int, ring_width: c_int);
20434
20435    //=========================================================================
20436    // GtkHScale
20437    //=========================================================================
20438    pub fn gtk_hscale_get_type() -> GType;
20439    pub fn gtk_hscale_new(adjustment: *mut GtkAdjustment) -> *mut GtkWidget;
20440    pub fn gtk_hscale_new_with_range(
20441        min: c_double,
20442        max: c_double,
20443        step: c_double,
20444    ) -> *mut GtkWidget;
20445
20446    //=========================================================================
20447    // GtkHScrollbar
20448    //=========================================================================
20449    pub fn gtk_hscrollbar_get_type() -> GType;
20450    pub fn gtk_hscrollbar_new(adjustment: *mut GtkAdjustment) -> *mut GtkWidget;
20451
20452    //=========================================================================
20453    // GtkHSeparator
20454    //=========================================================================
20455    pub fn gtk_hseparator_get_type() -> GType;
20456    pub fn gtk_hseparator_new() -> *mut GtkWidget;
20457
20458    //=========================================================================
20459    // GtkHandleBox
20460    //=========================================================================
20461    pub fn gtk_handle_box_get_type() -> GType;
20462    pub fn gtk_handle_box_new() -> *mut GtkWidget;
20463    pub fn gtk_handle_box_get_child_detached(handle_box: *mut GtkHandleBox) -> gboolean;
20464    pub fn gtk_handle_box_get_handle_position(handle_box: *mut GtkHandleBox) -> GtkPositionType;
20465    pub fn gtk_handle_box_get_shadow_type(handle_box: *mut GtkHandleBox) -> GtkShadowType;
20466    pub fn gtk_handle_box_get_snap_edge(handle_box: *mut GtkHandleBox) -> GtkPositionType;
20467    pub fn gtk_handle_box_set_handle_position(
20468        handle_box: *mut GtkHandleBox,
20469        position: GtkPositionType,
20470    );
20471    pub fn gtk_handle_box_set_shadow_type(handle_box: *mut GtkHandleBox, type_: GtkShadowType);
20472    pub fn gtk_handle_box_set_snap_edge(handle_box: *mut GtkHandleBox, edge: GtkPositionType);
20473
20474    //=========================================================================
20475    // GtkHeaderBar
20476    //=========================================================================
20477    pub fn gtk_header_bar_get_type() -> GType;
20478    pub fn gtk_header_bar_new() -> *mut GtkWidget;
20479    pub fn gtk_header_bar_get_custom_title(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
20480    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
20481    pub fn gtk_header_bar_get_has_subtitle(bar: *mut GtkHeaderBar) -> gboolean;
20482    pub fn gtk_header_bar_get_show_close_button(bar: *mut GtkHeaderBar) -> gboolean;
20483    pub fn gtk_header_bar_get_subtitle(bar: *mut GtkHeaderBar) -> *const c_char;
20484    pub fn gtk_header_bar_get_title(bar: *mut GtkHeaderBar) -> *const c_char;
20485    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
20486    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
20487    pub fn gtk_header_bar_set_custom_title(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
20488    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
20489    pub fn gtk_header_bar_set_has_subtitle(bar: *mut GtkHeaderBar, setting: gboolean);
20490    pub fn gtk_header_bar_set_show_close_button(bar: *mut GtkHeaderBar, setting: gboolean);
20491    pub fn gtk_header_bar_set_subtitle(bar: *mut GtkHeaderBar, subtitle: *const c_char);
20492    pub fn gtk_header_bar_set_title(bar: *mut GtkHeaderBar, title: *const c_char);
20493
20494    //=========================================================================
20495    // GtkHeaderBarAccessible
20496    //=========================================================================
20497    #[cfg(feature = "v3_24_11")]
20498    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_11")))]
20499    pub fn gtk_header_bar_accessible_get_type() -> GType;
20500
20501    //=========================================================================
20502    // GtkIMContext
20503    //=========================================================================
20504    pub fn gtk_im_context_get_type() -> GType;
20505    pub fn gtk_im_context_delete_surrounding(
20506        context: *mut GtkIMContext,
20507        offset: c_int,
20508        n_chars: c_int,
20509    ) -> gboolean;
20510    pub fn gtk_im_context_filter_keypress(
20511        context: *mut GtkIMContext,
20512        event: *mut gdk::GdkEventKey,
20513    ) -> gboolean;
20514    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
20515    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
20516    pub fn gtk_im_context_get_preedit_string(
20517        context: *mut GtkIMContext,
20518        str: *mut *mut c_char,
20519        attrs: *mut *mut pango::PangoAttrList,
20520        cursor_pos: *mut c_int,
20521    );
20522    pub fn gtk_im_context_get_surrounding(
20523        context: *mut GtkIMContext,
20524        text: *mut *mut c_char,
20525        cursor_index: *mut c_int,
20526    ) -> gboolean;
20527    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
20528    pub fn gtk_im_context_set_client_window(
20529        context: *mut GtkIMContext,
20530        window: *mut gdk::GdkWindow,
20531    );
20532    pub fn gtk_im_context_set_cursor_location(
20533        context: *mut GtkIMContext,
20534        area: *const gdk::GdkRectangle,
20535    );
20536    pub fn gtk_im_context_set_surrounding(
20537        context: *mut GtkIMContext,
20538        text: *const c_char,
20539        len: c_int,
20540        cursor_index: c_int,
20541    );
20542    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
20543
20544    //=========================================================================
20545    // GtkIMContextSimple
20546    //=========================================================================
20547    pub fn gtk_im_context_simple_get_type() -> GType;
20548    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
20549    pub fn gtk_im_context_simple_add_compose_file(
20550        context_simple: *mut GtkIMContextSimple,
20551        compose_file: *const c_char,
20552    );
20553    pub fn gtk_im_context_simple_add_table(
20554        context_simple: *mut GtkIMContextSimple,
20555        data: *mut u16,
20556        max_seq_len: c_int,
20557        n_seqs: c_int,
20558    );
20559
20560    //=========================================================================
20561    // GtkIMMulticontext
20562    //=========================================================================
20563    pub fn gtk_im_multicontext_get_type() -> GType;
20564    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
20565    pub fn gtk_im_multicontext_append_menuitems(
20566        context: *mut GtkIMMulticontext,
20567        menushell: *mut GtkMenuShell,
20568    );
20569    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
20570    pub fn gtk_im_multicontext_set_context_id(
20571        context: *mut GtkIMMulticontext,
20572        context_id: *const c_char,
20573    );
20574
20575    //=========================================================================
20576    // GtkIconFactory
20577    //=========================================================================
20578    pub fn gtk_icon_factory_get_type() -> GType;
20579    pub fn gtk_icon_factory_new() -> *mut GtkIconFactory;
20580    pub fn gtk_icon_factory_lookup_default(stock_id: *const c_char) -> *mut GtkIconSet;
20581    pub fn gtk_icon_factory_add(
20582        factory: *mut GtkIconFactory,
20583        stock_id: *const c_char,
20584        icon_set: *mut GtkIconSet,
20585    );
20586    pub fn gtk_icon_factory_add_default(factory: *mut GtkIconFactory);
20587    pub fn gtk_icon_factory_lookup(
20588        factory: *mut GtkIconFactory,
20589        stock_id: *const c_char,
20590    ) -> *mut GtkIconSet;
20591    pub fn gtk_icon_factory_remove_default(factory: *mut GtkIconFactory);
20592
20593    //=========================================================================
20594    // GtkIconInfo
20595    //=========================================================================
20596    pub fn gtk_icon_info_get_type() -> GType;
20597    pub fn gtk_icon_info_new_for_pixbuf(
20598        icon_theme: *mut GtkIconTheme,
20599        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
20600    ) -> *mut GtkIconInfo;
20601    pub fn gtk_icon_info_copy(icon_info: *mut GtkIconInfo) -> *mut GtkIconInfo;
20602    pub fn gtk_icon_info_free(icon_info: *mut GtkIconInfo);
20603    pub fn gtk_icon_info_get_attach_points(
20604        icon_info: *mut GtkIconInfo,
20605        points: *mut *mut gdk::GdkPoint,
20606        n_points: *mut c_int,
20607    ) -> gboolean;
20608    pub fn gtk_icon_info_get_base_scale(icon_info: *mut GtkIconInfo) -> c_int;
20609    pub fn gtk_icon_info_get_base_size(icon_info: *mut GtkIconInfo) -> c_int;
20610    pub fn gtk_icon_info_get_builtin_pixbuf(
20611        icon_info: *mut GtkIconInfo,
20612    ) -> *mut gdk_pixbuf::GdkPixbuf;
20613    pub fn gtk_icon_info_get_display_name(icon_info: *mut GtkIconInfo) -> *const c_char;
20614    pub fn gtk_icon_info_get_embedded_rect(
20615        icon_info: *mut GtkIconInfo,
20616        rectangle: *mut gdk::GdkRectangle,
20617    ) -> gboolean;
20618    pub fn gtk_icon_info_get_filename(icon_info: *mut GtkIconInfo) -> *const c_char;
20619    pub fn gtk_icon_info_is_symbolic(icon_info: *mut GtkIconInfo) -> gboolean;
20620    pub fn gtk_icon_info_load_icon(
20621        icon_info: *mut GtkIconInfo,
20622        error: *mut *mut glib::GError,
20623    ) -> *mut gdk_pixbuf::GdkPixbuf;
20624    pub fn gtk_icon_info_load_icon_async(
20625        icon_info: *mut GtkIconInfo,
20626        cancellable: *mut gio::GCancellable,
20627        callback: gio::GAsyncReadyCallback,
20628        user_data: gpointer,
20629    );
20630    pub fn gtk_icon_info_load_icon_finish(
20631        icon_info: *mut GtkIconInfo,
20632        res: *mut gio::GAsyncResult,
20633        error: *mut *mut glib::GError,
20634    ) -> *mut gdk_pixbuf::GdkPixbuf;
20635    pub fn gtk_icon_info_load_surface(
20636        icon_info: *mut GtkIconInfo,
20637        for_window: *mut gdk::GdkWindow,
20638        error: *mut *mut glib::GError,
20639    ) -> *mut cairo::cairo_surface_t;
20640    pub fn gtk_icon_info_load_symbolic(
20641        icon_info: *mut GtkIconInfo,
20642        fg: *const gdk::GdkRGBA,
20643        success_color: *const gdk::GdkRGBA,
20644        warning_color: *const gdk::GdkRGBA,
20645        error_color: *const gdk::GdkRGBA,
20646        was_symbolic: *mut gboolean,
20647        error: *mut *mut glib::GError,
20648    ) -> *mut gdk_pixbuf::GdkPixbuf;
20649    pub fn gtk_icon_info_load_symbolic_async(
20650        icon_info: *mut GtkIconInfo,
20651        fg: *const gdk::GdkRGBA,
20652        success_color: *const gdk::GdkRGBA,
20653        warning_color: *const gdk::GdkRGBA,
20654        error_color: *const gdk::GdkRGBA,
20655        cancellable: *mut gio::GCancellable,
20656        callback: gio::GAsyncReadyCallback,
20657        user_data: gpointer,
20658    );
20659    pub fn gtk_icon_info_load_symbolic_finish(
20660        icon_info: *mut GtkIconInfo,
20661        res: *mut gio::GAsyncResult,
20662        was_symbolic: *mut gboolean,
20663        error: *mut *mut glib::GError,
20664    ) -> *mut gdk_pixbuf::GdkPixbuf;
20665    pub fn gtk_icon_info_load_symbolic_for_context(
20666        icon_info: *mut GtkIconInfo,
20667        context: *mut GtkStyleContext,
20668        was_symbolic: *mut gboolean,
20669        error: *mut *mut glib::GError,
20670    ) -> *mut gdk_pixbuf::GdkPixbuf;
20671    pub fn gtk_icon_info_load_symbolic_for_context_async(
20672        icon_info: *mut GtkIconInfo,
20673        context: *mut GtkStyleContext,
20674        cancellable: *mut gio::GCancellable,
20675        callback: gio::GAsyncReadyCallback,
20676        user_data: gpointer,
20677    );
20678    pub fn gtk_icon_info_load_symbolic_for_context_finish(
20679        icon_info: *mut GtkIconInfo,
20680        res: *mut gio::GAsyncResult,
20681        was_symbolic: *mut gboolean,
20682        error: *mut *mut glib::GError,
20683    ) -> *mut gdk_pixbuf::GdkPixbuf;
20684    pub fn gtk_icon_info_load_symbolic_for_style(
20685        icon_info: *mut GtkIconInfo,
20686        style: *mut GtkStyle,
20687        state: GtkStateType,
20688        was_symbolic: *mut gboolean,
20689        error: *mut *mut glib::GError,
20690    ) -> *mut gdk_pixbuf::GdkPixbuf;
20691    pub fn gtk_icon_info_set_raw_coordinates(
20692        icon_info: *mut GtkIconInfo,
20693        raw_coordinates: gboolean,
20694    );
20695
20696    //=========================================================================
20697    // GtkIconTheme
20698    //=========================================================================
20699    pub fn gtk_icon_theme_get_type() -> GType;
20700    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
20701    pub fn gtk_icon_theme_add_builtin_icon(
20702        icon_name: *const c_char,
20703        size: c_int,
20704        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
20705    );
20706    pub fn gtk_icon_theme_get_default() -> *mut GtkIconTheme;
20707    pub fn gtk_icon_theme_get_for_screen(screen: *mut gdk::GdkScreen) -> *mut GtkIconTheme;
20708    pub fn gtk_icon_theme_add_resource_path(icon_theme: *mut GtkIconTheme, path: *const c_char);
20709    pub fn gtk_icon_theme_append_search_path(icon_theme: *mut GtkIconTheme, path: *const c_char);
20710    pub fn gtk_icon_theme_choose_icon(
20711        icon_theme: *mut GtkIconTheme,
20712        icon_names: *mut *const c_char,
20713        size: c_int,
20714        flags: GtkIconLookupFlags,
20715    ) -> *mut GtkIconInfo;
20716    pub fn gtk_icon_theme_choose_icon_for_scale(
20717        icon_theme: *mut GtkIconTheme,
20718        icon_names: *mut *const c_char,
20719        size: c_int,
20720        scale: c_int,
20721        flags: GtkIconLookupFlags,
20722    ) -> *mut GtkIconInfo;
20723    pub fn gtk_icon_theme_get_example_icon_name(icon_theme: *mut GtkIconTheme) -> *mut c_char;
20724    pub fn gtk_icon_theme_get_icon_sizes(
20725        icon_theme: *mut GtkIconTheme,
20726        icon_name: *const c_char,
20727    ) -> *mut c_int;
20728    pub fn gtk_icon_theme_get_search_path(
20729        icon_theme: *mut GtkIconTheme,
20730        path: *mut *mut *mut c_char,
20731        n_elements: *mut c_int,
20732    );
20733    pub fn gtk_icon_theme_has_icon(
20734        icon_theme: *mut GtkIconTheme,
20735        icon_name: *const c_char,
20736    ) -> gboolean;
20737    pub fn gtk_icon_theme_list_contexts(icon_theme: *mut GtkIconTheme) -> *mut glib::GList;
20738    pub fn gtk_icon_theme_list_icons(
20739        icon_theme: *mut GtkIconTheme,
20740        context: *const c_char,
20741    ) -> *mut glib::GList;
20742    pub fn gtk_icon_theme_load_icon(
20743        icon_theme: *mut GtkIconTheme,
20744        icon_name: *const c_char,
20745        size: c_int,
20746        flags: GtkIconLookupFlags,
20747        error: *mut *mut glib::GError,
20748    ) -> *mut gdk_pixbuf::GdkPixbuf;
20749    pub fn gtk_icon_theme_load_icon_for_scale(
20750        icon_theme: *mut GtkIconTheme,
20751        icon_name: *const c_char,
20752        size: c_int,
20753        scale: c_int,
20754        flags: GtkIconLookupFlags,
20755        error: *mut *mut glib::GError,
20756    ) -> *mut gdk_pixbuf::GdkPixbuf;
20757    pub fn gtk_icon_theme_load_surface(
20758        icon_theme: *mut GtkIconTheme,
20759        icon_name: *const c_char,
20760        size: c_int,
20761        scale: c_int,
20762        for_window: *mut gdk::GdkWindow,
20763        flags: GtkIconLookupFlags,
20764        error: *mut *mut glib::GError,
20765    ) -> *mut cairo::cairo_surface_t;
20766    pub fn gtk_icon_theme_lookup_by_gicon(
20767        icon_theme: *mut GtkIconTheme,
20768        icon: *mut gio::GIcon,
20769        size: c_int,
20770        flags: GtkIconLookupFlags,
20771    ) -> *mut GtkIconInfo;
20772    pub fn gtk_icon_theme_lookup_by_gicon_for_scale(
20773        icon_theme: *mut GtkIconTheme,
20774        icon: *mut gio::GIcon,
20775        size: c_int,
20776        scale: c_int,
20777        flags: GtkIconLookupFlags,
20778    ) -> *mut GtkIconInfo;
20779    pub fn gtk_icon_theme_lookup_icon(
20780        icon_theme: *mut GtkIconTheme,
20781        icon_name: *const c_char,
20782        size: c_int,
20783        flags: GtkIconLookupFlags,
20784    ) -> *mut GtkIconInfo;
20785    pub fn gtk_icon_theme_lookup_icon_for_scale(
20786        icon_theme: *mut GtkIconTheme,
20787        icon_name: *const c_char,
20788        size: c_int,
20789        scale: c_int,
20790        flags: GtkIconLookupFlags,
20791    ) -> *mut GtkIconInfo;
20792    pub fn gtk_icon_theme_prepend_search_path(icon_theme: *mut GtkIconTheme, path: *const c_char);
20793    pub fn gtk_icon_theme_rescan_if_needed(icon_theme: *mut GtkIconTheme) -> gboolean;
20794    pub fn gtk_icon_theme_set_custom_theme(
20795        icon_theme: *mut GtkIconTheme,
20796        theme_name: *const c_char,
20797    );
20798    pub fn gtk_icon_theme_set_screen(icon_theme: *mut GtkIconTheme, screen: *mut gdk::GdkScreen);
20799    pub fn gtk_icon_theme_set_search_path(
20800        icon_theme: *mut GtkIconTheme,
20801        path: *mut *const c_char,
20802        n_elements: c_int,
20803    );
20804
20805    //=========================================================================
20806    // GtkIconView
20807    //=========================================================================
20808    pub fn gtk_icon_view_get_type() -> GType;
20809    pub fn gtk_icon_view_new() -> *mut GtkWidget;
20810    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
20811    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20812    pub fn gtk_icon_view_convert_widget_to_bin_window_coords(
20813        icon_view: *mut GtkIconView,
20814        wx: c_int,
20815        wy: c_int,
20816        bx: *mut c_int,
20817        by: *mut c_int,
20818    );
20819    pub fn gtk_icon_view_create_drag_icon(
20820        icon_view: *mut GtkIconView,
20821        path: *mut GtkTreePath,
20822    ) -> *mut cairo::cairo_surface_t;
20823    pub fn gtk_icon_view_enable_model_drag_dest(
20824        icon_view: *mut GtkIconView,
20825        targets: *const GtkTargetEntry,
20826        n_targets: c_int,
20827        actions: gdk::GdkDragAction,
20828    );
20829    pub fn gtk_icon_view_enable_model_drag_source(
20830        icon_view: *mut GtkIconView,
20831        start_button_mask: gdk::GdkModifierType,
20832        targets: *const GtkTargetEntry,
20833        n_targets: c_int,
20834        actions: gdk::GdkDragAction,
20835    );
20836    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
20837    pub fn gtk_icon_view_get_cell_rect(
20838        icon_view: *mut GtkIconView,
20839        path: *mut GtkTreePath,
20840        cell: *mut GtkCellRenderer,
20841        rect: *mut gdk::GdkRectangle,
20842    ) -> gboolean;
20843    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
20844    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
20845    pub fn gtk_icon_view_get_cursor(
20846        icon_view: *mut GtkIconView,
20847        path: *mut *mut GtkTreePath,
20848        cell: *mut *mut GtkCellRenderer,
20849    ) -> gboolean;
20850    pub fn gtk_icon_view_get_dest_item_at_pos(
20851        icon_view: *mut GtkIconView,
20852        drag_x: c_int,
20853        drag_y: c_int,
20854        path: *mut *mut GtkTreePath,
20855        pos: *mut GtkIconViewDropPosition,
20856    ) -> gboolean;
20857    pub fn gtk_icon_view_get_drag_dest_item(
20858        icon_view: *mut GtkIconView,
20859        path: *mut *mut GtkTreePath,
20860        pos: *mut GtkIconViewDropPosition,
20861    );
20862    pub fn gtk_icon_view_get_item_at_pos(
20863        icon_view: *mut GtkIconView,
20864        x: c_int,
20865        y: c_int,
20866        path: *mut *mut GtkTreePath,
20867        cell: *mut *mut GtkCellRenderer,
20868    ) -> gboolean;
20869    pub fn gtk_icon_view_get_item_column(
20870        icon_view: *mut GtkIconView,
20871        path: *mut GtkTreePath,
20872    ) -> c_int;
20873    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
20874    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
20875    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
20876        -> c_int;
20877    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
20878    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
20879    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
20880    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
20881    pub fn gtk_icon_view_get_path_at_pos(
20882        icon_view: *mut GtkIconView,
20883        x: c_int,
20884        y: c_int,
20885    ) -> *mut GtkTreePath;
20886    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
20887    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
20888    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
20889    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
20890    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
20891    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
20892    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
20893    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
20894    pub fn gtk_icon_view_get_tooltip_context(
20895        icon_view: *mut GtkIconView,
20896        x: *mut c_int,
20897        y: *mut c_int,
20898        keyboard_tip: gboolean,
20899        model: *mut *mut GtkTreeModel,
20900        path: *mut *mut GtkTreePath,
20901        iter: *mut GtkTreeIter,
20902    ) -> gboolean;
20903    pub fn gtk_icon_view_get_visible_range(
20904        icon_view: *mut GtkIconView,
20905        start_path: *mut *mut GtkTreePath,
20906        end_path: *mut *mut GtkTreePath,
20907    ) -> gboolean;
20908    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
20909    pub fn gtk_icon_view_path_is_selected(
20910        icon_view: *mut GtkIconView,
20911        path: *mut GtkTreePath,
20912    ) -> gboolean;
20913    pub fn gtk_icon_view_scroll_to_path(
20914        icon_view: *mut GtkIconView,
20915        path: *mut GtkTreePath,
20916        use_align: gboolean,
20917        row_align: c_float,
20918        col_align: c_float,
20919    );
20920    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
20921    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
20922    pub fn gtk_icon_view_selected_foreach(
20923        icon_view: *mut GtkIconView,
20924        func: GtkIconViewForeachFunc,
20925        data: gpointer,
20926    );
20927    pub fn gtk_icon_view_set_activate_on_single_click(
20928        icon_view: *mut GtkIconView,
20929        single: gboolean,
20930    );
20931    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
20932    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
20933    pub fn gtk_icon_view_set_cursor(
20934        icon_view: *mut GtkIconView,
20935        path: *mut GtkTreePath,
20936        cell: *mut GtkCellRenderer,
20937        start_editing: gboolean,
20938    );
20939    pub fn gtk_icon_view_set_drag_dest_item(
20940        icon_view: *mut GtkIconView,
20941        path: *mut GtkTreePath,
20942        pos: GtkIconViewDropPosition,
20943    );
20944    pub fn gtk_icon_view_set_item_orientation(
20945        icon_view: *mut GtkIconView,
20946        orientation: GtkOrientation,
20947    );
20948    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
20949    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
20950    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
20951    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
20952    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
20953    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
20954    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
20955    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
20956    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
20957    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
20958    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
20959    pub fn gtk_icon_view_set_tooltip_cell(
20960        icon_view: *mut GtkIconView,
20961        tooltip: *mut GtkTooltip,
20962        path: *mut GtkTreePath,
20963        cell: *mut GtkCellRenderer,
20964    );
20965    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
20966    pub fn gtk_icon_view_set_tooltip_item(
20967        icon_view: *mut GtkIconView,
20968        tooltip: *mut GtkTooltip,
20969        path: *mut GtkTreePath,
20970    );
20971    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
20972    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
20973    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
20974    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
20975
20976    //=========================================================================
20977    // GtkIconViewAccessible
20978    //=========================================================================
20979    pub fn gtk_icon_view_accessible_get_type() -> GType;
20980
20981    //=========================================================================
20982    // GtkImage
20983    //=========================================================================
20984    pub fn gtk_image_get_type() -> GType;
20985    pub fn gtk_image_new() -> *mut GtkWidget;
20986    pub fn gtk_image_new_from_animation(
20987        animation: *mut gdk_pixbuf::GdkPixbufAnimation,
20988    ) -> *mut GtkWidget;
20989    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
20990    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon, size: GtkIconSize) -> *mut GtkWidget;
20991    pub fn gtk_image_new_from_icon_name(
20992        icon_name: *const c_char,
20993        size: GtkIconSize,
20994    ) -> *mut GtkWidget;
20995    pub fn gtk_image_new_from_icon_set(
20996        icon_set: *mut GtkIconSet,
20997        size: GtkIconSize,
20998    ) -> *mut GtkWidget;
20999    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
21000    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
21001    pub fn gtk_image_new_from_stock(stock_id: *const c_char, size: GtkIconSize) -> *mut GtkWidget;
21002    pub fn gtk_image_new_from_surface(surface: *mut cairo::cairo_surface_t) -> *mut GtkWidget;
21003    pub fn gtk_image_clear(image: *mut GtkImage);
21004    pub fn gtk_image_get_animation(image: *mut GtkImage) -> *mut gdk_pixbuf::GdkPixbufAnimation;
21005    pub fn gtk_image_get_gicon(
21006        image: *mut GtkImage,
21007        gicon: *mut *mut gio::GIcon,
21008        size: *mut GtkIconSize,
21009    );
21010    pub fn gtk_image_get_icon_name(
21011        image: *mut GtkImage,
21012        icon_name: *mut *const c_char,
21013        size: *mut GtkIconSize,
21014    );
21015    pub fn gtk_image_get_icon_set(
21016        image: *mut GtkImage,
21017        icon_set: *mut *mut GtkIconSet,
21018        size: *mut GtkIconSize,
21019    );
21020    pub fn gtk_image_get_pixbuf(image: *mut GtkImage) -> *mut gdk_pixbuf::GdkPixbuf;
21021    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
21022    pub fn gtk_image_get_stock(
21023        image: *mut GtkImage,
21024        stock_id: *mut *mut c_char,
21025        size: *mut GtkIconSize,
21026    );
21027    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
21028    pub fn gtk_image_set_from_animation(
21029        image: *mut GtkImage,
21030        animation: *mut gdk_pixbuf::GdkPixbufAnimation,
21031    );
21032    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
21033    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon, size: GtkIconSize);
21034    pub fn gtk_image_set_from_icon_name(
21035        image: *mut GtkImage,
21036        icon_name: *const c_char,
21037        size: GtkIconSize,
21038    );
21039    pub fn gtk_image_set_from_icon_set(
21040        image: *mut GtkImage,
21041        icon_set: *mut GtkIconSet,
21042        size: GtkIconSize,
21043    );
21044    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
21045    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
21046    pub fn gtk_image_set_from_stock(
21047        image: *mut GtkImage,
21048        stock_id: *const c_char,
21049        size: GtkIconSize,
21050    );
21051    pub fn gtk_image_set_from_surface(image: *mut GtkImage, surface: *mut cairo::cairo_surface_t);
21052    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
21053
21054    //=========================================================================
21055    // GtkImageAccessible
21056    //=========================================================================
21057    pub fn gtk_image_accessible_get_type() -> GType;
21058
21059    //=========================================================================
21060    // GtkImageCellAccessible
21061    //=========================================================================
21062    pub fn gtk_image_cell_accessible_get_type() -> GType;
21063
21064    //=========================================================================
21065    // GtkImageMenuItem
21066    //=========================================================================
21067    pub fn gtk_image_menu_item_get_type() -> GType;
21068    pub fn gtk_image_menu_item_new() -> *mut GtkWidget;
21069    pub fn gtk_image_menu_item_new_from_stock(
21070        stock_id: *const c_char,
21071        accel_group: *mut GtkAccelGroup,
21072    ) -> *mut GtkWidget;
21073    pub fn gtk_image_menu_item_new_with_label(label: *const c_char) -> *mut GtkWidget;
21074    pub fn gtk_image_menu_item_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
21075    pub fn gtk_image_menu_item_get_always_show_image(
21076        image_menu_item: *mut GtkImageMenuItem,
21077    ) -> gboolean;
21078    pub fn gtk_image_menu_item_get_image(image_menu_item: *mut GtkImageMenuItem) -> *mut GtkWidget;
21079    pub fn gtk_image_menu_item_get_use_stock(image_menu_item: *mut GtkImageMenuItem) -> gboolean;
21080    pub fn gtk_image_menu_item_set_accel_group(
21081        image_menu_item: *mut GtkImageMenuItem,
21082        accel_group: *mut GtkAccelGroup,
21083    );
21084    pub fn gtk_image_menu_item_set_always_show_image(
21085        image_menu_item: *mut GtkImageMenuItem,
21086        always_show: gboolean,
21087    );
21088    pub fn gtk_image_menu_item_set_image(
21089        image_menu_item: *mut GtkImageMenuItem,
21090        image: *mut GtkWidget,
21091    );
21092    pub fn gtk_image_menu_item_set_use_stock(
21093        image_menu_item: *mut GtkImageMenuItem,
21094        use_stock: gboolean,
21095    );
21096
21097    //=========================================================================
21098    // GtkInfoBar
21099    //=========================================================================
21100    pub fn gtk_info_bar_get_type() -> GType;
21101    pub fn gtk_info_bar_new() -> *mut GtkWidget;
21102    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
21103    pub fn gtk_info_bar_add_action_widget(
21104        info_bar: *mut GtkInfoBar,
21105        child: *mut GtkWidget,
21106        response_id: GtkResponseType,
21107    );
21108    pub fn gtk_info_bar_add_button(
21109        info_bar: *mut GtkInfoBar,
21110        button_text: *const c_char,
21111        response_id: GtkResponseType,
21112    ) -> *mut GtkButton;
21113    pub fn gtk_info_bar_add_buttons(
21114        info_bar: *mut GtkInfoBar,
21115        first_button_text: *const c_char,
21116        ...
21117    );
21118    pub fn gtk_info_bar_get_action_area(info_bar: *mut GtkInfoBar) -> *mut GtkBox;
21119    pub fn gtk_info_bar_get_content_area(info_bar: *mut GtkInfoBar) -> *mut GtkBox;
21120    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
21121    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
21122    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
21123    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
21124    pub fn gtk_info_bar_set_default_response(
21125        info_bar: *mut GtkInfoBar,
21126        response_id: GtkResponseType,
21127    );
21128    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
21129    pub fn gtk_info_bar_set_response_sensitive(
21130        info_bar: *mut GtkInfoBar,
21131        response_id: GtkResponseType,
21132        setting: gboolean,
21133    );
21134    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
21135    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
21136
21137    //=========================================================================
21138    // GtkInvisible
21139    //=========================================================================
21140    pub fn gtk_invisible_get_type() -> GType;
21141    pub fn gtk_invisible_new() -> *mut GtkWidget;
21142    pub fn gtk_invisible_new_for_screen(screen: *mut gdk::GdkScreen) -> *mut GtkWidget;
21143    pub fn gtk_invisible_get_screen(invisible: *mut GtkInvisible) -> *mut gdk::GdkScreen;
21144    pub fn gtk_invisible_set_screen(invisible: *mut GtkInvisible, screen: *mut gdk::GdkScreen);
21145
21146    //=========================================================================
21147    // GtkLabel
21148    //=========================================================================
21149    pub fn gtk_label_get_type() -> GType;
21150    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
21151    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
21152    pub fn gtk_label_get_angle(label: *mut GtkLabel) -> c_double;
21153    pub fn gtk_label_get_attributes(label: *mut GtkLabel) -> *mut pango::PangoAttrList;
21154    pub fn gtk_label_get_current_uri(label: *mut GtkLabel) -> *const c_char;
21155    pub fn gtk_label_get_ellipsize(label: *mut GtkLabel) -> pango::PangoEllipsizeMode;
21156    pub fn gtk_label_get_justify(label: *mut GtkLabel) -> GtkJustification;
21157    pub fn gtk_label_get_label(label: *mut GtkLabel) -> *const c_char;
21158    pub fn gtk_label_get_layout(label: *mut GtkLabel) -> *mut pango::PangoLayout;
21159    pub fn gtk_label_get_layout_offsets(label: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
21160    pub fn gtk_label_get_line_wrap(label: *mut GtkLabel) -> gboolean;
21161    pub fn gtk_label_get_line_wrap_mode(label: *mut GtkLabel) -> pango::PangoWrapMode;
21162    pub fn gtk_label_get_lines(label: *mut GtkLabel) -> c_int;
21163    pub fn gtk_label_get_max_width_chars(label: *mut GtkLabel) -> c_int;
21164    pub fn gtk_label_get_mnemonic_keyval(label: *mut GtkLabel) -> c_uint;
21165    pub fn gtk_label_get_mnemonic_widget(label: *mut GtkLabel) -> *mut GtkWidget;
21166    pub fn gtk_label_get_selectable(label: *mut GtkLabel) -> gboolean;
21167    pub fn gtk_label_get_selection_bounds(
21168        label: *mut GtkLabel,
21169        start: *mut c_int,
21170        end: *mut c_int,
21171    ) -> gboolean;
21172    pub fn gtk_label_get_single_line_mode(label: *mut GtkLabel) -> gboolean;
21173    pub fn gtk_label_get_text(label: *mut GtkLabel) -> *const c_char;
21174    pub fn gtk_label_get_track_visited_links(label: *mut GtkLabel) -> gboolean;
21175    pub fn gtk_label_get_use_markup(label: *mut GtkLabel) -> gboolean;
21176    pub fn gtk_label_get_use_underline(label: *mut GtkLabel) -> gboolean;
21177    pub fn gtk_label_get_width_chars(label: *mut GtkLabel) -> c_int;
21178    pub fn gtk_label_get_xalign(label: *mut GtkLabel) -> c_float;
21179    pub fn gtk_label_get_yalign(label: *mut GtkLabel) -> c_float;
21180    pub fn gtk_label_select_region(label: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
21181    pub fn gtk_label_set_angle(label: *mut GtkLabel, angle: c_double);
21182    pub fn gtk_label_set_attributes(label: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
21183    pub fn gtk_label_set_ellipsize(label: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
21184    pub fn gtk_label_set_justify(label: *mut GtkLabel, jtype: GtkJustification);
21185    pub fn gtk_label_set_label(label: *mut GtkLabel, str: *const c_char);
21186    pub fn gtk_label_set_line_wrap(label: *mut GtkLabel, wrap: gboolean);
21187    pub fn gtk_label_set_line_wrap_mode(label: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
21188    pub fn gtk_label_set_lines(label: *mut GtkLabel, lines: c_int);
21189    pub fn gtk_label_set_markup(label: *mut GtkLabel, str: *const c_char);
21190    pub fn gtk_label_set_markup_with_mnemonic(label: *mut GtkLabel, str: *const c_char);
21191    pub fn gtk_label_set_max_width_chars(label: *mut GtkLabel, n_chars: c_int);
21192    pub fn gtk_label_set_mnemonic_widget(label: *mut GtkLabel, widget: *mut GtkWidget);
21193    pub fn gtk_label_set_pattern(label: *mut GtkLabel, pattern: *const c_char);
21194    pub fn gtk_label_set_selectable(label: *mut GtkLabel, setting: gboolean);
21195    pub fn gtk_label_set_single_line_mode(label: *mut GtkLabel, single_line_mode: gboolean);
21196    pub fn gtk_label_set_text(label: *mut GtkLabel, str: *const c_char);
21197    pub fn gtk_label_set_text_with_mnemonic(label: *mut GtkLabel, str: *const c_char);
21198    pub fn gtk_label_set_track_visited_links(label: *mut GtkLabel, track_links: gboolean);
21199    pub fn gtk_label_set_use_markup(label: *mut GtkLabel, setting: gboolean);
21200    pub fn gtk_label_set_use_underline(label: *mut GtkLabel, setting: gboolean);
21201    pub fn gtk_label_set_width_chars(label: *mut GtkLabel, n_chars: c_int);
21202    pub fn gtk_label_set_xalign(label: *mut GtkLabel, xalign: c_float);
21203    pub fn gtk_label_set_yalign(label: *mut GtkLabel, yalign: c_float);
21204
21205    //=========================================================================
21206    // GtkLabelAccessible
21207    //=========================================================================
21208    pub fn gtk_label_accessible_get_type() -> GType;
21209
21210    //=========================================================================
21211    // GtkLayout
21212    //=========================================================================
21213    pub fn gtk_layout_get_type() -> GType;
21214    pub fn gtk_layout_new(
21215        hadjustment: *mut GtkAdjustment,
21216        vadjustment: *mut GtkAdjustment,
21217    ) -> *mut GtkWidget;
21218    pub fn gtk_layout_get_bin_window(layout: *mut GtkLayout) -> *mut gdk::GdkWindow;
21219    pub fn gtk_layout_get_hadjustment(layout: *mut GtkLayout) -> *mut GtkAdjustment;
21220    pub fn gtk_layout_get_size(layout: *mut GtkLayout, width: *mut c_uint, height: *mut c_uint);
21221    pub fn gtk_layout_get_vadjustment(layout: *mut GtkLayout) -> *mut GtkAdjustment;
21222    pub fn gtk_layout_move(
21223        layout: *mut GtkLayout,
21224        child_widget: *mut GtkWidget,
21225        x: c_int,
21226        y: c_int,
21227    );
21228    pub fn gtk_layout_put(layout: *mut GtkLayout, child_widget: *mut GtkWidget, x: c_int, y: c_int);
21229    pub fn gtk_layout_set_hadjustment(layout: *mut GtkLayout, adjustment: *mut GtkAdjustment);
21230    pub fn gtk_layout_set_size(layout: *mut GtkLayout, width: c_uint, height: c_uint);
21231    pub fn gtk_layout_set_vadjustment(layout: *mut GtkLayout, adjustment: *mut GtkAdjustment);
21232
21233    //=========================================================================
21234    // GtkLevelBar
21235    //=========================================================================
21236    pub fn gtk_level_bar_get_type() -> GType;
21237    pub fn gtk_level_bar_new() -> *mut GtkWidget;
21238    pub fn gtk_level_bar_new_for_interval(
21239        min_value: c_double,
21240        max_value: c_double,
21241    ) -> *mut GtkWidget;
21242    pub fn gtk_level_bar_add_offset_value(
21243        self_: *mut GtkLevelBar,
21244        name: *const c_char,
21245        value: c_double,
21246    );
21247    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
21248    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
21249    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
21250    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
21251    pub fn gtk_level_bar_get_offset_value(
21252        self_: *mut GtkLevelBar,
21253        name: *const c_char,
21254        value: *mut c_double,
21255    ) -> gboolean;
21256    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
21257    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
21258    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
21259    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
21260    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
21261    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
21262    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
21263
21264    //=========================================================================
21265    // GtkLevelBarAccessible
21266    //=========================================================================
21267    pub fn gtk_level_bar_accessible_get_type() -> GType;
21268
21269    //=========================================================================
21270    // GtkLinkButton
21271    //=========================================================================
21272    pub fn gtk_link_button_get_type() -> GType;
21273    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
21274    pub fn gtk_link_button_new_with_label(
21275        uri: *const c_char,
21276        label: *const c_char,
21277    ) -> *mut GtkWidget;
21278    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
21279    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
21280    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
21281    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
21282
21283    //=========================================================================
21284    // GtkLinkButtonAccessible
21285    //=========================================================================
21286    pub fn gtk_link_button_accessible_get_type() -> GType;
21287
21288    //=========================================================================
21289    // GtkListBox
21290    //=========================================================================
21291    pub fn gtk_list_box_get_type() -> GType;
21292    pub fn gtk_list_box_new() -> *mut GtkWidget;
21293    pub fn gtk_list_box_bind_model(
21294        box_: *mut GtkListBox,
21295        model: *mut gio::GListModel,
21296        create_widget_func: GtkListBoxCreateWidgetFunc,
21297        user_data: gpointer,
21298        user_data_free_func: glib::GDestroyNotify,
21299    );
21300    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
21301    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
21302    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
21303    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
21304    pub fn gtk_list_box_get_row_at_index(
21305        box_: *mut GtkListBox,
21306        index_: c_int,
21307    ) -> *mut GtkListBoxRow;
21308    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
21309    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
21310    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
21311    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
21312    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
21313    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
21314    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
21315    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
21316    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
21317    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
21318    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
21319    pub fn gtk_list_box_selected_foreach(
21320        box_: *mut GtkListBox,
21321        func: GtkListBoxForeachFunc,
21322        data: gpointer,
21323    );
21324    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
21325    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
21326    pub fn gtk_list_box_set_filter_func(
21327        box_: *mut GtkListBox,
21328        filter_func: GtkListBoxFilterFunc,
21329        user_data: gpointer,
21330        destroy: glib::GDestroyNotify,
21331    );
21332    pub fn gtk_list_box_set_header_func(
21333        box_: *mut GtkListBox,
21334        update_header: GtkListBoxUpdateHeaderFunc,
21335        user_data: gpointer,
21336        destroy: glib::GDestroyNotify,
21337    );
21338    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
21339    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
21340    pub fn gtk_list_box_set_sort_func(
21341        box_: *mut GtkListBox,
21342        sort_func: GtkListBoxSortFunc,
21343        user_data: gpointer,
21344        destroy: glib::GDestroyNotify,
21345    );
21346    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
21347    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
21348
21349    //=========================================================================
21350    // GtkListBoxAccessible
21351    //=========================================================================
21352    pub fn gtk_list_box_accessible_get_type() -> GType;
21353
21354    //=========================================================================
21355    // GtkListBoxRow
21356    //=========================================================================
21357    pub fn gtk_list_box_row_get_type() -> GType;
21358    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
21359    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
21360    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
21361    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
21362    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
21363    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
21364    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
21365    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
21366    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
21367    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
21368
21369    //=========================================================================
21370    // GtkListBoxRowAccessible
21371    //=========================================================================
21372    pub fn gtk_list_box_row_accessible_get_type() -> GType;
21373
21374    //=========================================================================
21375    // GtkListStore
21376    //=========================================================================
21377    pub fn gtk_list_store_get_type() -> GType;
21378    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
21379    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
21380    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
21381    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
21382    pub fn gtk_list_store_insert(
21383        list_store: *mut GtkListStore,
21384        iter: *mut GtkTreeIter,
21385        position: c_int,
21386    );
21387    pub fn gtk_list_store_insert_after(
21388        list_store: *mut GtkListStore,
21389        iter: *mut GtkTreeIter,
21390        sibling: *mut GtkTreeIter,
21391    );
21392    pub fn gtk_list_store_insert_before(
21393        list_store: *mut GtkListStore,
21394        iter: *mut GtkTreeIter,
21395        sibling: *mut GtkTreeIter,
21396    );
21397    pub fn gtk_list_store_insert_with_values(
21398        list_store: *mut GtkListStore,
21399        iter: *mut GtkTreeIter,
21400        position: c_int,
21401        ...
21402    );
21403    pub fn gtk_list_store_insert_with_valuesv(
21404        list_store: *mut GtkListStore,
21405        iter: *mut GtkTreeIter,
21406        position: c_int,
21407        columns: *mut c_int,
21408        values: *mut gobject::GValue,
21409        n_values: c_int,
21410    );
21411    pub fn gtk_list_store_iter_is_valid(
21412        list_store: *mut GtkListStore,
21413        iter: *mut GtkTreeIter,
21414    ) -> gboolean;
21415    pub fn gtk_list_store_move_after(
21416        store: *mut GtkListStore,
21417        iter: *mut GtkTreeIter,
21418        position: *mut GtkTreeIter,
21419    );
21420    pub fn gtk_list_store_move_before(
21421        store: *mut GtkListStore,
21422        iter: *mut GtkTreeIter,
21423        position: *mut GtkTreeIter,
21424    );
21425    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
21426    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
21427        -> gboolean;
21428    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
21429    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
21430    pub fn gtk_list_store_set_column_types(
21431        list_store: *mut GtkListStore,
21432        n_columns: c_int,
21433        types: *mut GType,
21434    );
21435    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
21436    pub fn gtk_list_store_set_value(
21437        list_store: *mut GtkListStore,
21438        iter: *mut GtkTreeIter,
21439        column: c_int,
21440        value: *mut gobject::GValue,
21441    );
21442    pub fn gtk_list_store_set_valuesv(
21443        list_store: *mut GtkListStore,
21444        iter: *mut GtkTreeIter,
21445        columns: *mut c_int,
21446        values: *mut gobject::GValue,
21447        n_values: c_int,
21448    );
21449    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
21450
21451    //=========================================================================
21452    // GtkLockButton
21453    //=========================================================================
21454    pub fn gtk_lock_button_get_type() -> GType;
21455    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
21456    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
21457    pub fn gtk_lock_button_set_permission(
21458        button: *mut GtkLockButton,
21459        permission: *mut gio::GPermission,
21460    );
21461
21462    //=========================================================================
21463    // GtkLockButtonAccessible
21464    //=========================================================================
21465    pub fn gtk_lock_button_accessible_get_type() -> GType;
21466
21467    //=========================================================================
21468    // GtkMenu
21469    //=========================================================================
21470    pub fn gtk_menu_get_type() -> GType;
21471    pub fn gtk_menu_new() -> *mut GtkWidget;
21472    pub fn gtk_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
21473    pub fn gtk_menu_get_for_attach_widget(widget: *mut GtkWidget) -> *mut glib::GList;
21474    pub fn gtk_menu_attach(
21475        menu: *mut GtkMenu,
21476        child: *mut GtkWidget,
21477        left_attach: c_uint,
21478        right_attach: c_uint,
21479        top_attach: c_uint,
21480        bottom_attach: c_uint,
21481    );
21482    pub fn gtk_menu_attach_to_widget(
21483        menu: *mut GtkMenu,
21484        attach_widget: *mut GtkWidget,
21485        detacher: GtkMenuDetachFunc,
21486    );
21487    pub fn gtk_menu_detach(menu: *mut GtkMenu);
21488    pub fn gtk_menu_get_accel_group(menu: *mut GtkMenu) -> *mut GtkAccelGroup;
21489    pub fn gtk_menu_get_accel_path(menu: *mut GtkMenu) -> *const c_char;
21490    pub fn gtk_menu_get_active(menu: *mut GtkMenu) -> *mut GtkWidget;
21491    pub fn gtk_menu_get_attach_widget(menu: *mut GtkMenu) -> *mut GtkWidget;
21492    pub fn gtk_menu_get_monitor(menu: *mut GtkMenu) -> c_int;
21493    pub fn gtk_menu_get_reserve_toggle_size(menu: *mut GtkMenu) -> gboolean;
21494    pub fn gtk_menu_get_tearoff_state(menu: *mut GtkMenu) -> gboolean;
21495    pub fn gtk_menu_get_title(menu: *mut GtkMenu) -> *const c_char;
21496    pub fn gtk_menu_place_on_monitor(menu: *mut GtkMenu, monitor: *mut gdk::GdkMonitor);
21497    pub fn gtk_menu_popdown(menu: *mut GtkMenu);
21498    pub fn gtk_menu_popup(
21499        menu: *mut GtkMenu,
21500        parent_menu_shell: *mut GtkWidget,
21501        parent_menu_item: *mut GtkWidget,
21502        func: GtkMenuPositionFunc,
21503        data: gpointer,
21504        button: c_uint,
21505        activate_time: u32,
21506    );
21507    pub fn gtk_menu_popup_at_pointer(menu: *mut GtkMenu, trigger_event: *const gdk::GdkEvent);
21508    pub fn gtk_menu_popup_at_rect(
21509        menu: *mut GtkMenu,
21510        rect_window: *mut gdk::GdkWindow,
21511        rect: *const gdk::GdkRectangle,
21512        rect_anchor: gdk::GdkGravity,
21513        menu_anchor: gdk::GdkGravity,
21514        trigger_event: *const gdk::GdkEvent,
21515    );
21516    pub fn gtk_menu_popup_at_widget(
21517        menu: *mut GtkMenu,
21518        widget: *mut GtkWidget,
21519        widget_anchor: gdk::GdkGravity,
21520        menu_anchor: gdk::GdkGravity,
21521        trigger_event: *const gdk::GdkEvent,
21522    );
21523    pub fn gtk_menu_popup_for_device(
21524        menu: *mut GtkMenu,
21525        device: *mut gdk::GdkDevice,
21526        parent_menu_shell: *mut GtkWidget,
21527        parent_menu_item: *mut GtkWidget,
21528        func: GtkMenuPositionFunc,
21529        data: gpointer,
21530        destroy: glib::GDestroyNotify,
21531        button: c_uint,
21532        activate_time: u32,
21533    );
21534    pub fn gtk_menu_reorder_child(menu: *mut GtkMenu, child: *mut GtkWidget, position: c_int);
21535    pub fn gtk_menu_reposition(menu: *mut GtkMenu);
21536    pub fn gtk_menu_set_accel_group(menu: *mut GtkMenu, accel_group: *mut GtkAccelGroup);
21537    pub fn gtk_menu_set_accel_path(menu: *mut GtkMenu, accel_path: *const c_char);
21538    pub fn gtk_menu_set_active(menu: *mut GtkMenu, index: c_uint);
21539    pub fn gtk_menu_set_monitor(menu: *mut GtkMenu, monitor_num: c_int);
21540    pub fn gtk_menu_set_reserve_toggle_size(menu: *mut GtkMenu, reserve_toggle_size: gboolean);
21541    pub fn gtk_menu_set_screen(menu: *mut GtkMenu, screen: *mut gdk::GdkScreen);
21542    pub fn gtk_menu_set_tearoff_state(menu: *mut GtkMenu, torn_off: gboolean);
21543    pub fn gtk_menu_set_title(menu: *mut GtkMenu, title: *const c_char);
21544
21545    //=========================================================================
21546    // GtkMenuAccessible
21547    //=========================================================================
21548    pub fn gtk_menu_accessible_get_type() -> GType;
21549
21550    //=========================================================================
21551    // GtkMenuBar
21552    //=========================================================================
21553    pub fn gtk_menu_bar_get_type() -> GType;
21554    pub fn gtk_menu_bar_new() -> *mut GtkWidget;
21555    pub fn gtk_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
21556    pub fn gtk_menu_bar_get_child_pack_direction(menubar: *mut GtkMenuBar) -> GtkPackDirection;
21557    pub fn gtk_menu_bar_get_pack_direction(menubar: *mut GtkMenuBar) -> GtkPackDirection;
21558    pub fn gtk_menu_bar_set_child_pack_direction(
21559        menubar: *mut GtkMenuBar,
21560        child_pack_dir: GtkPackDirection,
21561    );
21562    pub fn gtk_menu_bar_set_pack_direction(menubar: *mut GtkMenuBar, pack_dir: GtkPackDirection);
21563
21564    //=========================================================================
21565    // GtkMenuButton
21566    //=========================================================================
21567    pub fn gtk_menu_button_get_type() -> GType;
21568    pub fn gtk_menu_button_new() -> *mut GtkWidget;
21569    pub fn gtk_menu_button_get_align_widget(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
21570    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
21571    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
21572    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
21573    pub fn gtk_menu_button_get_popup(menu_button: *mut GtkMenuButton) -> *mut GtkMenu;
21574    pub fn gtk_menu_button_get_use_popover(menu_button: *mut GtkMenuButton) -> gboolean;
21575    pub fn gtk_menu_button_set_align_widget(
21576        menu_button: *mut GtkMenuButton,
21577        align_widget: *mut GtkWidget,
21578    );
21579    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
21580    pub fn gtk_menu_button_set_menu_model(
21581        menu_button: *mut GtkMenuButton,
21582        menu_model: *mut gio::GMenuModel,
21583    );
21584    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkWidget);
21585    pub fn gtk_menu_button_set_popup(menu_button: *mut GtkMenuButton, menu: *mut GtkWidget);
21586    pub fn gtk_menu_button_set_use_popover(menu_button: *mut GtkMenuButton, use_popover: gboolean);
21587
21588    //=========================================================================
21589    // GtkMenuButtonAccessible
21590    //=========================================================================
21591    pub fn gtk_menu_button_accessible_get_type() -> GType;
21592
21593    //=========================================================================
21594    // GtkMenuItem
21595    //=========================================================================
21596    pub fn gtk_menu_item_get_type() -> GType;
21597    pub fn gtk_menu_item_new() -> *mut GtkWidget;
21598    pub fn gtk_menu_item_new_with_label(label: *const c_char) -> *mut GtkWidget;
21599    pub fn gtk_menu_item_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
21600    pub fn gtk_menu_item_activate(menu_item: *mut GtkMenuItem);
21601    pub fn gtk_menu_item_deselect(menu_item: *mut GtkMenuItem);
21602    pub fn gtk_menu_item_get_accel_path(menu_item: *mut GtkMenuItem) -> *const c_char;
21603    pub fn gtk_menu_item_get_label(menu_item: *mut GtkMenuItem) -> *const c_char;
21604    pub fn gtk_menu_item_get_reserve_indicator(menu_item: *mut GtkMenuItem) -> gboolean;
21605    pub fn gtk_menu_item_get_right_justified(menu_item: *mut GtkMenuItem) -> gboolean;
21606    pub fn gtk_menu_item_get_submenu(menu_item: *mut GtkMenuItem) -> *mut GtkWidget;
21607    pub fn gtk_menu_item_get_use_underline(menu_item: *mut GtkMenuItem) -> gboolean;
21608    pub fn gtk_menu_item_select(menu_item: *mut GtkMenuItem);
21609    pub fn gtk_menu_item_set_accel_path(menu_item: *mut GtkMenuItem, accel_path: *const c_char);
21610    pub fn gtk_menu_item_set_label(menu_item: *mut GtkMenuItem, label: *const c_char);
21611    pub fn gtk_menu_item_set_reserve_indicator(menu_item: *mut GtkMenuItem, reserve: gboolean);
21612    pub fn gtk_menu_item_set_right_justified(
21613        menu_item: *mut GtkMenuItem,
21614        right_justified: gboolean,
21615    );
21616    pub fn gtk_menu_item_set_submenu(menu_item: *mut GtkMenuItem, submenu: *mut GtkMenu);
21617    pub fn gtk_menu_item_set_use_underline(menu_item: *mut GtkMenuItem, setting: gboolean);
21618    pub fn gtk_menu_item_toggle_size_allocate(menu_item: *mut GtkMenuItem, allocation: c_int);
21619    pub fn gtk_menu_item_toggle_size_request(menu_item: *mut GtkMenuItem, requisition: *mut c_int);
21620
21621    //=========================================================================
21622    // GtkMenuItemAccessible
21623    //=========================================================================
21624    pub fn gtk_menu_item_accessible_get_type() -> GType;
21625
21626    //=========================================================================
21627    // GtkMenuShell
21628    //=========================================================================
21629    pub fn gtk_menu_shell_get_type() -> GType;
21630    pub fn gtk_menu_shell_activate_item(
21631        menu_shell: *mut GtkMenuShell,
21632        menu_item: *mut GtkWidget,
21633        force_deactivate: gboolean,
21634    );
21635    pub fn gtk_menu_shell_append(menu_shell: *mut GtkMenuShell, child: *mut GtkMenuItem);
21636    pub fn gtk_menu_shell_bind_model(
21637        menu_shell: *mut GtkMenuShell,
21638        model: *mut gio::GMenuModel,
21639        action_namespace: *const c_char,
21640        with_separators: gboolean,
21641    );
21642    pub fn gtk_menu_shell_cancel(menu_shell: *mut GtkMenuShell);
21643    pub fn gtk_menu_shell_deactivate(menu_shell: *mut GtkMenuShell);
21644    pub fn gtk_menu_shell_deselect(menu_shell: *mut GtkMenuShell);
21645    pub fn gtk_menu_shell_get_parent_shell(menu_shell: *mut GtkMenuShell) -> *mut GtkWidget;
21646    pub fn gtk_menu_shell_get_selected_item(menu_shell: *mut GtkMenuShell) -> *mut GtkWidget;
21647    pub fn gtk_menu_shell_get_take_focus(menu_shell: *mut GtkMenuShell) -> gboolean;
21648    pub fn gtk_menu_shell_insert(
21649        menu_shell: *mut GtkMenuShell,
21650        child: *mut GtkWidget,
21651        position: c_int,
21652    );
21653    pub fn gtk_menu_shell_prepend(menu_shell: *mut GtkMenuShell, child: *mut GtkWidget);
21654    pub fn gtk_menu_shell_select_first(menu_shell: *mut GtkMenuShell, search_sensitive: gboolean);
21655    pub fn gtk_menu_shell_select_item(menu_shell: *mut GtkMenuShell, menu_item: *mut GtkWidget);
21656    pub fn gtk_menu_shell_set_take_focus(menu_shell: *mut GtkMenuShell, take_focus: gboolean);
21657
21658    //=========================================================================
21659    // GtkMenuShellAccessible
21660    //=========================================================================
21661    pub fn gtk_menu_shell_accessible_get_type() -> GType;
21662
21663    //=========================================================================
21664    // GtkMenuToolButton
21665    //=========================================================================
21666    pub fn gtk_menu_tool_button_get_type() -> GType;
21667    pub fn gtk_menu_tool_button_new(
21668        icon_widget: *mut GtkWidget,
21669        label: *const c_char,
21670    ) -> *mut GtkToolItem;
21671    pub fn gtk_menu_tool_button_new_from_stock(stock_id: *const c_char) -> *mut GtkToolItem;
21672    pub fn gtk_menu_tool_button_get_menu(button: *mut GtkMenuToolButton) -> *mut GtkWidget;
21673    pub fn gtk_menu_tool_button_set_arrow_tooltip_markup(
21674        button: *mut GtkMenuToolButton,
21675        markup: *const c_char,
21676    );
21677    pub fn gtk_menu_tool_button_set_arrow_tooltip_text(
21678        button: *mut GtkMenuToolButton,
21679        text: *const c_char,
21680    );
21681    pub fn gtk_menu_tool_button_set_menu(button: *mut GtkMenuToolButton, menu: *mut GtkWidget);
21682
21683    //=========================================================================
21684    // GtkMessageDialog
21685    //=========================================================================
21686    pub fn gtk_message_dialog_get_type() -> GType;
21687    pub fn gtk_message_dialog_new(
21688        parent: *mut GtkWindow,
21689        flags: GtkDialogFlags,
21690        type_: GtkMessageType,
21691        buttons: GtkButtonsType,
21692        message_format: *const c_char,
21693        ...
21694    ) -> *mut GtkWidget;
21695    pub fn gtk_message_dialog_new_with_markup(
21696        parent: *mut GtkWindow,
21697        flags: GtkDialogFlags,
21698        type_: GtkMessageType,
21699        buttons: GtkButtonsType,
21700        message_format: *const c_char,
21701        ...
21702    ) -> *mut GtkWidget;
21703    pub fn gtk_message_dialog_format_secondary_markup(
21704        message_dialog: *mut GtkMessageDialog,
21705        message_format: *const c_char,
21706        ...
21707    );
21708    pub fn gtk_message_dialog_format_secondary_text(
21709        message_dialog: *mut GtkMessageDialog,
21710        message_format: *const c_char,
21711        ...
21712    );
21713    pub fn gtk_message_dialog_get_image(dialog: *mut GtkMessageDialog) -> *mut GtkWidget;
21714    pub fn gtk_message_dialog_get_message_area(
21715        message_dialog: *mut GtkMessageDialog,
21716    ) -> *mut GtkWidget;
21717    pub fn gtk_message_dialog_set_image(dialog: *mut GtkMessageDialog, image: *mut GtkWidget);
21718    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
21719
21720    //=========================================================================
21721    // GtkMisc
21722    //=========================================================================
21723    pub fn gtk_misc_get_type() -> GType;
21724    pub fn gtk_misc_get_alignment(misc: *mut GtkMisc, xalign: *mut c_float, yalign: *mut c_float);
21725    pub fn gtk_misc_get_padding(misc: *mut GtkMisc, xpad: *mut c_int, ypad: *mut c_int);
21726    pub fn gtk_misc_set_alignment(misc: *mut GtkMisc, xalign: c_float, yalign: c_float);
21727    pub fn gtk_misc_set_padding(misc: *mut GtkMisc, xpad: c_int, ypad: c_int);
21728
21729    //=========================================================================
21730    // GtkModelButton
21731    //=========================================================================
21732    pub fn gtk_model_button_get_type() -> GType;
21733    pub fn gtk_model_button_new() -> *mut GtkWidget;
21734
21735    //=========================================================================
21736    // GtkMountOperation
21737    //=========================================================================
21738    pub fn gtk_mount_operation_get_type() -> GType;
21739    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
21740    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
21741    pub fn gtk_mount_operation_get_screen(op: *mut GtkMountOperation) -> *mut gdk::GdkScreen;
21742    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
21743    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
21744    pub fn gtk_mount_operation_set_screen(op: *mut GtkMountOperation, screen: *mut gdk::GdkScreen);
21745
21746    //=========================================================================
21747    // GtkNativeDialog
21748    //=========================================================================
21749    pub fn gtk_native_dialog_get_type() -> GType;
21750    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
21751    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
21752    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
21753    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
21754    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
21755    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
21756    pub fn gtk_native_dialog_run(self_: *mut GtkNativeDialog) -> c_int;
21757    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
21758    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
21759    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
21760    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
21761
21762    //=========================================================================
21763    // GtkNotebook
21764    //=========================================================================
21765    pub fn gtk_notebook_get_type() -> GType;
21766    pub fn gtk_notebook_new() -> *mut GtkWidget;
21767    pub fn gtk_notebook_append_page(
21768        notebook: *mut GtkNotebook,
21769        child: *mut GtkWidget,
21770        tab_label: *mut GtkWidget,
21771    ) -> c_int;
21772    pub fn gtk_notebook_append_page_menu(
21773        notebook: *mut GtkNotebook,
21774        child: *mut GtkWidget,
21775        tab_label: *mut GtkWidget,
21776        menu_label: *mut GtkWidget,
21777    ) -> c_int;
21778    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
21779    pub fn gtk_notebook_get_action_widget(
21780        notebook: *mut GtkNotebook,
21781        pack_type: GtkPackType,
21782    ) -> *mut GtkWidget;
21783    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
21784    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
21785    pub fn gtk_notebook_get_menu_label(
21786        notebook: *mut GtkNotebook,
21787        child: *mut GtkWidget,
21788    ) -> *mut GtkWidget;
21789    pub fn gtk_notebook_get_menu_label_text(
21790        notebook: *mut GtkNotebook,
21791        child: *mut GtkWidget,
21792    ) -> *const c_char;
21793    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
21794    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
21795        -> *mut GtkWidget;
21796    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
21797    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
21798    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
21799    pub fn gtk_notebook_get_tab_detachable(
21800        notebook: *mut GtkNotebook,
21801        child: *mut GtkWidget,
21802    ) -> gboolean;
21803    pub fn gtk_notebook_get_tab_hborder(notebook: *mut GtkNotebook) -> u16;
21804    pub fn gtk_notebook_get_tab_label(
21805        notebook: *mut GtkNotebook,
21806        child: *mut GtkWidget,
21807    ) -> *mut GtkWidget;
21808    pub fn gtk_notebook_get_tab_label_text(
21809        notebook: *mut GtkNotebook,
21810        child: *mut GtkWidget,
21811    ) -> *const c_char;
21812    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
21813    pub fn gtk_notebook_get_tab_reorderable(
21814        notebook: *mut GtkNotebook,
21815        child: *mut GtkWidget,
21816    ) -> gboolean;
21817    pub fn gtk_notebook_get_tab_vborder(notebook: *mut GtkNotebook) -> u16;
21818    pub fn gtk_notebook_insert_page(
21819        notebook: *mut GtkNotebook,
21820        child: *mut GtkWidget,
21821        tab_label: *mut GtkWidget,
21822        position: c_int,
21823    ) -> c_int;
21824    pub fn gtk_notebook_insert_page_menu(
21825        notebook: *mut GtkNotebook,
21826        child: *mut GtkWidget,
21827        tab_label: *mut GtkWidget,
21828        menu_label: *mut GtkWidget,
21829        position: c_int,
21830    ) -> c_int;
21831    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
21832    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
21833    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
21834    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
21835    pub fn gtk_notebook_prepend_page(
21836        notebook: *mut GtkNotebook,
21837        child: *mut GtkWidget,
21838        tab_label: *mut GtkWidget,
21839    ) -> c_int;
21840    pub fn gtk_notebook_prepend_page_menu(
21841        notebook: *mut GtkNotebook,
21842        child: *mut GtkWidget,
21843        tab_label: *mut GtkWidget,
21844        menu_label: *mut GtkWidget,
21845    ) -> c_int;
21846    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
21847    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
21848    pub fn gtk_notebook_reorder_child(
21849        notebook: *mut GtkNotebook,
21850        child: *mut GtkWidget,
21851        position: c_int,
21852    );
21853    pub fn gtk_notebook_set_action_widget(
21854        notebook: *mut GtkNotebook,
21855        widget: *mut GtkWidget,
21856        pack_type: GtkPackType,
21857    );
21858    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
21859    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
21860    pub fn gtk_notebook_set_menu_label(
21861        notebook: *mut GtkNotebook,
21862        child: *mut GtkWidget,
21863        menu_label: *mut GtkWidget,
21864    );
21865    pub fn gtk_notebook_set_menu_label_text(
21866        notebook: *mut GtkNotebook,
21867        child: *mut GtkWidget,
21868        menu_text: *const c_char,
21869    );
21870    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
21871    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
21872    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
21873    pub fn gtk_notebook_set_tab_detachable(
21874        notebook: *mut GtkNotebook,
21875        child: *mut GtkWidget,
21876        detachable: gboolean,
21877    );
21878    pub fn gtk_notebook_set_tab_label(
21879        notebook: *mut GtkNotebook,
21880        child: *mut GtkWidget,
21881        tab_label: *mut GtkWidget,
21882    );
21883    pub fn gtk_notebook_set_tab_label_text(
21884        notebook: *mut GtkNotebook,
21885        child: *mut GtkWidget,
21886        tab_text: *const c_char,
21887    );
21888    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
21889    pub fn gtk_notebook_set_tab_reorderable(
21890        notebook: *mut GtkNotebook,
21891        child: *mut GtkWidget,
21892        reorderable: gboolean,
21893    );
21894
21895    //=========================================================================
21896    // GtkNotebookAccessible
21897    //=========================================================================
21898    pub fn gtk_notebook_accessible_get_type() -> GType;
21899
21900    //=========================================================================
21901    // GtkNotebookPageAccessible
21902    //=========================================================================
21903    pub fn gtk_notebook_page_accessible_get_type() -> GType;
21904    pub fn gtk_notebook_page_accessible_new(
21905        notebook: *mut GtkNotebookAccessible,
21906        child: *mut GtkWidget,
21907    ) -> *mut atk::AtkObject;
21908    pub fn gtk_notebook_page_accessible_invalidate(page: *mut GtkNotebookPageAccessible);
21909
21910    //=========================================================================
21911    // GtkNumerableIcon
21912    //=========================================================================
21913    pub fn gtk_numerable_icon_get_type() -> GType;
21914    pub fn gtk_numerable_icon_new(base_icon: *mut gio::GIcon) -> *mut gio::GIcon;
21915    pub fn gtk_numerable_icon_new_with_style_context(
21916        base_icon: *mut gio::GIcon,
21917        context: *mut GtkStyleContext,
21918    ) -> *mut gio::GIcon;
21919    pub fn gtk_numerable_icon_get_background_gicon(self_: *mut GtkNumerableIcon)
21920        -> *mut gio::GIcon;
21921    pub fn gtk_numerable_icon_get_background_icon_name(
21922        self_: *mut GtkNumerableIcon,
21923    ) -> *const c_char;
21924    pub fn gtk_numerable_icon_get_count(self_: *mut GtkNumerableIcon) -> c_int;
21925    pub fn gtk_numerable_icon_get_label(self_: *mut GtkNumerableIcon) -> *const c_char;
21926    pub fn gtk_numerable_icon_get_style_context(
21927        self_: *mut GtkNumerableIcon,
21928    ) -> *mut GtkStyleContext;
21929    pub fn gtk_numerable_icon_set_background_gicon(
21930        self_: *mut GtkNumerableIcon,
21931        icon: *mut gio::GIcon,
21932    );
21933    pub fn gtk_numerable_icon_set_background_icon_name(
21934        self_: *mut GtkNumerableIcon,
21935        icon_name: *const c_char,
21936    );
21937    pub fn gtk_numerable_icon_set_count(self_: *mut GtkNumerableIcon, count: c_int);
21938    pub fn gtk_numerable_icon_set_label(self_: *mut GtkNumerableIcon, label: *const c_char);
21939    pub fn gtk_numerable_icon_set_style_context(
21940        self_: *mut GtkNumerableIcon,
21941        style: *mut GtkStyleContext,
21942    );
21943
21944    //=========================================================================
21945    // GtkOffscreenWindow
21946    //=========================================================================
21947    pub fn gtk_offscreen_window_get_type() -> GType;
21948    pub fn gtk_offscreen_window_new() -> *mut GtkWidget;
21949    pub fn gtk_offscreen_window_get_pixbuf(
21950        offscreen: *mut GtkOffscreenWindow,
21951    ) -> *mut gdk_pixbuf::GdkPixbuf;
21952    pub fn gtk_offscreen_window_get_surface(
21953        offscreen: *mut GtkOffscreenWindow,
21954    ) -> *mut cairo::cairo_surface_t;
21955
21956    //=========================================================================
21957    // GtkOverlay
21958    //=========================================================================
21959    pub fn gtk_overlay_get_type() -> GType;
21960    pub fn gtk_overlay_new() -> *mut GtkWidget;
21961    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
21962    pub fn gtk_overlay_get_overlay_pass_through(
21963        overlay: *mut GtkOverlay,
21964        widget: *mut GtkWidget,
21965    ) -> gboolean;
21966    pub fn gtk_overlay_reorder_overlay(
21967        overlay: *mut GtkOverlay,
21968        child: *mut GtkWidget,
21969        index_: c_int,
21970    );
21971    pub fn gtk_overlay_set_overlay_pass_through(
21972        overlay: *mut GtkOverlay,
21973        widget: *mut GtkWidget,
21974        pass_through: gboolean,
21975    );
21976
21977    //=========================================================================
21978    // GtkPadController
21979    //=========================================================================
21980    pub fn gtk_pad_controller_get_type() -> GType;
21981    pub fn gtk_pad_controller_new(
21982        window: *mut GtkWindow,
21983        group: *mut gio::GActionGroup,
21984        pad: *mut gdk::GdkDevice,
21985    ) -> *mut GtkPadController;
21986    pub fn gtk_pad_controller_set_action(
21987        controller: *mut GtkPadController,
21988        type_: GtkPadActionType,
21989        index: c_int,
21990        mode: c_int,
21991        label: *const c_char,
21992        action_name: *const c_char,
21993    );
21994    pub fn gtk_pad_controller_set_action_entries(
21995        controller: *mut GtkPadController,
21996        entries: *const GtkPadActionEntry,
21997        n_entries: c_int,
21998    );
21999
22000    //=========================================================================
22001    // GtkPageSetup
22002    //=========================================================================
22003    pub fn gtk_page_setup_get_type() -> GType;
22004    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
22005    pub fn gtk_page_setup_new_from_file(
22006        file_name: *const c_char,
22007        error: *mut *mut glib::GError,
22008    ) -> *mut GtkPageSetup;
22009    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
22010    pub fn gtk_page_setup_new_from_key_file(
22011        key_file: *mut glib::GKeyFile,
22012        group_name: *const c_char,
22013        error: *mut *mut glib::GError,
22014    ) -> *mut GtkPageSetup;
22015    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
22016    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22017    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22018    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
22019    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22020    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22021    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22022    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
22023    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22024    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22025    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
22026    pub fn gtk_page_setup_load_file(
22027        setup: *mut GtkPageSetup,
22028        file_name: *const c_char,
22029        error: *mut *mut glib::GError,
22030    ) -> gboolean;
22031    pub fn gtk_page_setup_load_key_file(
22032        setup: *mut GtkPageSetup,
22033        key_file: *mut glib::GKeyFile,
22034        group_name: *const c_char,
22035        error: *mut *mut glib::GError,
22036    ) -> gboolean;
22037    pub fn gtk_page_setup_set_bottom_margin(
22038        setup: *mut GtkPageSetup,
22039        margin: c_double,
22040        unit: GtkUnit,
22041    );
22042    pub fn gtk_page_setup_set_left_margin(
22043        setup: *mut GtkPageSetup,
22044        margin: c_double,
22045        unit: GtkUnit,
22046    );
22047    pub fn gtk_page_setup_set_orientation(
22048        setup: *mut GtkPageSetup,
22049        orientation: GtkPageOrientation,
22050    );
22051    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
22052    pub fn gtk_page_setup_set_paper_size_and_default_margins(
22053        setup: *mut GtkPageSetup,
22054        size: *mut GtkPaperSize,
22055    );
22056    pub fn gtk_page_setup_set_right_margin(
22057        setup: *mut GtkPageSetup,
22058        margin: c_double,
22059        unit: GtkUnit,
22060    );
22061    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
22062    pub fn gtk_page_setup_to_file(
22063        setup: *mut GtkPageSetup,
22064        file_name: *const c_char,
22065        error: *mut *mut glib::GError,
22066    ) -> gboolean;
22067    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
22068    pub fn gtk_page_setup_to_key_file(
22069        setup: *mut GtkPageSetup,
22070        key_file: *mut glib::GKeyFile,
22071        group_name: *const c_char,
22072    );
22073
22074    //=========================================================================
22075    // GtkPaned
22076    //=========================================================================
22077    pub fn gtk_paned_get_type() -> GType;
22078    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
22079    pub fn gtk_paned_add1(paned: *mut GtkPaned, child: *mut GtkWidget);
22080    pub fn gtk_paned_add2(paned: *mut GtkPaned, child: *mut GtkWidget);
22081    pub fn gtk_paned_get_child1(paned: *mut GtkPaned) -> *mut GtkWidget;
22082    pub fn gtk_paned_get_child2(paned: *mut GtkPaned) -> *mut GtkWidget;
22083    pub fn gtk_paned_get_handle_window(paned: *mut GtkPaned) -> *mut gdk::GdkWindow;
22084    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
22085    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
22086    pub fn gtk_paned_pack1(
22087        paned: *mut GtkPaned,
22088        child: *mut GtkWidget,
22089        resize: gboolean,
22090        shrink: gboolean,
22091    );
22092    pub fn gtk_paned_pack2(
22093        paned: *mut GtkPaned,
22094        child: *mut GtkWidget,
22095        resize: gboolean,
22096        shrink: gboolean,
22097    );
22098    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
22099    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
22100
22101    //=========================================================================
22102    // GtkPanedAccessible
22103    //=========================================================================
22104    pub fn gtk_paned_accessible_get_type() -> GType;
22105
22106    //=========================================================================
22107    // GtkPlacesSidebar
22108    //=========================================================================
22109    pub fn gtk_places_sidebar_get_type() -> GType;
22110    pub fn gtk_places_sidebar_new() -> *mut GtkWidget;
22111    pub fn gtk_places_sidebar_add_shortcut(
22112        sidebar: *mut GtkPlacesSidebar,
22113        location: *mut gio::GFile,
22114    );
22115    pub fn gtk_places_sidebar_get_local_only(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22116    pub fn gtk_places_sidebar_get_location(sidebar: *mut GtkPlacesSidebar) -> *mut gio::GFile;
22117    pub fn gtk_places_sidebar_get_nth_bookmark(
22118        sidebar: *mut GtkPlacesSidebar,
22119        n: c_int,
22120    ) -> *mut gio::GFile;
22121    pub fn gtk_places_sidebar_get_open_flags(sidebar: *mut GtkPlacesSidebar) -> GtkPlacesOpenFlags;
22122    pub fn gtk_places_sidebar_get_show_connect_to_server(
22123        sidebar: *mut GtkPlacesSidebar,
22124    ) -> gboolean;
22125    pub fn gtk_places_sidebar_get_show_desktop(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22126    pub fn gtk_places_sidebar_get_show_enter_location(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22127    pub fn gtk_places_sidebar_get_show_other_locations(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22128    pub fn gtk_places_sidebar_get_show_recent(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22129    pub fn gtk_places_sidebar_get_show_starred_location(sidebar: *mut GtkPlacesSidebar)
22130        -> gboolean;
22131    pub fn gtk_places_sidebar_get_show_trash(sidebar: *mut GtkPlacesSidebar) -> gboolean;
22132    pub fn gtk_places_sidebar_list_shortcuts(sidebar: *mut GtkPlacesSidebar) -> *mut glib::GSList;
22133    pub fn gtk_places_sidebar_remove_shortcut(
22134        sidebar: *mut GtkPlacesSidebar,
22135        location: *mut gio::GFile,
22136    );
22137    pub fn gtk_places_sidebar_set_drop_targets_visible(
22138        sidebar: *mut GtkPlacesSidebar,
22139        visible: gboolean,
22140        context: *mut gdk::GdkDragContext,
22141    );
22142    pub fn gtk_places_sidebar_set_local_only(sidebar: *mut GtkPlacesSidebar, local_only: gboolean);
22143    pub fn gtk_places_sidebar_set_location(
22144        sidebar: *mut GtkPlacesSidebar,
22145        location: *mut gio::GFile,
22146    );
22147    pub fn gtk_places_sidebar_set_open_flags(
22148        sidebar: *mut GtkPlacesSidebar,
22149        flags: GtkPlacesOpenFlags,
22150    );
22151    pub fn gtk_places_sidebar_set_show_connect_to_server(
22152        sidebar: *mut GtkPlacesSidebar,
22153        show_connect_to_server: gboolean,
22154    );
22155    pub fn gtk_places_sidebar_set_show_desktop(
22156        sidebar: *mut GtkPlacesSidebar,
22157        show_desktop: gboolean,
22158    );
22159    pub fn gtk_places_sidebar_set_show_enter_location(
22160        sidebar: *mut GtkPlacesSidebar,
22161        show_enter_location: gboolean,
22162    );
22163    pub fn gtk_places_sidebar_set_show_other_locations(
22164        sidebar: *mut GtkPlacesSidebar,
22165        show_other_locations: gboolean,
22166    );
22167    pub fn gtk_places_sidebar_set_show_recent(
22168        sidebar: *mut GtkPlacesSidebar,
22169        show_recent: gboolean,
22170    );
22171    pub fn gtk_places_sidebar_set_show_starred_location(
22172        sidebar: *mut GtkPlacesSidebar,
22173        show_starred_location: gboolean,
22174    );
22175    pub fn gtk_places_sidebar_set_show_trash(sidebar: *mut GtkPlacesSidebar, show_trash: gboolean);
22176
22177    //=========================================================================
22178    // GtkPlug
22179    //=========================================================================
22180    pub fn gtk_plug_get_type() -> GType;
22181    pub fn gtk_plug_new(socket_id: xlib::Window) -> *mut GtkWidget;
22182    pub fn gtk_plug_new_for_display(
22183        display: *mut gdk::GdkDisplay,
22184        socket_id: xlib::Window,
22185    ) -> *mut GtkWidget;
22186    pub fn gtk_plug_construct(plug: *mut GtkPlug, socket_id: xlib::Window);
22187    pub fn gtk_plug_construct_for_display(
22188        plug: *mut GtkPlug,
22189        display: *mut gdk::GdkDisplay,
22190        socket_id: xlib::Window,
22191    );
22192    pub fn gtk_plug_get_embedded(plug: *mut GtkPlug) -> gboolean;
22193    pub fn gtk_plug_get_id(plug: *mut GtkPlug) -> xlib::Window;
22194    pub fn gtk_plug_get_socket_window(plug: *mut GtkPlug) -> *mut gdk::GdkWindow;
22195
22196    //=========================================================================
22197    // GtkPlugAccessible
22198    //=========================================================================
22199    #[cfg(feature = "v3_24_30")]
22200    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_30")))]
22201    pub fn gtk_plug_accessible_get_type() -> GType;
22202    #[cfg(feature = "v3_24_30")]
22203    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_30")))]
22204    pub fn gtk_plug_accessible_get_id(plug: *mut GtkPlugAccessible) -> *mut c_char;
22205
22206    //=========================================================================
22207    // GtkPopover
22208    //=========================================================================
22209    pub fn gtk_popover_get_type() -> GType;
22210    pub fn gtk_popover_new(relative_to: *mut GtkWidget) -> *mut GtkWidget;
22211    pub fn gtk_popover_new_from_model(
22212        relative_to: *mut GtkWidget,
22213        model: *mut gio::GMenuModel,
22214    ) -> *mut GtkWidget;
22215    pub fn gtk_popover_bind_model(
22216        popover: *mut GtkPopover,
22217        model: *mut gio::GMenuModel,
22218        action_namespace: *const c_char,
22219    );
22220    pub fn gtk_popover_get_constrain_to(popover: *mut GtkPopover) -> GtkPopoverConstraint;
22221    pub fn gtk_popover_get_default_widget(popover: *mut GtkPopover) -> *mut GtkWidget;
22222    pub fn gtk_popover_get_modal(popover: *mut GtkPopover) -> gboolean;
22223    pub fn gtk_popover_get_pointing_to(
22224        popover: *mut GtkPopover,
22225        rect: *mut gdk::GdkRectangle,
22226    ) -> gboolean;
22227    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
22228    pub fn gtk_popover_get_relative_to(popover: *mut GtkPopover) -> *mut GtkWidget;
22229    pub fn gtk_popover_get_transitions_enabled(popover: *mut GtkPopover) -> gboolean;
22230    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
22231    pub fn gtk_popover_popup(popover: *mut GtkPopover);
22232    pub fn gtk_popover_set_constrain_to(popover: *mut GtkPopover, constraint: GtkPopoverConstraint);
22233    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
22234    pub fn gtk_popover_set_modal(popover: *mut GtkPopover, modal: gboolean);
22235    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
22236    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
22237    pub fn gtk_popover_set_relative_to(popover: *mut GtkPopover, relative_to: *mut GtkWidget);
22238    pub fn gtk_popover_set_transitions_enabled(
22239        popover: *mut GtkPopover,
22240        transitions_enabled: gboolean,
22241    );
22242
22243    //=========================================================================
22244    // GtkPopoverAccessible
22245    //=========================================================================
22246    pub fn gtk_popover_accessible_get_type() -> GType;
22247
22248    //=========================================================================
22249    // GtkPopoverMenu
22250    //=========================================================================
22251    pub fn gtk_popover_menu_get_type() -> GType;
22252    pub fn gtk_popover_menu_new() -> *mut GtkWidget;
22253    pub fn gtk_popover_menu_open_submenu(popover: *mut GtkPopoverMenu, name: *const c_char);
22254
22255    //=========================================================================
22256    // GtkPrintContext
22257    //=========================================================================
22258    pub fn gtk_print_context_get_type() -> GType;
22259    pub fn gtk_print_context_create_pango_context(
22260        context: *mut GtkPrintContext,
22261    ) -> *mut pango::PangoContext;
22262    pub fn gtk_print_context_create_pango_layout(
22263        context: *mut GtkPrintContext,
22264    ) -> *mut pango::PangoLayout;
22265    pub fn gtk_print_context_get_cairo_context(
22266        context: *mut GtkPrintContext,
22267    ) -> *mut cairo::cairo_t;
22268    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
22269    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
22270    pub fn gtk_print_context_get_hard_margins(
22271        context: *mut GtkPrintContext,
22272        top: *mut c_double,
22273        bottom: *mut c_double,
22274        left: *mut c_double,
22275        right: *mut c_double,
22276    ) -> gboolean;
22277    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
22278    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
22279    pub fn gtk_print_context_get_pango_fontmap(
22280        context: *mut GtkPrintContext,
22281    ) -> *mut pango::PangoFontMap;
22282    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
22283    pub fn gtk_print_context_set_cairo_context(
22284        context: *mut GtkPrintContext,
22285        cr: *mut cairo::cairo_t,
22286        dpi_x: c_double,
22287        dpi_y: c_double,
22288    );
22289
22290    //=========================================================================
22291    // GtkPrintOperation
22292    //=========================================================================
22293    pub fn gtk_print_operation_get_type() -> GType;
22294    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
22295    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
22296    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
22297    pub fn gtk_print_operation_get_default_page_setup(
22298        op: *mut GtkPrintOperation,
22299    ) -> *mut GtkPageSetup;
22300    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
22301    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
22302    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
22303    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
22304    pub fn gtk_print_operation_get_print_settings(
22305        op: *mut GtkPrintOperation,
22306    ) -> *mut GtkPrintSettings;
22307    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
22308    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
22309    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
22310    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
22311    pub fn gtk_print_operation_run(
22312        op: *mut GtkPrintOperation,
22313        action: GtkPrintOperationAction,
22314        parent: *mut GtkWindow,
22315        error: *mut *mut glib::GError,
22316    ) -> GtkPrintOperationResult;
22317    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
22318    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
22319    pub fn gtk_print_operation_set_custom_tab_label(
22320        op: *mut GtkPrintOperation,
22321        label: *const c_char,
22322    );
22323    pub fn gtk_print_operation_set_default_page_setup(
22324        op: *mut GtkPrintOperation,
22325        default_page_setup: *mut GtkPageSetup,
22326    );
22327    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
22328    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
22329    pub fn gtk_print_operation_set_export_filename(
22330        op: *mut GtkPrintOperation,
22331        filename: *const c_char,
22332    );
22333    pub fn gtk_print_operation_set_has_selection(
22334        op: *mut GtkPrintOperation,
22335        has_selection: gboolean,
22336    );
22337    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
22338    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
22339    pub fn gtk_print_operation_set_print_settings(
22340        op: *mut GtkPrintOperation,
22341        print_settings: *mut GtkPrintSettings,
22342    );
22343    pub fn gtk_print_operation_set_show_progress(
22344        op: *mut GtkPrintOperation,
22345        show_progress: gboolean,
22346    );
22347    pub fn gtk_print_operation_set_support_selection(
22348        op: *mut GtkPrintOperation,
22349        support_selection: gboolean,
22350    );
22351    pub fn gtk_print_operation_set_track_print_status(
22352        op: *mut GtkPrintOperation,
22353        track_status: gboolean,
22354    );
22355    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
22356    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
22357
22358    //=========================================================================
22359    // GtkPrintSettings
22360    //=========================================================================
22361    pub fn gtk_print_settings_get_type() -> GType;
22362    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
22363    pub fn gtk_print_settings_new_from_file(
22364        file_name: *const c_char,
22365        error: *mut *mut glib::GError,
22366    ) -> *mut GtkPrintSettings;
22367    pub fn gtk_print_settings_new_from_gvariant(
22368        variant: *mut glib::GVariant,
22369    ) -> *mut GtkPrintSettings;
22370    pub fn gtk_print_settings_new_from_key_file(
22371        key_file: *mut glib::GKeyFile,
22372        group_name: *const c_char,
22373        error: *mut *mut glib::GError,
22374    ) -> *mut GtkPrintSettings;
22375    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
22376    pub fn gtk_print_settings_foreach(
22377        settings: *mut GtkPrintSettings,
22378        func: GtkPrintSettingsFunc,
22379        user_data: gpointer,
22380    );
22381    pub fn gtk_print_settings_get(
22382        settings: *mut GtkPrintSettings,
22383        key: *const c_char,
22384    ) -> *const c_char;
22385    pub fn gtk_print_settings_get_bool(
22386        settings: *mut GtkPrintSettings,
22387        key: *const c_char,
22388    ) -> gboolean;
22389    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
22390    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
22391    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
22392    pub fn gtk_print_settings_get_double(
22393        settings: *mut GtkPrintSettings,
22394        key: *const c_char,
22395    ) -> c_double;
22396    pub fn gtk_print_settings_get_double_with_default(
22397        settings: *mut GtkPrintSettings,
22398        key: *const c_char,
22399        def: c_double,
22400    ) -> c_double;
22401    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
22402    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
22403    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
22404        -> c_int;
22405    pub fn gtk_print_settings_get_int_with_default(
22406        settings: *mut GtkPrintSettings,
22407        key: *const c_char,
22408        def: c_int,
22409    ) -> c_int;
22410    pub fn gtk_print_settings_get_length(
22411        settings: *mut GtkPrintSettings,
22412        key: *const c_char,
22413        unit: GtkUnit,
22414    ) -> c_double;
22415    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
22416    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
22417    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
22418    pub fn gtk_print_settings_get_number_up_layout(
22419        settings: *mut GtkPrintSettings,
22420    ) -> GtkNumberUpLayout;
22421    pub fn gtk_print_settings_get_orientation(
22422        settings: *mut GtkPrintSettings,
22423    ) -> GtkPageOrientation;
22424    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
22425    pub fn gtk_print_settings_get_page_ranges(
22426        settings: *mut GtkPrintSettings,
22427        num_ranges: *mut c_int,
22428    ) -> *mut GtkPageRange;
22429    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
22430    pub fn gtk_print_settings_get_paper_height(
22431        settings: *mut GtkPrintSettings,
22432        unit: GtkUnit,
22433    ) -> c_double;
22434    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
22435    pub fn gtk_print_settings_get_paper_width(
22436        settings: *mut GtkPrintSettings,
22437        unit: GtkUnit,
22438    ) -> c_double;
22439    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
22440    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
22441    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
22442    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
22443    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
22444    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
22445    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
22446    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
22447    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
22448    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
22449    pub fn gtk_print_settings_has_key(
22450        settings: *mut GtkPrintSettings,
22451        key: *const c_char,
22452    ) -> gboolean;
22453    pub fn gtk_print_settings_load_file(
22454        settings: *mut GtkPrintSettings,
22455        file_name: *const c_char,
22456        error: *mut *mut glib::GError,
22457    ) -> gboolean;
22458    pub fn gtk_print_settings_load_key_file(
22459        settings: *mut GtkPrintSettings,
22460        key_file: *mut glib::GKeyFile,
22461        group_name: *const c_char,
22462        error: *mut *mut glib::GError,
22463    ) -> gboolean;
22464    pub fn gtk_print_settings_set(
22465        settings: *mut GtkPrintSettings,
22466        key: *const c_char,
22467        value: *const c_char,
22468    );
22469    pub fn gtk_print_settings_set_bool(
22470        settings: *mut GtkPrintSettings,
22471        key: *const c_char,
22472        value: gboolean,
22473    );
22474    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
22475    pub fn gtk_print_settings_set_default_source(
22476        settings: *mut GtkPrintSettings,
22477        default_source: *const c_char,
22478    );
22479    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
22480    pub fn gtk_print_settings_set_double(
22481        settings: *mut GtkPrintSettings,
22482        key: *const c_char,
22483        value: c_double,
22484    );
22485    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
22486    pub fn gtk_print_settings_set_finishings(
22487        settings: *mut GtkPrintSettings,
22488        finishings: *const c_char,
22489    );
22490    pub fn gtk_print_settings_set_int(
22491        settings: *mut GtkPrintSettings,
22492        key: *const c_char,
22493        value: c_int,
22494    );
22495    pub fn gtk_print_settings_set_length(
22496        settings: *mut GtkPrintSettings,
22497        key: *const c_char,
22498        value: c_double,
22499        unit: GtkUnit,
22500    );
22501    pub fn gtk_print_settings_set_media_type(
22502        settings: *mut GtkPrintSettings,
22503        media_type: *const c_char,
22504    );
22505    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
22506    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
22507    pub fn gtk_print_settings_set_number_up_layout(
22508        settings: *mut GtkPrintSettings,
22509        number_up_layout: GtkNumberUpLayout,
22510    );
22511    pub fn gtk_print_settings_set_orientation(
22512        settings: *mut GtkPrintSettings,
22513        orientation: GtkPageOrientation,
22514    );
22515    pub fn gtk_print_settings_set_output_bin(
22516        settings: *mut GtkPrintSettings,
22517        output_bin: *const c_char,
22518    );
22519    pub fn gtk_print_settings_set_page_ranges(
22520        settings: *mut GtkPrintSettings,
22521        page_ranges: *mut GtkPageRange,
22522        num_ranges: c_int,
22523    );
22524    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
22525    pub fn gtk_print_settings_set_paper_height(
22526        settings: *mut GtkPrintSettings,
22527        height: c_double,
22528        unit: GtkUnit,
22529    );
22530    pub fn gtk_print_settings_set_paper_size(
22531        settings: *mut GtkPrintSettings,
22532        paper_size: *mut GtkPaperSize,
22533    );
22534    pub fn gtk_print_settings_set_paper_width(
22535        settings: *mut GtkPrintSettings,
22536        width: c_double,
22537        unit: GtkUnit,
22538    );
22539    pub fn gtk_print_settings_set_print_pages(
22540        settings: *mut GtkPrintSettings,
22541        pages: GtkPrintPages,
22542    );
22543    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
22544    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
22545    pub fn gtk_print_settings_set_quality(
22546        settings: *mut GtkPrintSettings,
22547        quality: GtkPrintQuality,
22548    );
22549    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
22550    pub fn gtk_print_settings_set_resolution_xy(
22551        settings: *mut GtkPrintSettings,
22552        resolution_x: c_int,
22553        resolution_y: c_int,
22554    );
22555    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
22556    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
22557    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
22558    pub fn gtk_print_settings_to_file(
22559        settings: *mut GtkPrintSettings,
22560        file_name: *const c_char,
22561        error: *mut *mut glib::GError,
22562    ) -> gboolean;
22563    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
22564    pub fn gtk_print_settings_to_key_file(
22565        settings: *mut GtkPrintSettings,
22566        key_file: *mut glib::GKeyFile,
22567        group_name: *const c_char,
22568    );
22569    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
22570
22571    //=========================================================================
22572    // GtkProgressBar
22573    //=========================================================================
22574    pub fn gtk_progress_bar_get_type() -> GType;
22575    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
22576    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
22577    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
22578    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
22579    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
22580    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
22581    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
22582    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
22583    pub fn gtk_progress_bar_set_ellipsize(
22584        pbar: *mut GtkProgressBar,
22585        mode: pango::PangoEllipsizeMode,
22586    );
22587    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
22588    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
22589    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
22590    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
22591    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
22592
22593    //=========================================================================
22594    // GtkProgressBarAccessible
22595    //=========================================================================
22596    pub fn gtk_progress_bar_accessible_get_type() -> GType;
22597
22598    //=========================================================================
22599    // GtkRadioAction
22600    //=========================================================================
22601    pub fn gtk_radio_action_get_type() -> GType;
22602    pub fn gtk_radio_action_new(
22603        name: *const c_char,
22604        label: *const c_char,
22605        tooltip: *const c_char,
22606        stock_id: *const c_char,
22607        value: c_int,
22608    ) -> *mut GtkRadioAction;
22609    pub fn gtk_radio_action_get_current_value(action: *mut GtkRadioAction) -> c_int;
22610    pub fn gtk_radio_action_get_group(action: *mut GtkRadioAction) -> *mut glib::GSList;
22611    pub fn gtk_radio_action_join_group(
22612        action: *mut GtkRadioAction,
22613        group_source: *mut GtkRadioAction,
22614    );
22615    pub fn gtk_radio_action_set_current_value(action: *mut GtkRadioAction, current_value: c_int);
22616    pub fn gtk_radio_action_set_group(action: *mut GtkRadioAction, group: *mut glib::GSList);
22617
22618    //=========================================================================
22619    // GtkRadioButton
22620    //=========================================================================
22621    pub fn gtk_radio_button_get_type() -> GType;
22622    pub fn gtk_radio_button_new(group: *mut glib::GSList) -> *mut GtkWidget;
22623    pub fn gtk_radio_button_new_from_widget(
22624        radio_group_member: *mut GtkRadioButton,
22625    ) -> *mut GtkWidget;
22626    pub fn gtk_radio_button_new_with_label(
22627        group: *mut glib::GSList,
22628        label: *const c_char,
22629    ) -> *mut GtkWidget;
22630    pub fn gtk_radio_button_new_with_label_from_widget(
22631        radio_group_member: *mut GtkRadioButton,
22632        label: *const c_char,
22633    ) -> *mut GtkWidget;
22634    pub fn gtk_radio_button_new_with_mnemonic(
22635        group: *mut glib::GSList,
22636        label: *const c_char,
22637    ) -> *mut GtkWidget;
22638    pub fn gtk_radio_button_new_with_mnemonic_from_widget(
22639        radio_group_member: *mut GtkRadioButton,
22640        label: *const c_char,
22641    ) -> *mut GtkWidget;
22642    pub fn gtk_radio_button_get_group(radio_button: *mut GtkRadioButton) -> *mut glib::GSList;
22643    pub fn gtk_radio_button_join_group(
22644        radio_button: *mut GtkRadioButton,
22645        group_source: *mut GtkRadioButton,
22646    );
22647    pub fn gtk_radio_button_set_group(radio_button: *mut GtkRadioButton, group: *mut glib::GSList);
22648
22649    //=========================================================================
22650    // GtkRadioButtonAccessible
22651    //=========================================================================
22652    pub fn gtk_radio_button_accessible_get_type() -> GType;
22653
22654    //=========================================================================
22655    // GtkRadioMenuItem
22656    //=========================================================================
22657    pub fn gtk_radio_menu_item_get_type() -> GType;
22658    pub fn gtk_radio_menu_item_new(group: *mut glib::GSList) -> *mut GtkWidget;
22659    pub fn gtk_radio_menu_item_new_from_widget(group: *mut GtkRadioMenuItem) -> *mut GtkWidget;
22660    pub fn gtk_radio_menu_item_new_with_label(
22661        group: *mut glib::GSList,
22662        label: *const c_char,
22663    ) -> *mut GtkWidget;
22664    pub fn gtk_radio_menu_item_new_with_label_from_widget(
22665        group: *mut GtkRadioMenuItem,
22666        label: *const c_char,
22667    ) -> *mut GtkWidget;
22668    pub fn gtk_radio_menu_item_new_with_mnemonic(
22669        group: *mut glib::GSList,
22670        label: *const c_char,
22671    ) -> *mut GtkWidget;
22672    pub fn gtk_radio_menu_item_new_with_mnemonic_from_widget(
22673        group: *mut GtkRadioMenuItem,
22674        label: *const c_char,
22675    ) -> *mut GtkWidget;
22676    pub fn gtk_radio_menu_item_get_group(
22677        radio_menu_item: *mut GtkRadioMenuItem,
22678    ) -> *mut glib::GSList;
22679    pub fn gtk_radio_menu_item_join_group(
22680        radio_menu_item: *mut GtkRadioMenuItem,
22681        group_source: *mut GtkRadioMenuItem,
22682    );
22683    pub fn gtk_radio_menu_item_set_group(
22684        radio_menu_item: *mut GtkRadioMenuItem,
22685        group: *mut glib::GSList,
22686    );
22687
22688    //=========================================================================
22689    // GtkRadioMenuItemAccessible
22690    //=========================================================================
22691    pub fn gtk_radio_menu_item_accessible_get_type() -> GType;
22692
22693    //=========================================================================
22694    // GtkRadioToolButton
22695    //=========================================================================
22696    pub fn gtk_radio_tool_button_get_type() -> GType;
22697    pub fn gtk_radio_tool_button_new(group: *mut glib::GSList) -> *mut GtkToolItem;
22698    pub fn gtk_radio_tool_button_new_from_stock(
22699        group: *mut glib::GSList,
22700        stock_id: *const c_char,
22701    ) -> *mut GtkToolItem;
22702    pub fn gtk_radio_tool_button_new_from_widget(
22703        group: *mut GtkRadioToolButton,
22704    ) -> *mut GtkToolItem;
22705    pub fn gtk_radio_tool_button_new_with_stock_from_widget(
22706        group: *mut GtkRadioToolButton,
22707        stock_id: *const c_char,
22708    ) -> *mut GtkToolItem;
22709    pub fn gtk_radio_tool_button_get_group(button: *mut GtkRadioToolButton) -> *mut glib::GSList;
22710    pub fn gtk_radio_tool_button_set_group(
22711        button: *mut GtkRadioToolButton,
22712        group: *mut glib::GSList,
22713    );
22714
22715    //=========================================================================
22716    // GtkRange
22717    //=========================================================================
22718    pub fn gtk_range_get_type() -> GType;
22719    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
22720    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
22721    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
22722    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
22723    pub fn gtk_range_get_lower_stepper_sensitivity(range: *mut GtkRange) -> GtkSensitivityType;
22724    pub fn gtk_range_get_min_slider_size(range: *mut GtkRange) -> c_int;
22725    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
22726    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
22727    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
22728    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
22729    pub fn gtk_range_get_slider_range(
22730        range: *mut GtkRange,
22731        slider_start: *mut c_int,
22732        slider_end: *mut c_int,
22733    );
22734    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
22735    pub fn gtk_range_get_upper_stepper_sensitivity(range: *mut GtkRange) -> GtkSensitivityType;
22736    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
22737    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
22738    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
22739    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
22740    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
22741    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
22742    pub fn gtk_range_set_lower_stepper_sensitivity(
22743        range: *mut GtkRange,
22744        sensitivity: GtkSensitivityType,
22745    );
22746    pub fn gtk_range_set_min_slider_size(range: *mut GtkRange, min_size: c_int);
22747    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
22748    pub fn gtk_range_set_restrict_to_fill_level(
22749        range: *mut GtkRange,
22750        restrict_to_fill_level: gboolean,
22751    );
22752    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
22753    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
22754    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
22755    pub fn gtk_range_set_upper_stepper_sensitivity(
22756        range: *mut GtkRange,
22757        sensitivity: GtkSensitivityType,
22758    );
22759    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
22760
22761    //=========================================================================
22762    // GtkRangeAccessible
22763    //=========================================================================
22764    pub fn gtk_range_accessible_get_type() -> GType;
22765
22766    //=========================================================================
22767    // GtkRcStyle
22768    //=========================================================================
22769    pub fn gtk_rc_style_get_type() -> GType;
22770    pub fn gtk_rc_style_new() -> *mut GtkRcStyle;
22771    pub fn gtk_rc_style_copy(orig: *mut GtkRcStyle) -> *mut GtkRcStyle;
22772
22773    //=========================================================================
22774    // GtkRecentAction
22775    //=========================================================================
22776    pub fn gtk_recent_action_get_type() -> GType;
22777    pub fn gtk_recent_action_new(
22778        name: *const c_char,
22779        label: *const c_char,
22780        tooltip: *const c_char,
22781        stock_id: *const c_char,
22782    ) -> *mut GtkAction;
22783    pub fn gtk_recent_action_new_for_manager(
22784        name: *const c_char,
22785        label: *const c_char,
22786        tooltip: *const c_char,
22787        stock_id: *const c_char,
22788        manager: *mut GtkRecentManager,
22789    ) -> *mut GtkAction;
22790    pub fn gtk_recent_action_get_show_numbers(action: *mut GtkRecentAction) -> gboolean;
22791    pub fn gtk_recent_action_set_show_numbers(action: *mut GtkRecentAction, show_numbers: gboolean);
22792
22793    //=========================================================================
22794    // GtkRecentChooserDialog
22795    //=========================================================================
22796    pub fn gtk_recent_chooser_dialog_get_type() -> GType;
22797    pub fn gtk_recent_chooser_dialog_new(
22798        title: *const c_char,
22799        parent: *mut GtkWindow,
22800        first_button_text: *const c_char,
22801        ...
22802    ) -> *mut GtkWidget;
22803    pub fn gtk_recent_chooser_dialog_new_for_manager(
22804        title: *const c_char,
22805        parent: *mut GtkWindow,
22806        manager: *mut GtkRecentManager,
22807        first_button_text: *const c_char,
22808        ...
22809    ) -> *mut GtkWidget;
22810
22811    //=========================================================================
22812    // GtkRecentChooserMenu
22813    //=========================================================================
22814    pub fn gtk_recent_chooser_menu_get_type() -> GType;
22815    pub fn gtk_recent_chooser_menu_new() -> *mut GtkWidget;
22816    pub fn gtk_recent_chooser_menu_new_for_manager(
22817        manager: *mut GtkRecentManager,
22818    ) -> *mut GtkWidget;
22819    pub fn gtk_recent_chooser_menu_get_show_numbers(menu: *mut GtkRecentChooserMenu) -> gboolean;
22820    pub fn gtk_recent_chooser_menu_set_show_numbers(
22821        menu: *mut GtkRecentChooserMenu,
22822        show_numbers: gboolean,
22823    );
22824
22825    //=========================================================================
22826    // GtkRecentChooserWidget
22827    //=========================================================================
22828    pub fn gtk_recent_chooser_widget_get_type() -> GType;
22829    pub fn gtk_recent_chooser_widget_new() -> *mut GtkWidget;
22830    pub fn gtk_recent_chooser_widget_new_for_manager(
22831        manager: *mut GtkRecentManager,
22832    ) -> *mut GtkWidget;
22833
22834    //=========================================================================
22835    // GtkRecentFilter
22836    //=========================================================================
22837    pub fn gtk_recent_filter_get_type() -> GType;
22838    pub fn gtk_recent_filter_new() -> *mut GtkRecentFilter;
22839    pub fn gtk_recent_filter_add_age(filter: *mut GtkRecentFilter, days: c_int);
22840    pub fn gtk_recent_filter_add_application(
22841        filter: *mut GtkRecentFilter,
22842        application: *const c_char,
22843    );
22844    pub fn gtk_recent_filter_add_custom(
22845        filter: *mut GtkRecentFilter,
22846        needed: GtkRecentFilterFlags,
22847        func: GtkRecentFilterFunc,
22848        data: gpointer,
22849        data_destroy: glib::GDestroyNotify,
22850    );
22851    pub fn gtk_recent_filter_add_group(filter: *mut GtkRecentFilter, group: *const c_char);
22852    pub fn gtk_recent_filter_add_mime_type(filter: *mut GtkRecentFilter, mime_type: *const c_char);
22853    pub fn gtk_recent_filter_add_pattern(filter: *mut GtkRecentFilter, pattern: *const c_char);
22854    pub fn gtk_recent_filter_add_pixbuf_formats(filter: *mut GtkRecentFilter);
22855    pub fn gtk_recent_filter_filter(
22856        filter: *mut GtkRecentFilter,
22857        filter_info: *const GtkRecentFilterInfo,
22858    ) -> gboolean;
22859    pub fn gtk_recent_filter_get_name(filter: *mut GtkRecentFilter) -> *const c_char;
22860    pub fn gtk_recent_filter_get_needed(filter: *mut GtkRecentFilter) -> GtkRecentFilterFlags;
22861    pub fn gtk_recent_filter_set_name(filter: *mut GtkRecentFilter, name: *const c_char);
22862
22863    //=========================================================================
22864    // GtkRecentManager
22865    //=========================================================================
22866    pub fn gtk_recent_manager_get_type() -> GType;
22867    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
22868    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
22869    pub fn gtk_recent_manager_add_full(
22870        manager: *mut GtkRecentManager,
22871        uri: *const c_char,
22872        recent_data: *const GtkRecentData,
22873    ) -> gboolean;
22874    pub fn gtk_recent_manager_add_item(
22875        manager: *mut GtkRecentManager,
22876        uri: *const c_char,
22877    ) -> gboolean;
22878    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
22879    pub fn gtk_recent_manager_has_item(
22880        manager: *mut GtkRecentManager,
22881        uri: *const c_char,
22882    ) -> gboolean;
22883    pub fn gtk_recent_manager_lookup_item(
22884        manager: *mut GtkRecentManager,
22885        uri: *const c_char,
22886        error: *mut *mut glib::GError,
22887    ) -> *mut GtkRecentInfo;
22888    pub fn gtk_recent_manager_move_item(
22889        manager: *mut GtkRecentManager,
22890        uri: *const c_char,
22891        new_uri: *const c_char,
22892        error: *mut *mut glib::GError,
22893    ) -> gboolean;
22894    pub fn gtk_recent_manager_purge_items(
22895        manager: *mut GtkRecentManager,
22896        error: *mut *mut glib::GError,
22897    ) -> c_int;
22898    pub fn gtk_recent_manager_remove_item(
22899        manager: *mut GtkRecentManager,
22900        uri: *const c_char,
22901        error: *mut *mut glib::GError,
22902    ) -> gboolean;
22903
22904    //=========================================================================
22905    // GtkRendererCellAccessible
22906    //=========================================================================
22907    pub fn gtk_renderer_cell_accessible_get_type() -> GType;
22908    pub fn gtk_renderer_cell_accessible_new(renderer: *mut GtkCellRenderer) -> *mut atk::AtkObject;
22909
22910    //=========================================================================
22911    // GtkRevealer
22912    //=========================================================================
22913    pub fn gtk_revealer_get_type() -> GType;
22914    pub fn gtk_revealer_new() -> *mut GtkWidget;
22915    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
22916    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
22917    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
22918    pub fn gtk_revealer_get_transition_type(
22919        revealer: *mut GtkRevealer,
22920    ) -> GtkRevealerTransitionType;
22921    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
22922    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
22923    pub fn gtk_revealer_set_transition_type(
22924        revealer: *mut GtkRevealer,
22925        transition: GtkRevealerTransitionType,
22926    );
22927
22928    //=========================================================================
22929    // GtkScale
22930    //=========================================================================
22931    pub fn gtk_scale_get_type() -> GType;
22932    pub fn gtk_scale_new(
22933        orientation: GtkOrientation,
22934        adjustment: *mut GtkAdjustment,
22935    ) -> *mut GtkWidget;
22936    pub fn gtk_scale_new_with_range(
22937        orientation: GtkOrientation,
22938        min: c_double,
22939        max: c_double,
22940        step: c_double,
22941    ) -> *mut GtkWidget;
22942    pub fn gtk_scale_add_mark(
22943        scale: *mut GtkScale,
22944        value: c_double,
22945        position: GtkPositionType,
22946        markup: *const c_char,
22947    );
22948    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
22949    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
22950    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
22951    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
22952    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
22953    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
22954    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
22955    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
22956    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
22957    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
22958    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
22959
22960    //=========================================================================
22961    // GtkScaleAccessible
22962    //=========================================================================
22963    pub fn gtk_scale_accessible_get_type() -> GType;
22964
22965    //=========================================================================
22966    // GtkScaleButton
22967    //=========================================================================
22968    pub fn gtk_scale_button_get_type() -> GType;
22969    pub fn gtk_scale_button_new(
22970        size: GtkIconSize,
22971        min: c_double,
22972        max: c_double,
22973        step: c_double,
22974        icons: *mut *const c_char,
22975    ) -> *mut GtkWidget;
22976    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
22977    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
22978    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
22979    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
22980    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
22981    pub fn gtk_scale_button_set_adjustment(
22982        button: *mut GtkScaleButton,
22983        adjustment: *mut GtkAdjustment,
22984    );
22985    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
22986    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
22987
22988    //=========================================================================
22989    // GtkScaleButtonAccessible
22990    //=========================================================================
22991    pub fn gtk_scale_button_accessible_get_type() -> GType;
22992
22993    //=========================================================================
22994    // GtkScrollbar
22995    //=========================================================================
22996    pub fn gtk_scrollbar_get_type() -> GType;
22997    pub fn gtk_scrollbar_new(
22998        orientation: GtkOrientation,
22999        adjustment: *mut GtkAdjustment,
23000    ) -> *mut GtkWidget;
23001
23002    //=========================================================================
23003    // GtkScrolledWindow
23004    //=========================================================================
23005    pub fn gtk_scrolled_window_get_type() -> GType;
23006    pub fn gtk_scrolled_window_new(
23007        hadjustment: *mut GtkAdjustment,
23008        vadjustment: *mut GtkAdjustment,
23009    ) -> *mut GtkWidget;
23010    pub fn gtk_scrolled_window_add_with_viewport(
23011        scrolled_window: *mut GtkScrolledWindow,
23012        child: *mut GtkWidget,
23013    );
23014    pub fn gtk_scrolled_window_get_capture_button_press(
23015        scrolled_window: *mut GtkScrolledWindow,
23016    ) -> gboolean;
23017    pub fn gtk_scrolled_window_get_hadjustment(
23018        scrolled_window: *mut GtkScrolledWindow,
23019    ) -> *mut GtkAdjustment;
23020    pub fn gtk_scrolled_window_get_hscrollbar(
23021        scrolled_window: *mut GtkScrolledWindow,
23022    ) -> *mut GtkWidget;
23023    pub fn gtk_scrolled_window_get_kinetic_scrolling(
23024        scrolled_window: *mut GtkScrolledWindow,
23025    ) -> gboolean;
23026    pub fn gtk_scrolled_window_get_max_content_height(
23027        scrolled_window: *mut GtkScrolledWindow,
23028    ) -> c_int;
23029    pub fn gtk_scrolled_window_get_max_content_width(
23030        scrolled_window: *mut GtkScrolledWindow,
23031    ) -> c_int;
23032    pub fn gtk_scrolled_window_get_min_content_height(
23033        scrolled_window: *mut GtkScrolledWindow,
23034    ) -> c_int;
23035    pub fn gtk_scrolled_window_get_min_content_width(
23036        scrolled_window: *mut GtkScrolledWindow,
23037    ) -> c_int;
23038    pub fn gtk_scrolled_window_get_overlay_scrolling(
23039        scrolled_window: *mut GtkScrolledWindow,
23040    ) -> gboolean;
23041    pub fn gtk_scrolled_window_get_placement(
23042        scrolled_window: *mut GtkScrolledWindow,
23043    ) -> GtkCornerType;
23044    pub fn gtk_scrolled_window_get_policy(
23045        scrolled_window: *mut GtkScrolledWindow,
23046        hscrollbar_policy: *mut GtkPolicyType,
23047        vscrollbar_policy: *mut GtkPolicyType,
23048    );
23049    pub fn gtk_scrolled_window_get_propagate_natural_height(
23050        scrolled_window: *mut GtkScrolledWindow,
23051    ) -> gboolean;
23052    pub fn gtk_scrolled_window_get_propagate_natural_width(
23053        scrolled_window: *mut GtkScrolledWindow,
23054    ) -> gboolean;
23055    pub fn gtk_scrolled_window_get_shadow_type(
23056        scrolled_window: *mut GtkScrolledWindow,
23057    ) -> GtkShadowType;
23058    pub fn gtk_scrolled_window_get_vadjustment(
23059        scrolled_window: *mut GtkScrolledWindow,
23060    ) -> *mut GtkAdjustment;
23061    pub fn gtk_scrolled_window_get_vscrollbar(
23062        scrolled_window: *mut GtkScrolledWindow,
23063    ) -> *mut GtkWidget;
23064    pub fn gtk_scrolled_window_set_capture_button_press(
23065        scrolled_window: *mut GtkScrolledWindow,
23066        capture_button_press: gboolean,
23067    );
23068    pub fn gtk_scrolled_window_set_hadjustment(
23069        scrolled_window: *mut GtkScrolledWindow,
23070        hadjustment: *mut GtkAdjustment,
23071    );
23072    pub fn gtk_scrolled_window_set_kinetic_scrolling(
23073        scrolled_window: *mut GtkScrolledWindow,
23074        kinetic_scrolling: gboolean,
23075    );
23076    pub fn gtk_scrolled_window_set_max_content_height(
23077        scrolled_window: *mut GtkScrolledWindow,
23078        height: c_int,
23079    );
23080    pub fn gtk_scrolled_window_set_max_content_width(
23081        scrolled_window: *mut GtkScrolledWindow,
23082        width: c_int,
23083    );
23084    pub fn gtk_scrolled_window_set_min_content_height(
23085        scrolled_window: *mut GtkScrolledWindow,
23086        height: c_int,
23087    );
23088    pub fn gtk_scrolled_window_set_min_content_width(
23089        scrolled_window: *mut GtkScrolledWindow,
23090        width: c_int,
23091    );
23092    pub fn gtk_scrolled_window_set_overlay_scrolling(
23093        scrolled_window: *mut GtkScrolledWindow,
23094        overlay_scrolling: gboolean,
23095    );
23096    pub fn gtk_scrolled_window_set_placement(
23097        scrolled_window: *mut GtkScrolledWindow,
23098        window_placement: GtkCornerType,
23099    );
23100    pub fn gtk_scrolled_window_set_policy(
23101        scrolled_window: *mut GtkScrolledWindow,
23102        hscrollbar_policy: GtkPolicyType,
23103        vscrollbar_policy: GtkPolicyType,
23104    );
23105    pub fn gtk_scrolled_window_set_propagate_natural_height(
23106        scrolled_window: *mut GtkScrolledWindow,
23107        propagate: gboolean,
23108    );
23109    pub fn gtk_scrolled_window_set_propagate_natural_width(
23110        scrolled_window: *mut GtkScrolledWindow,
23111        propagate: gboolean,
23112    );
23113    pub fn gtk_scrolled_window_set_shadow_type(
23114        scrolled_window: *mut GtkScrolledWindow,
23115        type_: GtkShadowType,
23116    );
23117    pub fn gtk_scrolled_window_set_vadjustment(
23118        scrolled_window: *mut GtkScrolledWindow,
23119        vadjustment: *mut GtkAdjustment,
23120    );
23121    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
23122
23123    //=========================================================================
23124    // GtkScrolledWindowAccessible
23125    //=========================================================================
23126    pub fn gtk_scrolled_window_accessible_get_type() -> GType;
23127
23128    //=========================================================================
23129    // GtkSearchBar
23130    //=========================================================================
23131    pub fn gtk_search_bar_get_type() -> GType;
23132    pub fn gtk_search_bar_new() -> *mut GtkWidget;
23133    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEntry);
23134    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
23135    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
23136    pub fn gtk_search_bar_handle_event(
23137        bar: *mut GtkSearchBar,
23138        event: *mut gdk::GdkEvent,
23139    ) -> gboolean;
23140    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
23141    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
23142
23143    //=========================================================================
23144    // GtkSearchEntry
23145    //=========================================================================
23146    pub fn gtk_search_entry_get_type() -> GType;
23147    pub fn gtk_search_entry_new() -> *mut GtkWidget;
23148    pub fn gtk_search_entry_handle_event(
23149        entry: *mut GtkSearchEntry,
23150        event: *mut gdk::GdkEvent,
23151    ) -> gboolean;
23152
23153    //=========================================================================
23154    // GtkSeparator
23155    //=========================================================================
23156    pub fn gtk_separator_get_type() -> GType;
23157    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
23158
23159    //=========================================================================
23160    // GtkSeparatorMenuItem
23161    //=========================================================================
23162    pub fn gtk_separator_menu_item_get_type() -> GType;
23163    pub fn gtk_separator_menu_item_new() -> *mut GtkWidget;
23164
23165    //=========================================================================
23166    // GtkSeparatorToolItem
23167    //=========================================================================
23168    pub fn gtk_separator_tool_item_get_type() -> GType;
23169    pub fn gtk_separator_tool_item_new() -> *mut GtkToolItem;
23170    pub fn gtk_separator_tool_item_get_draw(item: *mut GtkSeparatorToolItem) -> gboolean;
23171    pub fn gtk_separator_tool_item_set_draw(item: *mut GtkSeparatorToolItem, draw: gboolean);
23172
23173    //=========================================================================
23174    // GtkSettings
23175    //=========================================================================
23176    pub fn gtk_settings_get_type() -> GType;
23177    pub fn gtk_settings_get_default() -> *mut GtkSettings;
23178    pub fn gtk_settings_get_for_screen(screen: *mut gdk::GdkScreen) -> *mut GtkSettings;
23179    pub fn gtk_settings_install_property(pspec: *mut gobject::GParamSpec);
23180    pub fn gtk_settings_install_property_parser(
23181        pspec: *mut gobject::GParamSpec,
23182        parser: GtkRcPropertyParser,
23183    );
23184    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
23185    pub fn gtk_settings_set_double_property(
23186        settings: *mut GtkSettings,
23187        name: *const c_char,
23188        v_double: c_double,
23189        origin: *const c_char,
23190    );
23191    pub fn gtk_settings_set_long_property(
23192        settings: *mut GtkSettings,
23193        name: *const c_char,
23194        v_long: c_long,
23195        origin: *const c_char,
23196    );
23197    pub fn gtk_settings_set_property_value(
23198        settings: *mut GtkSettings,
23199        name: *const c_char,
23200        svalue: *const GtkSettingsValue,
23201    );
23202    pub fn gtk_settings_set_string_property(
23203        settings: *mut GtkSettings,
23204        name: *const c_char,
23205        v_string: *const c_char,
23206        origin: *const c_char,
23207    );
23208
23209    //=========================================================================
23210    // GtkShortcutLabel
23211    //=========================================================================
23212    pub fn gtk_shortcut_label_get_type() -> GType;
23213    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
23214    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
23215    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
23216    pub fn gtk_shortcut_label_set_accelerator(
23217        self_: *mut GtkShortcutLabel,
23218        accelerator: *const c_char,
23219    );
23220    pub fn gtk_shortcut_label_set_disabled_text(
23221        self_: *mut GtkShortcutLabel,
23222        disabled_text: *const c_char,
23223    );
23224
23225    //=========================================================================
23226    // GtkShortcutsGroup
23227    //=========================================================================
23228    pub fn gtk_shortcuts_group_get_type() -> GType;
23229
23230    //=========================================================================
23231    // GtkShortcutsSection
23232    //=========================================================================
23233    pub fn gtk_shortcuts_section_get_type() -> GType;
23234
23235    //=========================================================================
23236    // GtkShortcutsShortcut
23237    //=========================================================================
23238    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
23239
23240    //=========================================================================
23241    // GtkShortcutsWindow
23242    //=========================================================================
23243    pub fn gtk_shortcuts_window_get_type() -> GType;
23244
23245    //=========================================================================
23246    // GtkSizeGroup
23247    //=========================================================================
23248    pub fn gtk_size_group_get_type() -> GType;
23249    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
23250    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
23251    pub fn gtk_size_group_get_ignore_hidden(size_group: *mut GtkSizeGroup) -> gboolean;
23252    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
23253    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
23254    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
23255    pub fn gtk_size_group_set_ignore_hidden(size_group: *mut GtkSizeGroup, ignore_hidden: gboolean);
23256    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
23257
23258    //=========================================================================
23259    // GtkSocket
23260    //=========================================================================
23261    pub fn gtk_socket_get_type() -> GType;
23262    pub fn gtk_socket_new() -> *mut GtkWidget;
23263    pub fn gtk_socket_add_id(socket_: *mut GtkSocket, window: xlib::Window);
23264    pub fn gtk_socket_get_id(socket_: *mut GtkSocket) -> xlib::Window;
23265    pub fn gtk_socket_get_plug_window(socket_: *mut GtkSocket) -> *mut gdk::GdkWindow;
23266
23267    //=========================================================================
23268    // GtkSocketAccessible
23269    //=========================================================================
23270    #[cfg(feature = "v3_24_30")]
23271    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_30")))]
23272    pub fn gtk_socket_accessible_get_type() -> GType;
23273    #[cfg(feature = "v3_24_30")]
23274    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24_30")))]
23275    pub fn gtk_socket_accessible_embed(socket: *mut GtkSocketAccessible, path: *mut c_char);
23276
23277    //=========================================================================
23278    // GtkSpinButton
23279    //=========================================================================
23280    pub fn gtk_spin_button_get_type() -> GType;
23281    pub fn gtk_spin_button_new(
23282        adjustment: *mut GtkAdjustment,
23283        climb_rate: c_double,
23284        digits: c_uint,
23285    ) -> *mut GtkWidget;
23286    pub fn gtk_spin_button_new_with_range(
23287        min: c_double,
23288        max: c_double,
23289        step: c_double,
23290    ) -> *mut GtkWidget;
23291    pub fn gtk_spin_button_configure(
23292        spin_button: *mut GtkSpinButton,
23293        adjustment: *mut GtkAdjustment,
23294        climb_rate: c_double,
23295        digits: c_uint,
23296    );
23297    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
23298    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
23299    pub fn gtk_spin_button_get_increments(
23300        spin_button: *mut GtkSpinButton,
23301        step: *mut c_double,
23302        page: *mut c_double,
23303    );
23304    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
23305    pub fn gtk_spin_button_get_range(
23306        spin_button: *mut GtkSpinButton,
23307        min: *mut c_double,
23308        max: *mut c_double,
23309    );
23310    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
23311    pub fn gtk_spin_button_get_update_policy(
23312        spin_button: *mut GtkSpinButton,
23313    ) -> GtkSpinButtonUpdatePolicy;
23314    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
23315    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
23316    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
23317    pub fn gtk_spin_button_set_adjustment(
23318        spin_button: *mut GtkSpinButton,
23319        adjustment: *mut GtkAdjustment,
23320    );
23321    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
23322    pub fn gtk_spin_button_set_increments(
23323        spin_button: *mut GtkSpinButton,
23324        step: c_double,
23325        page: c_double,
23326    );
23327    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
23328    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
23329    pub fn gtk_spin_button_set_snap_to_ticks(
23330        spin_button: *mut GtkSpinButton,
23331        snap_to_ticks: gboolean,
23332    );
23333    pub fn gtk_spin_button_set_update_policy(
23334        spin_button: *mut GtkSpinButton,
23335        policy: GtkSpinButtonUpdatePolicy,
23336    );
23337    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
23338    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
23339    pub fn gtk_spin_button_spin(
23340        spin_button: *mut GtkSpinButton,
23341        direction: GtkSpinType,
23342        increment: c_double,
23343    );
23344    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
23345
23346    //=========================================================================
23347    // GtkSpinButtonAccessible
23348    //=========================================================================
23349    pub fn gtk_spin_button_accessible_get_type() -> GType;
23350
23351    //=========================================================================
23352    // GtkSpinner
23353    //=========================================================================
23354    pub fn gtk_spinner_get_type() -> GType;
23355    pub fn gtk_spinner_new() -> *mut GtkWidget;
23356    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
23357    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
23358
23359    //=========================================================================
23360    // GtkSpinnerAccessible
23361    //=========================================================================
23362    pub fn gtk_spinner_accessible_get_type() -> GType;
23363
23364    //=========================================================================
23365    // GtkStack
23366    //=========================================================================
23367    pub fn gtk_stack_get_type() -> GType;
23368    pub fn gtk_stack_new() -> *mut GtkWidget;
23369    pub fn gtk_stack_add_named(stack: *mut GtkStack, child: *mut GtkWidget, name: *const c_char);
23370    pub fn gtk_stack_add_titled(
23371        stack: *mut GtkStack,
23372        child: *mut GtkWidget,
23373        name: *const c_char,
23374        title: *const c_char,
23375    );
23376    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
23377        -> *mut GtkWidget;
23378    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
23379    pub fn gtk_stack_get_homogeneous(stack: *mut GtkStack) -> gboolean;
23380    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
23381    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
23382    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
23383    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
23384    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
23385    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
23386    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
23387    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
23388    pub fn gtk_stack_set_homogeneous(stack: *mut GtkStack, homogeneous: gboolean);
23389    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
23390    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
23391    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
23392    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
23393    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
23394    pub fn gtk_stack_set_visible_child_full(
23395        stack: *mut GtkStack,
23396        name: *const c_char,
23397        transition: GtkStackTransitionType,
23398    );
23399    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
23400
23401    //=========================================================================
23402    // GtkStackAccessible
23403    //=========================================================================
23404    pub fn gtk_stack_accessible_get_type() -> GType;
23405
23406    //=========================================================================
23407    // GtkStackSidebar
23408    //=========================================================================
23409    pub fn gtk_stack_sidebar_get_type() -> GType;
23410    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
23411    pub fn gtk_stack_sidebar_get_stack(sidebar: *mut GtkStackSidebar) -> *mut GtkStack;
23412    pub fn gtk_stack_sidebar_set_stack(sidebar: *mut GtkStackSidebar, stack: *mut GtkStack);
23413
23414    //=========================================================================
23415    // GtkStackSwitcher
23416    //=========================================================================
23417    pub fn gtk_stack_switcher_get_type() -> GType;
23418    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
23419    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
23420    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
23421
23422    //=========================================================================
23423    // GtkStatusIcon
23424    //=========================================================================
23425    pub fn gtk_status_icon_get_type() -> GType;
23426    pub fn gtk_status_icon_new() -> *mut GtkStatusIcon;
23427    pub fn gtk_status_icon_new_from_file(filename: *const c_char) -> *mut GtkStatusIcon;
23428    pub fn gtk_status_icon_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkStatusIcon;
23429    pub fn gtk_status_icon_new_from_icon_name(icon_name: *const c_char) -> *mut GtkStatusIcon;
23430    pub fn gtk_status_icon_new_from_pixbuf(
23431        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
23432    ) -> *mut GtkStatusIcon;
23433    pub fn gtk_status_icon_new_from_stock(stock_id: *const c_char) -> *mut GtkStatusIcon;
23434    pub fn gtk_status_icon_position_menu(
23435        menu: *mut GtkMenu,
23436        x: *mut c_int,
23437        y: *mut c_int,
23438        push_in: *mut gboolean,
23439        user_data: *mut GtkStatusIcon,
23440    );
23441    pub fn gtk_status_icon_get_geometry(
23442        status_icon: *mut GtkStatusIcon,
23443        screen: *mut *mut gdk::GdkScreen,
23444        area: *mut gdk::GdkRectangle,
23445        orientation: *mut GtkOrientation,
23446    ) -> gboolean;
23447    pub fn gtk_status_icon_get_gicon(status_icon: *mut GtkStatusIcon) -> *mut gio::GIcon;
23448    pub fn gtk_status_icon_get_has_tooltip(status_icon: *mut GtkStatusIcon) -> gboolean;
23449    pub fn gtk_status_icon_get_icon_name(status_icon: *mut GtkStatusIcon) -> *const c_char;
23450    pub fn gtk_status_icon_get_pixbuf(
23451        status_icon: *mut GtkStatusIcon,
23452    ) -> *mut gdk_pixbuf::GdkPixbuf;
23453    pub fn gtk_status_icon_get_screen(status_icon: *mut GtkStatusIcon) -> *mut gdk::GdkScreen;
23454    pub fn gtk_status_icon_get_size(status_icon: *mut GtkStatusIcon) -> c_int;
23455    pub fn gtk_status_icon_get_stock(status_icon: *mut GtkStatusIcon) -> *const c_char;
23456    pub fn gtk_status_icon_get_storage_type(status_icon: *mut GtkStatusIcon) -> GtkImageType;
23457    pub fn gtk_status_icon_get_title(status_icon: *mut GtkStatusIcon) -> *const c_char;
23458    pub fn gtk_status_icon_get_tooltip_markup(status_icon: *mut GtkStatusIcon) -> *mut c_char;
23459    pub fn gtk_status_icon_get_tooltip_text(status_icon: *mut GtkStatusIcon) -> *mut c_char;
23460    pub fn gtk_status_icon_get_visible(status_icon: *mut GtkStatusIcon) -> gboolean;
23461    pub fn gtk_status_icon_get_x11_window_id(status_icon: *mut GtkStatusIcon) -> u32;
23462    pub fn gtk_status_icon_is_embedded(status_icon: *mut GtkStatusIcon) -> gboolean;
23463    pub fn gtk_status_icon_set_from_file(status_icon: *mut GtkStatusIcon, filename: *const c_char);
23464    pub fn gtk_status_icon_set_from_gicon(status_icon: *mut GtkStatusIcon, icon: *mut gio::GIcon);
23465    pub fn gtk_status_icon_set_from_icon_name(
23466        status_icon: *mut GtkStatusIcon,
23467        icon_name: *const c_char,
23468    );
23469    pub fn gtk_status_icon_set_from_pixbuf(
23470        status_icon: *mut GtkStatusIcon,
23471        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
23472    );
23473    pub fn gtk_status_icon_set_from_stock(status_icon: *mut GtkStatusIcon, stock_id: *const c_char);
23474    pub fn gtk_status_icon_set_has_tooltip(status_icon: *mut GtkStatusIcon, has_tooltip: gboolean);
23475    pub fn gtk_status_icon_set_name(status_icon: *mut GtkStatusIcon, name: *const c_char);
23476    pub fn gtk_status_icon_set_screen(status_icon: *mut GtkStatusIcon, screen: *mut gdk::GdkScreen);
23477    pub fn gtk_status_icon_set_title(status_icon: *mut GtkStatusIcon, title: *const c_char);
23478    pub fn gtk_status_icon_set_tooltip_markup(
23479        status_icon: *mut GtkStatusIcon,
23480        markup: *const c_char,
23481    );
23482    pub fn gtk_status_icon_set_tooltip_text(status_icon: *mut GtkStatusIcon, text: *const c_char);
23483    pub fn gtk_status_icon_set_visible(status_icon: *mut GtkStatusIcon, visible: gboolean);
23484
23485    //=========================================================================
23486    // GtkStatusbar
23487    //=========================================================================
23488    pub fn gtk_statusbar_get_type() -> GType;
23489    pub fn gtk_statusbar_new() -> *mut GtkWidget;
23490    pub fn gtk_statusbar_get_context_id(
23491        statusbar: *mut GtkStatusbar,
23492        context_description: *const c_char,
23493    ) -> c_uint;
23494    pub fn gtk_statusbar_get_message_area(statusbar: *mut GtkStatusbar) -> *mut GtkBox;
23495    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
23496    pub fn gtk_statusbar_push(
23497        statusbar: *mut GtkStatusbar,
23498        context_id: c_uint,
23499        text: *const c_char,
23500    ) -> c_uint;
23501    pub fn gtk_statusbar_remove(
23502        statusbar: *mut GtkStatusbar,
23503        context_id: c_uint,
23504        message_id: c_uint,
23505    );
23506    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
23507
23508    //=========================================================================
23509    // GtkStatusbarAccessible
23510    //=========================================================================
23511    pub fn gtk_statusbar_accessible_get_type() -> GType;
23512
23513    //=========================================================================
23514    // GtkStyle
23515    //=========================================================================
23516    pub fn gtk_style_get_type() -> GType;
23517    pub fn gtk_style_new() -> *mut GtkStyle;
23518    pub fn gtk_style_apply_default_background(
23519        style: *mut GtkStyle,
23520        cr: *mut cairo::cairo_t,
23521        window: *mut gdk::GdkWindow,
23522        state_type: GtkStateType,
23523        x: c_int,
23524        y: c_int,
23525        width: c_int,
23526        height: c_int,
23527    );
23528    pub fn gtk_style_attach(style: *mut GtkStyle, window: *mut gdk::GdkWindow) -> *mut GtkStyle;
23529    pub fn gtk_style_copy(style: *mut GtkStyle) -> *mut GtkStyle;
23530    pub fn gtk_style_detach(style: *mut GtkStyle);
23531    pub fn gtk_style_get(
23532        style: *mut GtkStyle,
23533        widget_type: GType,
23534        first_property_name: *const c_char,
23535        ...
23536    );
23537    pub fn gtk_style_get_style_property(
23538        style: *mut GtkStyle,
23539        widget_type: GType,
23540        property_name: *const c_char,
23541        value: *mut gobject::GValue,
23542    );
23543    //pub fn gtk_style_get_valist(style: *mut GtkStyle, widget_type: GType, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
23544    pub fn gtk_style_has_context(style: *mut GtkStyle) -> gboolean;
23545    pub fn gtk_style_lookup_color(
23546        style: *mut GtkStyle,
23547        color_name: *const c_char,
23548        color: *mut gdk::GdkColor,
23549    ) -> gboolean;
23550    pub fn gtk_style_lookup_icon_set(
23551        style: *mut GtkStyle,
23552        stock_id: *const c_char,
23553    ) -> *mut GtkIconSet;
23554    pub fn gtk_style_render_icon(
23555        style: *mut GtkStyle,
23556        source: *const GtkIconSource,
23557        direction: GtkTextDirection,
23558        state: GtkStateType,
23559        size: GtkIconSize,
23560        widget: *mut GtkWidget,
23561        detail: *const c_char,
23562    ) -> *mut gdk_pixbuf::GdkPixbuf;
23563    pub fn gtk_style_set_background(
23564        style: *mut GtkStyle,
23565        window: *mut gdk::GdkWindow,
23566        state_type: GtkStateType,
23567    );
23568
23569    //=========================================================================
23570    // GtkStyleContext
23571    //=========================================================================
23572    pub fn gtk_style_context_get_type() -> GType;
23573    pub fn gtk_style_context_new() -> *mut GtkStyleContext;
23574    pub fn gtk_style_context_add_provider_for_screen(
23575        screen: *mut gdk::GdkScreen,
23576        provider: *mut GtkStyleProvider,
23577        priority: c_uint,
23578    );
23579    pub fn gtk_style_context_remove_provider_for_screen(
23580        screen: *mut gdk::GdkScreen,
23581        provider: *mut GtkStyleProvider,
23582    );
23583    pub fn gtk_style_context_reset_widgets(screen: *mut gdk::GdkScreen);
23584    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
23585    pub fn gtk_style_context_add_provider(
23586        context: *mut GtkStyleContext,
23587        provider: *mut GtkStyleProvider,
23588        priority: c_uint,
23589    );
23590    pub fn gtk_style_context_add_region(
23591        context: *mut GtkStyleContext,
23592        region_name: *const c_char,
23593        flags: GtkRegionFlags,
23594    );
23595    pub fn gtk_style_context_cancel_animations(context: *mut GtkStyleContext, region_id: gpointer);
23596    pub fn gtk_style_context_get(context: *mut GtkStyleContext, state: GtkStateFlags, ...);
23597    pub fn gtk_style_context_get_background_color(
23598        context: *mut GtkStyleContext,
23599        state: GtkStateFlags,
23600        color: *mut gdk::GdkRGBA,
23601    );
23602    pub fn gtk_style_context_get_border(
23603        context: *mut GtkStyleContext,
23604        state: GtkStateFlags,
23605        border: *mut GtkBorder,
23606    );
23607    pub fn gtk_style_context_get_border_color(
23608        context: *mut GtkStyleContext,
23609        state: GtkStateFlags,
23610        color: *mut gdk::GdkRGBA,
23611    );
23612    pub fn gtk_style_context_get_color(
23613        context: *mut GtkStyleContext,
23614        state: GtkStateFlags,
23615        color: *mut gdk::GdkRGBA,
23616    );
23617    pub fn gtk_style_context_get_direction(context: *mut GtkStyleContext) -> GtkTextDirection;
23618    pub fn gtk_style_context_get_font(
23619        context: *mut GtkStyleContext,
23620        state: GtkStateFlags,
23621    ) -> *const pango::PangoFontDescription;
23622    pub fn gtk_style_context_get_frame_clock(
23623        context: *mut GtkStyleContext,
23624    ) -> *mut gdk::GdkFrameClock;
23625    pub fn gtk_style_context_get_junction_sides(context: *mut GtkStyleContext) -> GtkJunctionSides;
23626    pub fn gtk_style_context_get_margin(
23627        context: *mut GtkStyleContext,
23628        state: GtkStateFlags,
23629        margin: *mut GtkBorder,
23630    );
23631    pub fn gtk_style_context_get_padding(
23632        context: *mut GtkStyleContext,
23633        state: GtkStateFlags,
23634        padding: *mut GtkBorder,
23635    );
23636    pub fn gtk_style_context_get_parent(context: *mut GtkStyleContext) -> *mut GtkStyleContext;
23637    pub fn gtk_style_context_get_path(context: *mut GtkStyleContext) -> *const GtkWidgetPath;
23638    pub fn gtk_style_context_get_property(
23639        context: *mut GtkStyleContext,
23640        property: *const c_char,
23641        state: GtkStateFlags,
23642        value: *mut gobject::GValue,
23643    );
23644    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
23645    pub fn gtk_style_context_get_screen(context: *mut GtkStyleContext) -> *mut gdk::GdkScreen;
23646    pub fn gtk_style_context_get_section(
23647        context: *mut GtkStyleContext,
23648        property: *const c_char,
23649    ) -> *mut GtkCssSection;
23650    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
23651    pub fn gtk_style_context_get_style(context: *mut GtkStyleContext, ...);
23652    pub fn gtk_style_context_get_style_property(
23653        context: *mut GtkStyleContext,
23654        property_name: *const c_char,
23655        value: *mut gobject::GValue,
23656    );
23657    //pub fn gtk_style_context_get_style_valist(context: *mut GtkStyleContext, args: /*Unimplemented*/va_list);
23658    //pub fn gtk_style_context_get_valist(context: *mut GtkStyleContext, state: GtkStateFlags, args: /*Unimplemented*/va_list);
23659    pub fn gtk_style_context_has_class(
23660        context: *mut GtkStyleContext,
23661        class_name: *const c_char,
23662    ) -> gboolean;
23663    pub fn gtk_style_context_has_region(
23664        context: *mut GtkStyleContext,
23665        region_name: *const c_char,
23666        flags_return: *mut GtkRegionFlags,
23667    ) -> gboolean;
23668    pub fn gtk_style_context_invalidate(context: *mut GtkStyleContext);
23669    pub fn gtk_style_context_list_classes(context: *mut GtkStyleContext) -> *mut glib::GList;
23670    pub fn gtk_style_context_list_regions(context: *mut GtkStyleContext) -> *mut glib::GList;
23671    pub fn gtk_style_context_lookup_color(
23672        context: *mut GtkStyleContext,
23673        color_name: *const c_char,
23674        color: *mut gdk::GdkRGBA,
23675    ) -> gboolean;
23676    pub fn gtk_style_context_lookup_icon_set(
23677        context: *mut GtkStyleContext,
23678        stock_id: *const c_char,
23679    ) -> *mut GtkIconSet;
23680    pub fn gtk_style_context_notify_state_change(
23681        context: *mut GtkStyleContext,
23682        window: *mut gdk::GdkWindow,
23683        region_id: gpointer,
23684        state: GtkStateType,
23685        state_value: gboolean,
23686    );
23687    pub fn gtk_style_context_pop_animatable_region(context: *mut GtkStyleContext);
23688    pub fn gtk_style_context_push_animatable_region(
23689        context: *mut GtkStyleContext,
23690        region_id: gpointer,
23691    );
23692    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
23693    pub fn gtk_style_context_remove_provider(
23694        context: *mut GtkStyleContext,
23695        provider: *mut GtkStyleProvider,
23696    );
23697    pub fn gtk_style_context_remove_region(
23698        context: *mut GtkStyleContext,
23699        region_name: *const c_char,
23700    );
23701    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
23702    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
23703    pub fn gtk_style_context_scroll_animations(
23704        context: *mut GtkStyleContext,
23705        window: *mut gdk::GdkWindow,
23706        dx: c_int,
23707        dy: c_int,
23708    );
23709    pub fn gtk_style_context_set_background(
23710        context: *mut GtkStyleContext,
23711        window: *mut gdk::GdkWindow,
23712    );
23713    pub fn gtk_style_context_set_direction(
23714        context: *mut GtkStyleContext,
23715        direction: GtkTextDirection,
23716    );
23717    pub fn gtk_style_context_set_frame_clock(
23718        context: *mut GtkStyleContext,
23719        frame_clock: *mut gdk::GdkFrameClock,
23720    );
23721    pub fn gtk_style_context_set_junction_sides(
23722        context: *mut GtkStyleContext,
23723        sides: GtkJunctionSides,
23724    );
23725    pub fn gtk_style_context_set_parent(
23726        context: *mut GtkStyleContext,
23727        parent: *mut GtkStyleContext,
23728    );
23729    pub fn gtk_style_context_set_path(context: *mut GtkStyleContext, path: *mut GtkWidgetPath);
23730    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
23731    pub fn gtk_style_context_set_screen(context: *mut GtkStyleContext, screen: *mut gdk::GdkScreen);
23732    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
23733    pub fn gtk_style_context_state_is_running(
23734        context: *mut GtkStyleContext,
23735        state: GtkStateType,
23736        progress: *mut c_double,
23737    ) -> gboolean;
23738    pub fn gtk_style_context_to_string(
23739        context: *mut GtkStyleContext,
23740        flags: GtkStyleContextPrintFlags,
23741    ) -> *mut c_char;
23742
23743    //=========================================================================
23744    // GtkStyleProperties
23745    //=========================================================================
23746    pub fn gtk_style_properties_get_type() -> GType;
23747    pub fn gtk_style_properties_new() -> *mut GtkStyleProperties;
23748    pub fn gtk_style_properties_lookup_property(
23749        property_name: *const c_char,
23750        parse_func: *mut GtkStylePropertyParser,
23751        pspec: *mut *mut gobject::GParamSpec,
23752    ) -> gboolean;
23753    pub fn gtk_style_properties_register_property(
23754        parse_func: GtkStylePropertyParser,
23755        pspec: *mut gobject::GParamSpec,
23756    );
23757    pub fn gtk_style_properties_clear(props: *mut GtkStyleProperties);
23758    pub fn gtk_style_properties_get(props: *mut GtkStyleProperties, state: GtkStateFlags, ...);
23759    pub fn gtk_style_properties_get_property(
23760        props: *mut GtkStyleProperties,
23761        property: *const c_char,
23762        state: GtkStateFlags,
23763        value: *mut gobject::GValue,
23764    ) -> gboolean;
23765    //pub fn gtk_style_properties_get_valist(props: *mut GtkStyleProperties, state: GtkStateFlags, args: /*Unimplemented*/va_list);
23766    pub fn gtk_style_properties_lookup_color(
23767        props: *mut GtkStyleProperties,
23768        name: *const c_char,
23769    ) -> *mut GtkSymbolicColor;
23770    pub fn gtk_style_properties_map_color(
23771        props: *mut GtkStyleProperties,
23772        name: *const c_char,
23773        color: *mut GtkSymbolicColor,
23774    );
23775    pub fn gtk_style_properties_merge(
23776        props: *mut GtkStyleProperties,
23777        props_to_merge: *const GtkStyleProperties,
23778        replace: gboolean,
23779    );
23780    pub fn gtk_style_properties_set(props: *mut GtkStyleProperties, state: GtkStateFlags, ...);
23781    pub fn gtk_style_properties_set_property(
23782        props: *mut GtkStyleProperties,
23783        property: *const c_char,
23784        state: GtkStateFlags,
23785        value: *const gobject::GValue,
23786    );
23787    //pub fn gtk_style_properties_set_valist(props: *mut GtkStyleProperties, state: GtkStateFlags, args: /*Unimplemented*/va_list);
23788    pub fn gtk_style_properties_unset_property(
23789        props: *mut GtkStyleProperties,
23790        property: *const c_char,
23791        state: GtkStateFlags,
23792    );
23793
23794    //=========================================================================
23795    // GtkSwitch
23796    //=========================================================================
23797    pub fn gtk_switch_get_type() -> GType;
23798    pub fn gtk_switch_new() -> *mut GtkWidget;
23799    pub fn gtk_switch_get_active(sw: *mut GtkSwitch) -> gboolean;
23800    pub fn gtk_switch_get_state(sw: *mut GtkSwitch) -> gboolean;
23801    pub fn gtk_switch_set_active(sw: *mut GtkSwitch, is_active: gboolean);
23802    pub fn gtk_switch_set_state(sw: *mut GtkSwitch, state: gboolean);
23803
23804    //=========================================================================
23805    // GtkSwitchAccessible
23806    //=========================================================================
23807    pub fn gtk_switch_accessible_get_type() -> GType;
23808
23809    //=========================================================================
23810    // GtkTable
23811    //=========================================================================
23812    pub fn gtk_table_get_type() -> GType;
23813    pub fn gtk_table_new(rows: c_uint, columns: c_uint, homogeneous: gboolean) -> *mut GtkWidget;
23814    pub fn gtk_table_attach(
23815        table: *mut GtkTable,
23816        child: *mut GtkWidget,
23817        left_attach: c_uint,
23818        right_attach: c_uint,
23819        top_attach: c_uint,
23820        bottom_attach: c_uint,
23821        xoptions: GtkAttachOptions,
23822        yoptions: GtkAttachOptions,
23823        xpadding: c_uint,
23824        ypadding: c_uint,
23825    );
23826    pub fn gtk_table_attach_defaults(
23827        table: *mut GtkTable,
23828        widget: *mut GtkWidget,
23829        left_attach: c_uint,
23830        right_attach: c_uint,
23831        top_attach: c_uint,
23832        bottom_attach: c_uint,
23833    );
23834    pub fn gtk_table_get_col_spacing(table: *mut GtkTable, column: c_uint) -> c_uint;
23835    pub fn gtk_table_get_default_col_spacing(table: *mut GtkTable) -> c_uint;
23836    pub fn gtk_table_get_default_row_spacing(table: *mut GtkTable) -> c_uint;
23837    pub fn gtk_table_get_homogeneous(table: *mut GtkTable) -> gboolean;
23838    pub fn gtk_table_get_row_spacing(table: *mut GtkTable, row: c_uint) -> c_uint;
23839    pub fn gtk_table_get_size(table: *mut GtkTable, rows: *mut c_uint, columns: *mut c_uint);
23840    pub fn gtk_table_resize(table: *mut GtkTable, rows: c_uint, columns: c_uint);
23841    pub fn gtk_table_set_col_spacing(table: *mut GtkTable, column: c_uint, spacing: c_uint);
23842    pub fn gtk_table_set_col_spacings(table: *mut GtkTable, spacing: c_uint);
23843    pub fn gtk_table_set_homogeneous(table: *mut GtkTable, homogeneous: gboolean);
23844    pub fn gtk_table_set_row_spacing(table: *mut GtkTable, row: c_uint, spacing: c_uint);
23845    pub fn gtk_table_set_row_spacings(table: *mut GtkTable, spacing: c_uint);
23846
23847    //=========================================================================
23848    // GtkTearoffMenuItem
23849    //=========================================================================
23850    pub fn gtk_tearoff_menu_item_get_type() -> GType;
23851    pub fn gtk_tearoff_menu_item_new() -> *mut GtkWidget;
23852
23853    //=========================================================================
23854    // GtkTextBuffer
23855    //=========================================================================
23856    pub fn gtk_text_buffer_get_type() -> GType;
23857    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
23858    pub fn gtk_text_buffer_add_mark(
23859        buffer: *mut GtkTextBuffer,
23860        mark: *mut GtkTextMark,
23861        where_: *const GtkTextIter,
23862    );
23863    pub fn gtk_text_buffer_add_selection_clipboard(
23864        buffer: *mut GtkTextBuffer,
23865        clipboard: *mut GtkClipboard,
23866    );
23867    pub fn gtk_text_buffer_apply_tag(
23868        buffer: *mut GtkTextBuffer,
23869        tag: *mut GtkTextTag,
23870        start: *const GtkTextIter,
23871        end: *const GtkTextIter,
23872    );
23873    pub fn gtk_text_buffer_apply_tag_by_name(
23874        buffer: *mut GtkTextBuffer,
23875        name: *const c_char,
23876        start: *const GtkTextIter,
23877        end: *const GtkTextIter,
23878    );
23879    pub fn gtk_text_buffer_backspace(
23880        buffer: *mut GtkTextBuffer,
23881        iter: *mut GtkTextIter,
23882        interactive: gboolean,
23883        default_editable: gboolean,
23884    ) -> gboolean;
23885    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
23886    pub fn gtk_text_buffer_copy_clipboard(buffer: *mut GtkTextBuffer, clipboard: *mut GtkClipboard);
23887    pub fn gtk_text_buffer_create_child_anchor(
23888        buffer: *mut GtkTextBuffer,
23889        iter: *mut GtkTextIter,
23890    ) -> *mut GtkTextChildAnchor;
23891    pub fn gtk_text_buffer_create_mark(
23892        buffer: *mut GtkTextBuffer,
23893        mark_name: *const c_char,
23894        where_: *const GtkTextIter,
23895        left_gravity: gboolean,
23896    ) -> *mut GtkTextMark;
23897    pub fn gtk_text_buffer_create_tag(
23898        buffer: *mut GtkTextBuffer,
23899        tag_name: *const c_char,
23900        first_property_name: *const c_char,
23901        ...
23902    ) -> *mut GtkTextTag;
23903    pub fn gtk_text_buffer_cut_clipboard(
23904        buffer: *mut GtkTextBuffer,
23905        clipboard: *mut GtkClipboard,
23906        default_editable: gboolean,
23907    );
23908    pub fn gtk_text_buffer_delete(
23909        buffer: *mut GtkTextBuffer,
23910        start: *mut GtkTextIter,
23911        end: *mut GtkTextIter,
23912    );
23913    pub fn gtk_text_buffer_delete_interactive(
23914        buffer: *mut GtkTextBuffer,
23915        start_iter: *mut GtkTextIter,
23916        end_iter: *mut GtkTextIter,
23917        default_editable: gboolean,
23918    ) -> gboolean;
23919    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
23920    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
23921    pub fn gtk_text_buffer_delete_selection(
23922        buffer: *mut GtkTextBuffer,
23923        interactive: gboolean,
23924        default_editable: gboolean,
23925    ) -> gboolean;
23926    pub fn gtk_text_buffer_deserialize(
23927        register_buffer: *mut GtkTextBuffer,
23928        content_buffer: *mut GtkTextBuffer,
23929        format: gdk::GdkAtom,
23930        iter: *mut GtkTextIter,
23931        data: *const u8,
23932        length: size_t,
23933        error: *mut *mut glib::GError,
23934    ) -> gboolean;
23935    pub fn gtk_text_buffer_deserialize_get_can_create_tags(
23936        buffer: *mut GtkTextBuffer,
23937        format: gdk::GdkAtom,
23938    ) -> gboolean;
23939    pub fn gtk_text_buffer_deserialize_set_can_create_tags(
23940        buffer: *mut GtkTextBuffer,
23941        format: gdk::GdkAtom,
23942        can_create_tags: gboolean,
23943    );
23944    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
23945    pub fn gtk_text_buffer_get_bounds(
23946        buffer: *mut GtkTextBuffer,
23947        start: *mut GtkTextIter,
23948        end: *mut GtkTextIter,
23949    );
23950    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
23951    pub fn gtk_text_buffer_get_copy_target_list(buffer: *mut GtkTextBuffer) -> *mut GtkTargetList;
23952    pub fn gtk_text_buffer_get_deserialize_formats(
23953        buffer: *mut GtkTextBuffer,
23954        n_formats: *mut c_int,
23955    ) -> *mut gdk::GdkAtom;
23956    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
23957    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
23958    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
23959    pub fn gtk_text_buffer_get_iter_at_child_anchor(
23960        buffer: *mut GtkTextBuffer,
23961        iter: *mut GtkTextIter,
23962        anchor: *mut GtkTextChildAnchor,
23963    );
23964    pub fn gtk_text_buffer_get_iter_at_line(
23965        buffer: *mut GtkTextBuffer,
23966        iter: *mut GtkTextIter,
23967        line_number: c_int,
23968    );
23969    pub fn gtk_text_buffer_get_iter_at_line_index(
23970        buffer: *mut GtkTextBuffer,
23971        iter: *mut GtkTextIter,
23972        line_number: c_int,
23973        byte_index: c_int,
23974    );
23975    pub fn gtk_text_buffer_get_iter_at_line_offset(
23976        buffer: *mut GtkTextBuffer,
23977        iter: *mut GtkTextIter,
23978        line_number: c_int,
23979        char_offset: c_int,
23980    );
23981    pub fn gtk_text_buffer_get_iter_at_mark(
23982        buffer: *mut GtkTextBuffer,
23983        iter: *mut GtkTextIter,
23984        mark: *mut GtkTextMark,
23985    );
23986    pub fn gtk_text_buffer_get_iter_at_offset(
23987        buffer: *mut GtkTextBuffer,
23988        iter: *mut GtkTextIter,
23989        char_offset: c_int,
23990    );
23991    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
23992    pub fn gtk_text_buffer_get_mark(
23993        buffer: *mut GtkTextBuffer,
23994        name: *const c_char,
23995    ) -> *mut GtkTextMark;
23996    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
23997    pub fn gtk_text_buffer_get_paste_target_list(buffer: *mut GtkTextBuffer) -> *mut GtkTargetList;
23998    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
23999    pub fn gtk_text_buffer_get_selection_bounds(
24000        buffer: *mut GtkTextBuffer,
24001        start: *mut GtkTextIter,
24002        end: *mut GtkTextIter,
24003    ) -> gboolean;
24004    pub fn gtk_text_buffer_get_serialize_formats(
24005        buffer: *mut GtkTextBuffer,
24006        n_formats: *mut c_int,
24007    ) -> *mut gdk::GdkAtom;
24008    pub fn gtk_text_buffer_get_slice(
24009        buffer: *mut GtkTextBuffer,
24010        start: *const GtkTextIter,
24011        end: *const GtkTextIter,
24012        include_hidden_chars: gboolean,
24013    ) -> *mut c_char;
24014    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
24015    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
24016    pub fn gtk_text_buffer_get_text(
24017        buffer: *mut GtkTextBuffer,
24018        start: *const GtkTextIter,
24019        end: *const GtkTextIter,
24020        include_hidden_chars: gboolean,
24021    ) -> *mut c_char;
24022    pub fn gtk_text_buffer_insert(
24023        buffer: *mut GtkTextBuffer,
24024        iter: *mut GtkTextIter,
24025        text: *const c_char,
24026        len: c_int,
24027    );
24028    pub fn gtk_text_buffer_insert_at_cursor(
24029        buffer: *mut GtkTextBuffer,
24030        text: *const c_char,
24031        len: c_int,
24032    );
24033    pub fn gtk_text_buffer_insert_child_anchor(
24034        buffer: *mut GtkTextBuffer,
24035        iter: *mut GtkTextIter,
24036        anchor: *mut GtkTextChildAnchor,
24037    );
24038    pub fn gtk_text_buffer_insert_interactive(
24039        buffer: *mut GtkTextBuffer,
24040        iter: *mut GtkTextIter,
24041        text: *const c_char,
24042        len: c_int,
24043        default_editable: gboolean,
24044    ) -> gboolean;
24045    pub fn gtk_text_buffer_insert_interactive_at_cursor(
24046        buffer: *mut GtkTextBuffer,
24047        text: *const c_char,
24048        len: c_int,
24049        default_editable: gboolean,
24050    ) -> gboolean;
24051    pub fn gtk_text_buffer_insert_markup(
24052        buffer: *mut GtkTextBuffer,
24053        iter: *mut GtkTextIter,
24054        markup: *const c_char,
24055        len: c_int,
24056    );
24057    pub fn gtk_text_buffer_insert_pixbuf(
24058        buffer: *mut GtkTextBuffer,
24059        iter: *mut GtkTextIter,
24060        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
24061    );
24062    pub fn gtk_text_buffer_insert_range(
24063        buffer: *mut GtkTextBuffer,
24064        iter: *mut GtkTextIter,
24065        start: *const GtkTextIter,
24066        end: *const GtkTextIter,
24067    );
24068    pub fn gtk_text_buffer_insert_range_interactive(
24069        buffer: *mut GtkTextBuffer,
24070        iter: *mut GtkTextIter,
24071        start: *const GtkTextIter,
24072        end: *const GtkTextIter,
24073        default_editable: gboolean,
24074    ) -> gboolean;
24075    pub fn gtk_text_buffer_insert_with_tags(
24076        buffer: *mut GtkTextBuffer,
24077        iter: *mut GtkTextIter,
24078        text: *const c_char,
24079        len: c_int,
24080        first_tag: *mut GtkTextTag,
24081        ...
24082    );
24083    pub fn gtk_text_buffer_insert_with_tags_by_name(
24084        buffer: *mut GtkTextBuffer,
24085        iter: *mut GtkTextIter,
24086        text: *const c_char,
24087        len: c_int,
24088        first_tag_name: *const c_char,
24089        ...
24090    );
24091    pub fn gtk_text_buffer_move_mark(
24092        buffer: *mut GtkTextBuffer,
24093        mark: *mut GtkTextMark,
24094        where_: *const GtkTextIter,
24095    );
24096    pub fn gtk_text_buffer_move_mark_by_name(
24097        buffer: *mut GtkTextBuffer,
24098        name: *const c_char,
24099        where_: *const GtkTextIter,
24100    );
24101    pub fn gtk_text_buffer_paste_clipboard(
24102        buffer: *mut GtkTextBuffer,
24103        clipboard: *mut GtkClipboard,
24104        override_location: *mut GtkTextIter,
24105        default_editable: gboolean,
24106    );
24107    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
24108    pub fn gtk_text_buffer_register_deserialize_format(
24109        buffer: *mut GtkTextBuffer,
24110        mime_type: *const c_char,
24111        function: GtkTextBufferDeserializeFunc,
24112        user_data: gpointer,
24113        user_data_destroy: glib::GDestroyNotify,
24114    ) -> gdk::GdkAtom;
24115    pub fn gtk_text_buffer_register_deserialize_tagset(
24116        buffer: *mut GtkTextBuffer,
24117        tagset_name: *const c_char,
24118    ) -> gdk::GdkAtom;
24119    pub fn gtk_text_buffer_register_serialize_format(
24120        buffer: *mut GtkTextBuffer,
24121        mime_type: *const c_char,
24122        function: GtkTextBufferSerializeFunc,
24123        user_data: gpointer,
24124        user_data_destroy: glib::GDestroyNotify,
24125    ) -> gdk::GdkAtom;
24126    pub fn gtk_text_buffer_register_serialize_tagset(
24127        buffer: *mut GtkTextBuffer,
24128        tagset_name: *const c_char,
24129    ) -> gdk::GdkAtom;
24130    pub fn gtk_text_buffer_remove_all_tags(
24131        buffer: *mut GtkTextBuffer,
24132        start: *const GtkTextIter,
24133        end: *const GtkTextIter,
24134    );
24135    pub fn gtk_text_buffer_remove_selection_clipboard(
24136        buffer: *mut GtkTextBuffer,
24137        clipboard: *mut GtkClipboard,
24138    );
24139    pub fn gtk_text_buffer_remove_tag(
24140        buffer: *mut GtkTextBuffer,
24141        tag: *mut GtkTextTag,
24142        start: *const GtkTextIter,
24143        end: *const GtkTextIter,
24144    );
24145    pub fn gtk_text_buffer_remove_tag_by_name(
24146        buffer: *mut GtkTextBuffer,
24147        name: *const c_char,
24148        start: *const GtkTextIter,
24149        end: *const GtkTextIter,
24150    );
24151    pub fn gtk_text_buffer_select_range(
24152        buffer: *mut GtkTextBuffer,
24153        ins: *const GtkTextIter,
24154        bound: *const GtkTextIter,
24155    );
24156    pub fn gtk_text_buffer_serialize(
24157        register_buffer: *mut GtkTextBuffer,
24158        content_buffer: *mut GtkTextBuffer,
24159        format: gdk::GdkAtom,
24160        start: *const GtkTextIter,
24161        end: *const GtkTextIter,
24162        length: *mut size_t,
24163    ) -> *mut u8;
24164    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
24165    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
24166    pub fn gtk_text_buffer_unregister_deserialize_format(
24167        buffer: *mut GtkTextBuffer,
24168        format: gdk::GdkAtom,
24169    );
24170    pub fn gtk_text_buffer_unregister_serialize_format(
24171        buffer: *mut GtkTextBuffer,
24172        format: gdk::GdkAtom,
24173    );
24174
24175    //=========================================================================
24176    // GtkTextCellAccessible
24177    //=========================================================================
24178    pub fn gtk_text_cell_accessible_get_type() -> GType;
24179
24180    //=========================================================================
24181    // GtkTextChildAnchor
24182    //=========================================================================
24183    pub fn gtk_text_child_anchor_get_type() -> GType;
24184    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
24185    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
24186    pub fn gtk_text_child_anchor_get_widgets(anchor: *mut GtkTextChildAnchor) -> *mut glib::GList;
24187
24188    //=========================================================================
24189    // GtkTextMark
24190    //=========================================================================
24191    pub fn gtk_text_mark_get_type() -> GType;
24192    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
24193    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
24194    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
24195    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
24196    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
24197    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
24198    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
24199
24200    //=========================================================================
24201    // GtkTextTag
24202    //=========================================================================
24203    pub fn gtk_text_tag_get_type() -> GType;
24204    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
24205    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
24206    pub fn gtk_text_tag_event(
24207        tag: *mut GtkTextTag,
24208        event_object: *mut gobject::GObject,
24209        event: *mut gdk::GdkEvent,
24210        iter: *const GtkTextIter,
24211    ) -> gboolean;
24212    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
24213    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
24214
24215    //=========================================================================
24216    // GtkTextTagTable
24217    //=========================================================================
24218    pub fn gtk_text_tag_table_get_type() -> GType;
24219    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
24220    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
24221    pub fn gtk_text_tag_table_foreach(
24222        table: *mut GtkTextTagTable,
24223        func: GtkTextTagTableForeach,
24224        data: gpointer,
24225    );
24226    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
24227    pub fn gtk_text_tag_table_lookup(
24228        table: *mut GtkTextTagTable,
24229        name: *const c_char,
24230    ) -> *mut GtkTextTag;
24231    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
24232
24233    //=========================================================================
24234    // GtkTextView
24235    //=========================================================================
24236    pub fn gtk_text_view_get_type() -> GType;
24237    pub fn gtk_text_view_new() -> *mut GtkWidget;
24238    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
24239    pub fn gtk_text_view_add_child_at_anchor(
24240        text_view: *mut GtkTextView,
24241        child: *mut GtkWidget,
24242        anchor: *mut GtkTextChildAnchor,
24243    );
24244    pub fn gtk_text_view_add_child_in_window(
24245        text_view: *mut GtkTextView,
24246        child: *mut GtkWidget,
24247        which_window: GtkTextWindowType,
24248        xpos: c_int,
24249        ypos: c_int,
24250    );
24251    pub fn gtk_text_view_backward_display_line(
24252        text_view: *mut GtkTextView,
24253        iter: *mut GtkTextIter,
24254    ) -> gboolean;
24255    pub fn gtk_text_view_backward_display_line_start(
24256        text_view: *mut GtkTextView,
24257        iter: *mut GtkTextIter,
24258    ) -> gboolean;
24259    pub fn gtk_text_view_buffer_to_window_coords(
24260        text_view: *mut GtkTextView,
24261        win: GtkTextWindowType,
24262        buffer_x: c_int,
24263        buffer_y: c_int,
24264        window_x: *mut c_int,
24265        window_y: *mut c_int,
24266    );
24267    pub fn gtk_text_view_forward_display_line(
24268        text_view: *mut GtkTextView,
24269        iter: *mut GtkTextIter,
24270    ) -> gboolean;
24271    pub fn gtk_text_view_forward_display_line_end(
24272        text_view: *mut GtkTextView,
24273        iter: *mut GtkTextIter,
24274    ) -> gboolean;
24275    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
24276    pub fn gtk_text_view_get_border_window_size(
24277        text_view: *mut GtkTextView,
24278        type_: GtkTextWindowType,
24279    ) -> c_int;
24280    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
24281    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
24282    pub fn gtk_text_view_get_cursor_locations(
24283        text_view: *mut GtkTextView,
24284        iter: *const GtkTextIter,
24285        strong: *mut gdk::GdkRectangle,
24286        weak: *mut gdk::GdkRectangle,
24287    );
24288    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
24289    pub fn gtk_text_view_get_default_attributes(
24290        text_view: *mut GtkTextView,
24291    ) -> *mut GtkTextAttributes;
24292    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
24293    pub fn gtk_text_view_get_hadjustment(text_view: *mut GtkTextView) -> *mut GtkAdjustment;
24294    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
24295    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
24296    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
24297    pub fn gtk_text_view_get_iter_at_location(
24298        text_view: *mut GtkTextView,
24299        iter: *mut GtkTextIter,
24300        x: c_int,
24301        y: c_int,
24302    ) -> gboolean;
24303    pub fn gtk_text_view_get_iter_at_position(
24304        text_view: *mut GtkTextView,
24305        iter: *mut GtkTextIter,
24306        trailing: *mut c_int,
24307        x: c_int,
24308        y: c_int,
24309    ) -> gboolean;
24310    pub fn gtk_text_view_get_iter_location(
24311        text_view: *mut GtkTextView,
24312        iter: *const GtkTextIter,
24313        location: *mut gdk::GdkRectangle,
24314    );
24315    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
24316    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
24317    pub fn gtk_text_view_get_line_at_y(
24318        text_view: *mut GtkTextView,
24319        target_iter: *mut GtkTextIter,
24320        y: c_int,
24321        line_top: *mut c_int,
24322    );
24323    pub fn gtk_text_view_get_line_yrange(
24324        text_view: *mut GtkTextView,
24325        iter: *const GtkTextIter,
24326        y: *mut c_int,
24327        height: *mut c_int,
24328    );
24329    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
24330    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
24331    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
24332    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
24333    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
24334    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
24335    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
24336    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
24337    pub fn gtk_text_view_get_vadjustment(text_view: *mut GtkTextView) -> *mut GtkAdjustment;
24338    pub fn gtk_text_view_get_visible_rect(
24339        text_view: *mut GtkTextView,
24340        visible_rect: *mut gdk::GdkRectangle,
24341    );
24342    pub fn gtk_text_view_get_window(
24343        text_view: *mut GtkTextView,
24344        win: GtkTextWindowType,
24345    ) -> *mut gdk::GdkWindow;
24346    pub fn gtk_text_view_get_window_type(
24347        text_view: *mut GtkTextView,
24348        window: *mut gdk::GdkWindow,
24349    ) -> GtkTextWindowType;
24350    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
24351    pub fn gtk_text_view_im_context_filter_keypress(
24352        text_view: *mut GtkTextView,
24353        event: *mut gdk::GdkEventKey,
24354    ) -> gboolean;
24355    pub fn gtk_text_view_move_child(
24356        text_view: *mut GtkTextView,
24357        child: *mut GtkWidget,
24358        xpos: c_int,
24359        ypos: c_int,
24360    );
24361    pub fn gtk_text_view_move_mark_onscreen(
24362        text_view: *mut GtkTextView,
24363        mark: *mut GtkTextMark,
24364    ) -> gboolean;
24365    pub fn gtk_text_view_move_visually(
24366        text_view: *mut GtkTextView,
24367        iter: *mut GtkTextIter,
24368        count: c_int,
24369    ) -> gboolean;
24370    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
24371    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
24372    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
24373    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
24374    pub fn gtk_text_view_scroll_to_iter(
24375        text_view: *mut GtkTextView,
24376        iter: *mut GtkTextIter,
24377        within_margin: c_double,
24378        use_align: gboolean,
24379        xalign: c_double,
24380        yalign: c_double,
24381    ) -> gboolean;
24382    pub fn gtk_text_view_scroll_to_mark(
24383        text_view: *mut GtkTextView,
24384        mark: *mut GtkTextMark,
24385        within_margin: c_double,
24386        use_align: gboolean,
24387        xalign: c_double,
24388        yalign: c_double,
24389    );
24390    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
24391    pub fn gtk_text_view_set_border_window_size(
24392        text_view: *mut GtkTextView,
24393        type_: GtkTextWindowType,
24394        size: c_int,
24395    );
24396    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
24397    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
24398    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
24399    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
24400    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
24401    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
24402    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
24403    pub fn gtk_text_view_set_justification(
24404        text_view: *mut GtkTextView,
24405        justification: GtkJustification,
24406    );
24407    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
24408    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
24409    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
24410    pub fn gtk_text_view_set_pixels_above_lines(
24411        text_view: *mut GtkTextView,
24412        pixels_above_lines: c_int,
24413    );
24414    pub fn gtk_text_view_set_pixels_below_lines(
24415        text_view: *mut GtkTextView,
24416        pixels_below_lines: c_int,
24417    );
24418    pub fn gtk_text_view_set_pixels_inside_wrap(
24419        text_view: *mut GtkTextView,
24420        pixels_inside_wrap: c_int,
24421    );
24422    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
24423    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
24424    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
24425    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
24426    pub fn gtk_text_view_starts_display_line(
24427        text_view: *mut GtkTextView,
24428        iter: *const GtkTextIter,
24429    ) -> gboolean;
24430    pub fn gtk_text_view_window_to_buffer_coords(
24431        text_view: *mut GtkTextView,
24432        win: GtkTextWindowType,
24433        window_x: c_int,
24434        window_y: c_int,
24435        buffer_x: *mut c_int,
24436        buffer_y: *mut c_int,
24437    );
24438
24439    //=========================================================================
24440    // GtkTextViewAccessible
24441    //=========================================================================
24442    pub fn gtk_text_view_accessible_get_type() -> GType;
24443
24444    //=========================================================================
24445    // GtkThemingEngine
24446    //=========================================================================
24447    pub fn gtk_theming_engine_get_type() -> GType;
24448    pub fn gtk_theming_engine_load(name: *const c_char) -> *mut GtkThemingEngine;
24449    pub fn gtk_theming_engine_register_property(
24450        name_space: *const c_char,
24451        parse_func: GtkStylePropertyParser,
24452        pspec: *mut gobject::GParamSpec,
24453    );
24454    pub fn gtk_theming_engine_get(engine: *mut GtkThemingEngine, state: GtkStateFlags, ...);
24455    pub fn gtk_theming_engine_get_background_color(
24456        engine: *mut GtkThemingEngine,
24457        state: GtkStateFlags,
24458        color: *mut gdk::GdkRGBA,
24459    );
24460    pub fn gtk_theming_engine_get_border(
24461        engine: *mut GtkThemingEngine,
24462        state: GtkStateFlags,
24463        border: *mut GtkBorder,
24464    );
24465    pub fn gtk_theming_engine_get_border_color(
24466        engine: *mut GtkThemingEngine,
24467        state: GtkStateFlags,
24468        color: *mut gdk::GdkRGBA,
24469    );
24470    pub fn gtk_theming_engine_get_color(
24471        engine: *mut GtkThemingEngine,
24472        state: GtkStateFlags,
24473        color: *mut gdk::GdkRGBA,
24474    );
24475    pub fn gtk_theming_engine_get_direction(engine: *mut GtkThemingEngine) -> GtkTextDirection;
24476    pub fn gtk_theming_engine_get_font(
24477        engine: *mut GtkThemingEngine,
24478        state: GtkStateFlags,
24479    ) -> *const pango::PangoFontDescription;
24480    pub fn gtk_theming_engine_get_junction_sides(engine: *mut GtkThemingEngine)
24481        -> GtkJunctionSides;
24482    pub fn gtk_theming_engine_get_margin(
24483        engine: *mut GtkThemingEngine,
24484        state: GtkStateFlags,
24485        margin: *mut GtkBorder,
24486    );
24487    pub fn gtk_theming_engine_get_padding(
24488        engine: *mut GtkThemingEngine,
24489        state: GtkStateFlags,
24490        padding: *mut GtkBorder,
24491    );
24492    pub fn gtk_theming_engine_get_path(engine: *mut GtkThemingEngine) -> *const GtkWidgetPath;
24493    pub fn gtk_theming_engine_get_property(
24494        engine: *mut GtkThemingEngine,
24495        property: *const c_char,
24496        state: GtkStateFlags,
24497        value: *mut gobject::GValue,
24498    );
24499    pub fn gtk_theming_engine_get_screen(engine: *mut GtkThemingEngine) -> *mut gdk::GdkScreen;
24500    pub fn gtk_theming_engine_get_state(engine: *mut GtkThemingEngine) -> GtkStateFlags;
24501    pub fn gtk_theming_engine_get_style(engine: *mut GtkThemingEngine, ...);
24502    pub fn gtk_theming_engine_get_style_property(
24503        engine: *mut GtkThemingEngine,
24504        property_name: *const c_char,
24505        value: *mut gobject::GValue,
24506    );
24507    //pub fn gtk_theming_engine_get_style_valist(engine: *mut GtkThemingEngine, args: /*Unimplemented*/va_list);
24508    //pub fn gtk_theming_engine_get_valist(engine: *mut GtkThemingEngine, state: GtkStateFlags, args: /*Unimplemented*/va_list);
24509    pub fn gtk_theming_engine_has_class(
24510        engine: *mut GtkThemingEngine,
24511        style_class: *const c_char,
24512    ) -> gboolean;
24513    pub fn gtk_theming_engine_has_region(
24514        engine: *mut GtkThemingEngine,
24515        style_region: *const c_char,
24516        flags: *mut GtkRegionFlags,
24517    ) -> gboolean;
24518    pub fn gtk_theming_engine_lookup_color(
24519        engine: *mut GtkThemingEngine,
24520        color_name: *const c_char,
24521        color: *mut gdk::GdkRGBA,
24522    ) -> gboolean;
24523    pub fn gtk_theming_engine_state_is_running(
24524        engine: *mut GtkThemingEngine,
24525        state: GtkStateType,
24526        progress: *mut c_double,
24527    ) -> gboolean;
24528
24529    //=========================================================================
24530    // GtkToggleAction
24531    //=========================================================================
24532    pub fn gtk_toggle_action_get_type() -> GType;
24533    pub fn gtk_toggle_action_new(
24534        name: *const c_char,
24535        label: *const c_char,
24536        tooltip: *const c_char,
24537        stock_id: *const c_char,
24538    ) -> *mut GtkToggleAction;
24539    pub fn gtk_toggle_action_get_active(action: *mut GtkToggleAction) -> gboolean;
24540    pub fn gtk_toggle_action_get_draw_as_radio(action: *mut GtkToggleAction) -> gboolean;
24541    pub fn gtk_toggle_action_set_active(action: *mut GtkToggleAction, is_active: gboolean);
24542    pub fn gtk_toggle_action_set_draw_as_radio(
24543        action: *mut GtkToggleAction,
24544        draw_as_radio: gboolean,
24545    );
24546    pub fn gtk_toggle_action_toggled(action: *mut GtkToggleAction);
24547
24548    //=========================================================================
24549    // GtkToggleButton
24550    //=========================================================================
24551    pub fn gtk_toggle_button_get_type() -> GType;
24552    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
24553    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
24554    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
24555    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
24556    pub fn gtk_toggle_button_get_inconsistent(toggle_button: *mut GtkToggleButton) -> gboolean;
24557    pub fn gtk_toggle_button_get_mode(toggle_button: *mut GtkToggleButton) -> gboolean;
24558    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
24559    pub fn gtk_toggle_button_set_inconsistent(
24560        toggle_button: *mut GtkToggleButton,
24561        setting: gboolean,
24562    );
24563    pub fn gtk_toggle_button_set_mode(
24564        toggle_button: *mut GtkToggleButton,
24565        draw_indicator: gboolean,
24566    );
24567    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
24568
24569    //=========================================================================
24570    // GtkToggleButtonAccessible
24571    //=========================================================================
24572    pub fn gtk_toggle_button_accessible_get_type() -> GType;
24573
24574    //=========================================================================
24575    // GtkToggleToolButton
24576    //=========================================================================
24577    pub fn gtk_toggle_tool_button_get_type() -> GType;
24578    pub fn gtk_toggle_tool_button_new() -> *mut GtkToolItem;
24579    pub fn gtk_toggle_tool_button_new_from_stock(stock_id: *const c_char) -> *mut GtkToolItem;
24580    pub fn gtk_toggle_tool_button_get_active(button: *mut GtkToggleToolButton) -> gboolean;
24581    pub fn gtk_toggle_tool_button_set_active(button: *mut GtkToggleToolButton, is_active: gboolean);
24582
24583    //=========================================================================
24584    // GtkToolButton
24585    //=========================================================================
24586    pub fn gtk_tool_button_get_type() -> GType;
24587    pub fn gtk_tool_button_new(
24588        icon_widget: *mut GtkWidget,
24589        label: *const c_char,
24590    ) -> *mut GtkToolItem;
24591    pub fn gtk_tool_button_new_from_stock(stock_id: *const c_char) -> *mut GtkToolItem;
24592    pub fn gtk_tool_button_get_icon_name(button: *mut GtkToolButton) -> *const c_char;
24593    pub fn gtk_tool_button_get_icon_widget(button: *mut GtkToolButton) -> *mut GtkWidget;
24594    pub fn gtk_tool_button_get_label(button: *mut GtkToolButton) -> *const c_char;
24595    pub fn gtk_tool_button_get_label_widget(button: *mut GtkToolButton) -> *mut GtkWidget;
24596    pub fn gtk_tool_button_get_stock_id(button: *mut GtkToolButton) -> *const c_char;
24597    pub fn gtk_tool_button_get_use_underline(button: *mut GtkToolButton) -> gboolean;
24598    pub fn gtk_tool_button_set_icon_name(button: *mut GtkToolButton, icon_name: *const c_char);
24599    pub fn gtk_tool_button_set_icon_widget(button: *mut GtkToolButton, icon_widget: *mut GtkWidget);
24600    pub fn gtk_tool_button_set_label(button: *mut GtkToolButton, label: *const c_char);
24601    pub fn gtk_tool_button_set_label_widget(
24602        button: *mut GtkToolButton,
24603        label_widget: *mut GtkWidget,
24604    );
24605    pub fn gtk_tool_button_set_stock_id(button: *mut GtkToolButton, stock_id: *const c_char);
24606    pub fn gtk_tool_button_set_use_underline(button: *mut GtkToolButton, use_underline: gboolean);
24607
24608    //=========================================================================
24609    // GtkToolItem
24610    //=========================================================================
24611    pub fn gtk_tool_item_get_type() -> GType;
24612    pub fn gtk_tool_item_new() -> *mut GtkToolItem;
24613    pub fn gtk_tool_item_get_ellipsize_mode(
24614        tool_item: *mut GtkToolItem,
24615    ) -> pango::PangoEllipsizeMode;
24616    pub fn gtk_tool_item_get_expand(tool_item: *mut GtkToolItem) -> gboolean;
24617    pub fn gtk_tool_item_get_homogeneous(tool_item: *mut GtkToolItem) -> gboolean;
24618    pub fn gtk_tool_item_get_icon_size(tool_item: *mut GtkToolItem) -> GtkIconSize;
24619    pub fn gtk_tool_item_get_is_important(tool_item: *mut GtkToolItem) -> gboolean;
24620    pub fn gtk_tool_item_get_orientation(tool_item: *mut GtkToolItem) -> GtkOrientation;
24621    pub fn gtk_tool_item_get_proxy_menu_item(
24622        tool_item: *mut GtkToolItem,
24623        menu_item_id: *const c_char,
24624    ) -> *mut GtkWidget;
24625    pub fn gtk_tool_item_get_relief_style(tool_item: *mut GtkToolItem) -> GtkReliefStyle;
24626    pub fn gtk_tool_item_get_text_alignment(tool_item: *mut GtkToolItem) -> c_float;
24627    pub fn gtk_tool_item_get_text_orientation(tool_item: *mut GtkToolItem) -> GtkOrientation;
24628    pub fn gtk_tool_item_get_text_size_group(tool_item: *mut GtkToolItem) -> *mut GtkSizeGroup;
24629    pub fn gtk_tool_item_get_toolbar_style(tool_item: *mut GtkToolItem) -> GtkToolbarStyle;
24630    pub fn gtk_tool_item_get_use_drag_window(tool_item: *mut GtkToolItem) -> gboolean;
24631    pub fn gtk_tool_item_get_visible_horizontal(tool_item: *mut GtkToolItem) -> gboolean;
24632    pub fn gtk_tool_item_get_visible_vertical(tool_item: *mut GtkToolItem) -> gboolean;
24633    pub fn gtk_tool_item_rebuild_menu(tool_item: *mut GtkToolItem);
24634    pub fn gtk_tool_item_retrieve_proxy_menu_item(tool_item: *mut GtkToolItem) -> *mut GtkWidget;
24635    pub fn gtk_tool_item_set_expand(tool_item: *mut GtkToolItem, expand: gboolean);
24636    pub fn gtk_tool_item_set_homogeneous(tool_item: *mut GtkToolItem, homogeneous: gboolean);
24637    pub fn gtk_tool_item_set_is_important(tool_item: *mut GtkToolItem, is_important: gboolean);
24638    pub fn gtk_tool_item_set_proxy_menu_item(
24639        tool_item: *mut GtkToolItem,
24640        menu_item_id: *const c_char,
24641        menu_item: *mut GtkWidget,
24642    );
24643    pub fn gtk_tool_item_set_tooltip_markup(tool_item: *mut GtkToolItem, markup: *const c_char);
24644    pub fn gtk_tool_item_set_tooltip_text(tool_item: *mut GtkToolItem, text: *const c_char);
24645    pub fn gtk_tool_item_set_use_drag_window(
24646        tool_item: *mut GtkToolItem,
24647        use_drag_window: gboolean,
24648    );
24649    pub fn gtk_tool_item_set_visible_horizontal(
24650        tool_item: *mut GtkToolItem,
24651        visible_horizontal: gboolean,
24652    );
24653    pub fn gtk_tool_item_set_visible_vertical(
24654        tool_item: *mut GtkToolItem,
24655        visible_vertical: gboolean,
24656    );
24657    pub fn gtk_tool_item_toolbar_reconfigured(tool_item: *mut GtkToolItem);
24658
24659    //=========================================================================
24660    // GtkToolItemGroup
24661    //=========================================================================
24662    pub fn gtk_tool_item_group_get_type() -> GType;
24663    pub fn gtk_tool_item_group_new(label: *const c_char) -> *mut GtkWidget;
24664    pub fn gtk_tool_item_group_get_collapsed(group: *mut GtkToolItemGroup) -> gboolean;
24665    pub fn gtk_tool_item_group_get_drop_item(
24666        group: *mut GtkToolItemGroup,
24667        x: c_int,
24668        y: c_int,
24669    ) -> *mut GtkToolItem;
24670    pub fn gtk_tool_item_group_get_ellipsize(
24671        group: *mut GtkToolItemGroup,
24672    ) -> pango::PangoEllipsizeMode;
24673    pub fn gtk_tool_item_group_get_header_relief(group: *mut GtkToolItemGroup) -> GtkReliefStyle;
24674    pub fn gtk_tool_item_group_get_item_position(
24675        group: *mut GtkToolItemGroup,
24676        item: *mut GtkToolItem,
24677    ) -> c_int;
24678    pub fn gtk_tool_item_group_get_label(group: *mut GtkToolItemGroup) -> *const c_char;
24679    pub fn gtk_tool_item_group_get_label_widget(group: *mut GtkToolItemGroup) -> *mut GtkWidget;
24680    pub fn gtk_tool_item_group_get_n_items(group: *mut GtkToolItemGroup) -> c_uint;
24681    pub fn gtk_tool_item_group_get_nth_item(
24682        group: *mut GtkToolItemGroup,
24683        index: c_uint,
24684    ) -> *mut GtkToolItem;
24685    pub fn gtk_tool_item_group_insert(
24686        group: *mut GtkToolItemGroup,
24687        item: *mut GtkToolItem,
24688        position: c_int,
24689    );
24690    pub fn gtk_tool_item_group_set_collapsed(group: *mut GtkToolItemGroup, collapsed: gboolean);
24691    pub fn gtk_tool_item_group_set_ellipsize(
24692        group: *mut GtkToolItemGroup,
24693        ellipsize: pango::PangoEllipsizeMode,
24694    );
24695    pub fn gtk_tool_item_group_set_header_relief(
24696        group: *mut GtkToolItemGroup,
24697        style: GtkReliefStyle,
24698    );
24699    pub fn gtk_tool_item_group_set_item_position(
24700        group: *mut GtkToolItemGroup,
24701        item: *mut GtkToolItem,
24702        position: c_int,
24703    );
24704    pub fn gtk_tool_item_group_set_label(group: *mut GtkToolItemGroup, label: *const c_char);
24705    pub fn gtk_tool_item_group_set_label_widget(
24706        group: *mut GtkToolItemGroup,
24707        label_widget: *mut GtkWidget,
24708    );
24709
24710    //=========================================================================
24711    // GtkToolPalette
24712    //=========================================================================
24713    pub fn gtk_tool_palette_get_type() -> GType;
24714    pub fn gtk_tool_palette_new() -> *mut GtkWidget;
24715    pub fn gtk_tool_palette_get_drag_target_group() -> *const GtkTargetEntry;
24716    pub fn gtk_tool_palette_get_drag_target_item() -> *const GtkTargetEntry;
24717    pub fn gtk_tool_palette_add_drag_dest(
24718        palette: *mut GtkToolPalette,
24719        widget: *mut GtkWidget,
24720        flags: GtkDestDefaults,
24721        targets: GtkToolPaletteDragTargets,
24722        actions: gdk::GdkDragAction,
24723    );
24724    pub fn gtk_tool_palette_get_drag_item(
24725        palette: *mut GtkToolPalette,
24726        selection: *const GtkSelectionData,
24727    ) -> *mut GtkWidget;
24728    pub fn gtk_tool_palette_get_drop_group(
24729        palette: *mut GtkToolPalette,
24730        x: c_int,
24731        y: c_int,
24732    ) -> *mut GtkToolItemGroup;
24733    pub fn gtk_tool_palette_get_drop_item(
24734        palette: *mut GtkToolPalette,
24735        x: c_int,
24736        y: c_int,
24737    ) -> *mut GtkToolItem;
24738    pub fn gtk_tool_palette_get_exclusive(
24739        palette: *mut GtkToolPalette,
24740        group: *mut GtkToolItemGroup,
24741    ) -> gboolean;
24742    pub fn gtk_tool_palette_get_expand(
24743        palette: *mut GtkToolPalette,
24744        group: *mut GtkToolItemGroup,
24745    ) -> gboolean;
24746    pub fn gtk_tool_palette_get_group_position(
24747        palette: *mut GtkToolPalette,
24748        group: *mut GtkToolItemGroup,
24749    ) -> c_int;
24750    pub fn gtk_tool_palette_get_hadjustment(palette: *mut GtkToolPalette) -> *mut GtkAdjustment;
24751    pub fn gtk_tool_palette_get_icon_size(palette: *mut GtkToolPalette) -> GtkIconSize;
24752    pub fn gtk_tool_palette_get_style(palette: *mut GtkToolPalette) -> GtkToolbarStyle;
24753    pub fn gtk_tool_palette_get_vadjustment(palette: *mut GtkToolPalette) -> *mut GtkAdjustment;
24754    pub fn gtk_tool_palette_set_drag_source(
24755        palette: *mut GtkToolPalette,
24756        targets: GtkToolPaletteDragTargets,
24757    );
24758    pub fn gtk_tool_palette_set_exclusive(
24759        palette: *mut GtkToolPalette,
24760        group: *mut GtkToolItemGroup,
24761        exclusive: gboolean,
24762    );
24763    pub fn gtk_tool_palette_set_expand(
24764        palette: *mut GtkToolPalette,
24765        group: *mut GtkToolItemGroup,
24766        expand: gboolean,
24767    );
24768    pub fn gtk_tool_palette_set_group_position(
24769        palette: *mut GtkToolPalette,
24770        group: *mut GtkToolItemGroup,
24771        position: c_int,
24772    );
24773    pub fn gtk_tool_palette_set_icon_size(palette: *mut GtkToolPalette, icon_size: GtkIconSize);
24774    pub fn gtk_tool_palette_set_style(palette: *mut GtkToolPalette, style: GtkToolbarStyle);
24775    pub fn gtk_tool_palette_unset_icon_size(palette: *mut GtkToolPalette);
24776    pub fn gtk_tool_palette_unset_style(palette: *mut GtkToolPalette);
24777
24778    //=========================================================================
24779    // GtkToolbar
24780    //=========================================================================
24781    pub fn gtk_toolbar_get_type() -> GType;
24782    pub fn gtk_toolbar_new() -> *mut GtkWidget;
24783    pub fn gtk_toolbar_get_drop_index(toolbar: *mut GtkToolbar, x: c_int, y: c_int) -> c_int;
24784    pub fn gtk_toolbar_get_icon_size(toolbar: *mut GtkToolbar) -> GtkIconSize;
24785    pub fn gtk_toolbar_get_item_index(toolbar: *mut GtkToolbar, item: *mut GtkToolItem) -> c_int;
24786    pub fn gtk_toolbar_get_n_items(toolbar: *mut GtkToolbar) -> c_int;
24787    pub fn gtk_toolbar_get_nth_item(toolbar: *mut GtkToolbar, n: c_int) -> *mut GtkToolItem;
24788    pub fn gtk_toolbar_get_relief_style(toolbar: *mut GtkToolbar) -> GtkReliefStyle;
24789    pub fn gtk_toolbar_get_show_arrow(toolbar: *mut GtkToolbar) -> gboolean;
24790    pub fn gtk_toolbar_get_style(toolbar: *mut GtkToolbar) -> GtkToolbarStyle;
24791    pub fn gtk_toolbar_insert(toolbar: *mut GtkToolbar, item: *mut GtkToolItem, pos: c_int);
24792    pub fn gtk_toolbar_set_drop_highlight_item(
24793        toolbar: *mut GtkToolbar,
24794        tool_item: *mut GtkToolItem,
24795        index_: c_int,
24796    );
24797    pub fn gtk_toolbar_set_icon_size(toolbar: *mut GtkToolbar, icon_size: GtkIconSize);
24798    pub fn gtk_toolbar_set_show_arrow(toolbar: *mut GtkToolbar, show_arrow: gboolean);
24799    pub fn gtk_toolbar_set_style(toolbar: *mut GtkToolbar, style: GtkToolbarStyle);
24800    pub fn gtk_toolbar_unset_icon_size(toolbar: *mut GtkToolbar);
24801    pub fn gtk_toolbar_unset_style(toolbar: *mut GtkToolbar);
24802
24803    //=========================================================================
24804    // GtkTooltip
24805    //=========================================================================
24806    pub fn gtk_tooltip_get_type() -> GType;
24807    pub fn gtk_tooltip_trigger_tooltip_query(display: *mut gdk::GdkDisplay);
24808    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
24809    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
24810    pub fn gtk_tooltip_set_icon_from_gicon(
24811        tooltip: *mut GtkTooltip,
24812        gicon: *mut gio::GIcon,
24813        size: GtkIconSize,
24814    );
24815    pub fn gtk_tooltip_set_icon_from_icon_name(
24816        tooltip: *mut GtkTooltip,
24817        icon_name: *const c_char,
24818        size: GtkIconSize,
24819    );
24820    pub fn gtk_tooltip_set_icon_from_stock(
24821        tooltip: *mut GtkTooltip,
24822        stock_id: *const c_char,
24823        size: GtkIconSize,
24824    );
24825    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
24826    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
24827    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
24828
24829    //=========================================================================
24830    // GtkToplevelAccessible
24831    //=========================================================================
24832    pub fn gtk_toplevel_accessible_get_type() -> GType;
24833    pub fn gtk_toplevel_accessible_get_children(
24834        accessible: *mut GtkToplevelAccessible,
24835    ) -> *mut glib::GList;
24836
24837    //=========================================================================
24838    // GtkTreeModelFilter
24839    //=========================================================================
24840    pub fn gtk_tree_model_filter_get_type() -> GType;
24841    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
24842    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
24843        filter: *mut GtkTreeModelFilter,
24844        filter_iter: *mut GtkTreeIter,
24845        child_iter: *mut GtkTreeIter,
24846    ) -> gboolean;
24847    pub fn gtk_tree_model_filter_convert_child_path_to_path(
24848        filter: *mut GtkTreeModelFilter,
24849        child_path: *mut GtkTreePath,
24850    ) -> *mut GtkTreePath;
24851    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
24852        filter: *mut GtkTreeModelFilter,
24853        child_iter: *mut GtkTreeIter,
24854        filter_iter: *mut GtkTreeIter,
24855    );
24856    pub fn gtk_tree_model_filter_convert_path_to_child_path(
24857        filter: *mut GtkTreeModelFilter,
24858        filter_path: *mut GtkTreePath,
24859    ) -> *mut GtkTreePath;
24860    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
24861    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
24862    pub fn gtk_tree_model_filter_set_modify_func(
24863        filter: *mut GtkTreeModelFilter,
24864        n_columns: c_int,
24865        types: *mut GType,
24866        func: GtkTreeModelFilterModifyFunc,
24867        data: gpointer,
24868        destroy: glib::GDestroyNotify,
24869    );
24870    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
24871    pub fn gtk_tree_model_filter_set_visible_func(
24872        filter: *mut GtkTreeModelFilter,
24873        func: GtkTreeModelFilterVisibleFunc,
24874        data: gpointer,
24875        destroy: glib::GDestroyNotify,
24876    );
24877
24878    //=========================================================================
24879    // GtkTreeModelSort
24880    //=========================================================================
24881    pub fn gtk_tree_model_sort_get_type() -> GType;
24882    pub fn gtk_tree_model_sort_new_with_model(
24883        child_model: *mut GtkTreeModel,
24884    ) -> *mut GtkTreeModelSort;
24885    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
24886    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
24887        tree_model_sort: *mut GtkTreeModelSort,
24888        sort_iter: *mut GtkTreeIter,
24889        child_iter: *mut GtkTreeIter,
24890    ) -> gboolean;
24891    pub fn gtk_tree_model_sort_convert_child_path_to_path(
24892        tree_model_sort: *mut GtkTreeModelSort,
24893        child_path: *mut GtkTreePath,
24894    ) -> *mut GtkTreePath;
24895    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
24896        tree_model_sort: *mut GtkTreeModelSort,
24897        child_iter: *mut GtkTreeIter,
24898        sorted_iter: *mut GtkTreeIter,
24899    );
24900    pub fn gtk_tree_model_sort_convert_path_to_child_path(
24901        tree_model_sort: *mut GtkTreeModelSort,
24902        sorted_path: *mut GtkTreePath,
24903    ) -> *mut GtkTreePath;
24904    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
24905    pub fn gtk_tree_model_sort_iter_is_valid(
24906        tree_model_sort: *mut GtkTreeModelSort,
24907        iter: *mut GtkTreeIter,
24908    ) -> gboolean;
24909    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
24910
24911    //=========================================================================
24912    // GtkTreeSelection
24913    //=========================================================================
24914    pub fn gtk_tree_selection_get_type() -> GType;
24915    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
24916    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
24917    pub fn gtk_tree_selection_get_select_function(
24918        selection: *mut GtkTreeSelection,
24919    ) -> GtkTreeSelectionFunc;
24920    pub fn gtk_tree_selection_get_selected(
24921        selection: *mut GtkTreeSelection,
24922        model: *mut *mut GtkTreeModel,
24923        iter: *mut GtkTreeIter,
24924    ) -> gboolean;
24925    pub fn gtk_tree_selection_get_selected_rows(
24926        selection: *mut GtkTreeSelection,
24927        model: *mut *mut GtkTreeModel,
24928    ) -> *mut glib::GList;
24929    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
24930    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
24931    pub fn gtk_tree_selection_iter_is_selected(
24932        selection: *mut GtkTreeSelection,
24933        iter: *mut GtkTreeIter,
24934    ) -> gboolean;
24935    pub fn gtk_tree_selection_path_is_selected(
24936        selection: *mut GtkTreeSelection,
24937        path: *mut GtkTreePath,
24938    ) -> gboolean;
24939    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
24940    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
24941    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
24942    pub fn gtk_tree_selection_select_range(
24943        selection: *mut GtkTreeSelection,
24944        start_path: *mut GtkTreePath,
24945        end_path: *mut GtkTreePath,
24946    );
24947    pub fn gtk_tree_selection_selected_foreach(
24948        selection: *mut GtkTreeSelection,
24949        func: GtkTreeSelectionForeachFunc,
24950        data: gpointer,
24951    );
24952    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
24953    pub fn gtk_tree_selection_set_select_function(
24954        selection: *mut GtkTreeSelection,
24955        func: GtkTreeSelectionFunc,
24956        data: gpointer,
24957        destroy: glib::GDestroyNotify,
24958    );
24959    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
24960    pub fn gtk_tree_selection_unselect_iter(
24961        selection: *mut GtkTreeSelection,
24962        iter: *mut GtkTreeIter,
24963    );
24964    pub fn gtk_tree_selection_unselect_path(
24965        selection: *mut GtkTreeSelection,
24966        path: *mut GtkTreePath,
24967    );
24968    pub fn gtk_tree_selection_unselect_range(
24969        selection: *mut GtkTreeSelection,
24970        start_path: *mut GtkTreePath,
24971        end_path: *mut GtkTreePath,
24972    );
24973
24974    //=========================================================================
24975    // GtkTreeStore
24976    //=========================================================================
24977    pub fn gtk_tree_store_get_type() -> GType;
24978    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
24979    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
24980    pub fn gtk_tree_store_append(
24981        tree_store: *mut GtkTreeStore,
24982        iter: *mut GtkTreeIter,
24983        parent: *mut GtkTreeIter,
24984    );
24985    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
24986    pub fn gtk_tree_store_insert(
24987        tree_store: *mut GtkTreeStore,
24988        iter: *mut GtkTreeIter,
24989        parent: *mut GtkTreeIter,
24990        position: c_int,
24991    );
24992    pub fn gtk_tree_store_insert_after(
24993        tree_store: *mut GtkTreeStore,
24994        iter: *mut GtkTreeIter,
24995        parent: *mut GtkTreeIter,
24996        sibling: *mut GtkTreeIter,
24997    );
24998    pub fn gtk_tree_store_insert_before(
24999        tree_store: *mut GtkTreeStore,
25000        iter: *mut GtkTreeIter,
25001        parent: *mut GtkTreeIter,
25002        sibling: *mut GtkTreeIter,
25003    );
25004    pub fn gtk_tree_store_insert_with_values(
25005        tree_store: *mut GtkTreeStore,
25006        iter: *mut GtkTreeIter,
25007        parent: *mut GtkTreeIter,
25008        position: c_int,
25009        ...
25010    );
25011    pub fn gtk_tree_store_insert_with_valuesv(
25012        tree_store: *mut GtkTreeStore,
25013        iter: *mut GtkTreeIter,
25014        parent: *mut GtkTreeIter,
25015        position: c_int,
25016        columns: *mut c_int,
25017        values: *mut gobject::GValue,
25018        n_values: c_int,
25019    );
25020    pub fn gtk_tree_store_is_ancestor(
25021        tree_store: *mut GtkTreeStore,
25022        iter: *mut GtkTreeIter,
25023        descendant: *mut GtkTreeIter,
25024    ) -> gboolean;
25025    pub fn gtk_tree_store_iter_depth(
25026        tree_store: *mut GtkTreeStore,
25027        iter: *mut GtkTreeIter,
25028    ) -> c_int;
25029    pub fn gtk_tree_store_iter_is_valid(
25030        tree_store: *mut GtkTreeStore,
25031        iter: *mut GtkTreeIter,
25032    ) -> gboolean;
25033    pub fn gtk_tree_store_move_after(
25034        tree_store: *mut GtkTreeStore,
25035        iter: *mut GtkTreeIter,
25036        position: *mut GtkTreeIter,
25037    );
25038    pub fn gtk_tree_store_move_before(
25039        tree_store: *mut GtkTreeStore,
25040        iter: *mut GtkTreeIter,
25041        position: *mut GtkTreeIter,
25042    );
25043    pub fn gtk_tree_store_prepend(
25044        tree_store: *mut GtkTreeStore,
25045        iter: *mut GtkTreeIter,
25046        parent: *mut GtkTreeIter,
25047    );
25048    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
25049        -> gboolean;
25050    pub fn gtk_tree_store_reorder(
25051        tree_store: *mut GtkTreeStore,
25052        parent: *mut GtkTreeIter,
25053        new_order: *mut c_int,
25054    );
25055    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
25056    pub fn gtk_tree_store_set_column_types(
25057        tree_store: *mut GtkTreeStore,
25058        n_columns: c_int,
25059        types: *mut GType,
25060    );
25061    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
25062    pub fn gtk_tree_store_set_value(
25063        tree_store: *mut GtkTreeStore,
25064        iter: *mut GtkTreeIter,
25065        column: c_int,
25066        value: *mut gobject::GValue,
25067    );
25068    pub fn gtk_tree_store_set_valuesv(
25069        tree_store: *mut GtkTreeStore,
25070        iter: *mut GtkTreeIter,
25071        columns: *mut c_int,
25072        values: *mut gobject::GValue,
25073        n_values: c_int,
25074    );
25075    pub fn gtk_tree_store_swap(
25076        tree_store: *mut GtkTreeStore,
25077        a: *mut GtkTreeIter,
25078        b: *mut GtkTreeIter,
25079    );
25080
25081    //=========================================================================
25082    // GtkTreeView
25083    //=========================================================================
25084    pub fn gtk_tree_view_get_type() -> GType;
25085    pub fn gtk_tree_view_new() -> *mut GtkWidget;
25086    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
25087    pub fn gtk_tree_view_append_column(
25088        tree_view: *mut GtkTreeView,
25089        column: *mut GtkTreeViewColumn,
25090    ) -> c_int;
25091    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
25092    pub fn gtk_tree_view_collapse_row(
25093        tree_view: *mut GtkTreeView,
25094        path: *mut GtkTreePath,
25095    ) -> gboolean;
25096    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
25097    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
25098        tree_view: *mut GtkTreeView,
25099        bx: c_int,
25100        by: c_int,
25101        tx: *mut c_int,
25102        ty: *mut c_int,
25103    );
25104    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
25105        tree_view: *mut GtkTreeView,
25106        bx: c_int,
25107        by: c_int,
25108        wx: *mut c_int,
25109        wy: *mut c_int,
25110    );
25111    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
25112        tree_view: *mut GtkTreeView,
25113        tx: c_int,
25114        ty: c_int,
25115        bx: *mut c_int,
25116        by: *mut c_int,
25117    );
25118    pub fn gtk_tree_view_convert_tree_to_widget_coords(
25119        tree_view: *mut GtkTreeView,
25120        tx: c_int,
25121        ty: c_int,
25122        wx: *mut c_int,
25123        wy: *mut c_int,
25124    );
25125    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
25126        tree_view: *mut GtkTreeView,
25127        wx: c_int,
25128        wy: c_int,
25129        bx: *mut c_int,
25130        by: *mut c_int,
25131    );
25132    pub fn gtk_tree_view_convert_widget_to_tree_coords(
25133        tree_view: *mut GtkTreeView,
25134        wx: c_int,
25135        wy: c_int,
25136        tx: *mut c_int,
25137        ty: *mut c_int,
25138    );
25139    pub fn gtk_tree_view_create_row_drag_icon(
25140        tree_view: *mut GtkTreeView,
25141        path: *mut GtkTreePath,
25142    ) -> *mut cairo::cairo_surface_t;
25143    pub fn gtk_tree_view_enable_model_drag_dest(
25144        tree_view: *mut GtkTreeView,
25145        targets: *const GtkTargetEntry,
25146        n_targets: c_int,
25147        actions: gdk::GdkDragAction,
25148    );
25149    pub fn gtk_tree_view_enable_model_drag_source(
25150        tree_view: *mut GtkTreeView,
25151        start_button_mask: gdk::GdkModifierType,
25152        targets: *const GtkTargetEntry,
25153        n_targets: c_int,
25154        actions: gdk::GdkDragAction,
25155    );
25156    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
25157    pub fn gtk_tree_view_expand_row(
25158        tree_view: *mut GtkTreeView,
25159        path: *mut GtkTreePath,
25160        open_all: gboolean,
25161    ) -> gboolean;
25162    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
25163    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
25164    pub fn gtk_tree_view_get_background_area(
25165        tree_view: *mut GtkTreeView,
25166        path: *mut GtkTreePath,
25167        column: *mut GtkTreeViewColumn,
25168        rect: *mut gdk::GdkRectangle,
25169    );
25170    pub fn gtk_tree_view_get_bin_window(tree_view: *mut GtkTreeView) -> *mut gdk::GdkWindow;
25171    pub fn gtk_tree_view_get_cell_area(
25172        tree_view: *mut GtkTreeView,
25173        path: *mut GtkTreePath,
25174        column: *mut GtkTreeViewColumn,
25175        rect: *mut gdk::GdkRectangle,
25176    );
25177    pub fn gtk_tree_view_get_column(
25178        tree_view: *mut GtkTreeView,
25179        n: c_int,
25180    ) -> *mut GtkTreeViewColumn;
25181    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
25182    pub fn gtk_tree_view_get_cursor(
25183        tree_view: *mut GtkTreeView,
25184        path: *mut *mut GtkTreePath,
25185        focus_column: *mut *mut GtkTreeViewColumn,
25186    );
25187    pub fn gtk_tree_view_get_dest_row_at_pos(
25188        tree_view: *mut GtkTreeView,
25189        drag_x: c_int,
25190        drag_y: c_int,
25191        path: *mut *mut GtkTreePath,
25192        pos: *mut GtkTreeViewDropPosition,
25193    ) -> gboolean;
25194    pub fn gtk_tree_view_get_drag_dest_row(
25195        tree_view: *mut GtkTreeView,
25196        path: *mut *mut GtkTreePath,
25197        pos: *mut GtkTreeViewDropPosition,
25198    );
25199    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
25200    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
25201    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
25202        -> *mut GtkTreeViewColumn;
25203    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
25204    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
25205    pub fn gtk_tree_view_get_hadjustment(tree_view: *mut GtkTreeView) -> *mut GtkAdjustment;
25206    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
25207    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
25208    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
25209    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
25210    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
25211    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
25212    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
25213    pub fn gtk_tree_view_get_path_at_pos(
25214        tree_view: *mut GtkTreeView,
25215        x: c_int,
25216        y: c_int,
25217        path: *mut *mut GtkTreePath,
25218        column: *mut *mut GtkTreeViewColumn,
25219        cell_x: *mut c_int,
25220        cell_y: *mut c_int,
25221    ) -> gboolean;
25222    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
25223    pub fn gtk_tree_view_get_row_separator_func(
25224        tree_view: *mut GtkTreeView,
25225    ) -> GtkTreeViewRowSeparatorFunc;
25226    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
25227    pub fn gtk_tree_view_get_rules_hint(tree_view: *mut GtkTreeView) -> gboolean;
25228    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
25229    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEntry;
25230    pub fn gtk_tree_view_get_search_equal_func(
25231        tree_view: *mut GtkTreeView,
25232    ) -> GtkTreeViewSearchEqualFunc;
25233    pub fn gtk_tree_view_get_search_position_func(
25234        tree_view: *mut GtkTreeView,
25235    ) -> GtkTreeViewSearchPositionFunc;
25236    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
25237    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
25238    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
25239    pub fn gtk_tree_view_get_tooltip_context(
25240        tree_view: *mut GtkTreeView,
25241        x: *mut c_int,
25242        y: *mut c_int,
25243        keyboard_tip: gboolean,
25244        model: *mut *mut GtkTreeModel,
25245        path: *mut *mut GtkTreePath,
25246        iter: *mut GtkTreeIter,
25247    ) -> gboolean;
25248    pub fn gtk_tree_view_get_vadjustment(tree_view: *mut GtkTreeView) -> *mut GtkAdjustment;
25249    pub fn gtk_tree_view_get_visible_range(
25250        tree_view: *mut GtkTreeView,
25251        start_path: *mut *mut GtkTreePath,
25252        end_path: *mut *mut GtkTreePath,
25253    ) -> gboolean;
25254    pub fn gtk_tree_view_get_visible_rect(
25255        tree_view: *mut GtkTreeView,
25256        visible_rect: *mut gdk::GdkRectangle,
25257    );
25258    pub fn gtk_tree_view_insert_column(
25259        tree_view: *mut GtkTreeView,
25260        column: *mut GtkTreeViewColumn,
25261        position: c_int,
25262    ) -> c_int;
25263    pub fn gtk_tree_view_insert_column_with_attributes(
25264        tree_view: *mut GtkTreeView,
25265        position: c_int,
25266        title: *const c_char,
25267        cell: *mut GtkCellRenderer,
25268        ...
25269    ) -> c_int;
25270    pub fn gtk_tree_view_insert_column_with_data_func(
25271        tree_view: *mut GtkTreeView,
25272        position: c_int,
25273        title: *const c_char,
25274        cell: *mut GtkCellRenderer,
25275        func: GtkTreeCellDataFunc,
25276        data: gpointer,
25277        dnotify: glib::GDestroyNotify,
25278    ) -> c_int;
25279    pub fn gtk_tree_view_is_blank_at_pos(
25280        tree_view: *mut GtkTreeView,
25281        x: c_int,
25282        y: c_int,
25283        path: *mut *mut GtkTreePath,
25284        column: *mut *mut GtkTreeViewColumn,
25285        cell_x: *mut c_int,
25286        cell_y: *mut c_int,
25287    ) -> gboolean;
25288    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
25289    pub fn gtk_tree_view_map_expanded_rows(
25290        tree_view: *mut GtkTreeView,
25291        func: GtkTreeViewMappingFunc,
25292        data: gpointer,
25293    );
25294    pub fn gtk_tree_view_move_column_after(
25295        tree_view: *mut GtkTreeView,
25296        column: *mut GtkTreeViewColumn,
25297        base_column: *mut GtkTreeViewColumn,
25298    );
25299    pub fn gtk_tree_view_remove_column(
25300        tree_view: *mut GtkTreeView,
25301        column: *mut GtkTreeViewColumn,
25302    ) -> c_int;
25303    pub fn gtk_tree_view_row_activated(
25304        tree_view: *mut GtkTreeView,
25305        path: *mut GtkTreePath,
25306        column: *mut GtkTreeViewColumn,
25307    );
25308    pub fn gtk_tree_view_row_expanded(
25309        tree_view: *mut GtkTreeView,
25310        path: *mut GtkTreePath,
25311    ) -> gboolean;
25312    pub fn gtk_tree_view_scroll_to_cell(
25313        tree_view: *mut GtkTreeView,
25314        path: *mut GtkTreePath,
25315        column: *mut GtkTreeViewColumn,
25316        use_align: gboolean,
25317        row_align: c_float,
25318        col_align: c_float,
25319    );
25320    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
25321    pub fn gtk_tree_view_set_activate_on_single_click(
25322        tree_view: *mut GtkTreeView,
25323        single: gboolean,
25324    );
25325    pub fn gtk_tree_view_set_column_drag_function(
25326        tree_view: *mut GtkTreeView,
25327        func: GtkTreeViewColumnDropFunc,
25328        user_data: gpointer,
25329        destroy: glib::GDestroyNotify,
25330    );
25331    pub fn gtk_tree_view_set_cursor(
25332        tree_view: *mut GtkTreeView,
25333        path: *mut GtkTreePath,
25334        focus_column: *mut GtkTreeViewColumn,
25335        start_editing: gboolean,
25336    );
25337    pub fn gtk_tree_view_set_cursor_on_cell(
25338        tree_view: *mut GtkTreeView,
25339        path: *mut GtkTreePath,
25340        focus_column: *mut GtkTreeViewColumn,
25341        focus_cell: *mut GtkCellRenderer,
25342        start_editing: gboolean,
25343    );
25344    pub fn gtk_tree_view_set_destroy_count_func(
25345        tree_view: *mut GtkTreeView,
25346        func: GtkTreeDestroyCountFunc,
25347        data: gpointer,
25348        destroy: glib::GDestroyNotify,
25349    );
25350    pub fn gtk_tree_view_set_drag_dest_row(
25351        tree_view: *mut GtkTreeView,
25352        path: *mut GtkTreePath,
25353        pos: GtkTreeViewDropPosition,
25354    );
25355    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
25356    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
25357    pub fn gtk_tree_view_set_expander_column(
25358        tree_view: *mut GtkTreeView,
25359        column: *mut GtkTreeViewColumn,
25360    );
25361    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
25362    pub fn gtk_tree_view_set_grid_lines(
25363        tree_view: *mut GtkTreeView,
25364        grid_lines: GtkTreeViewGridLines,
25365    );
25366    pub fn gtk_tree_view_set_hadjustment(
25367        tree_view: *mut GtkTreeView,
25368        adjustment: *mut GtkAdjustment,
25369    );
25370    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
25371    pub fn gtk_tree_view_set_headers_visible(
25372        tree_view: *mut GtkTreeView,
25373        headers_visible: gboolean,
25374    );
25375    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
25376    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
25377    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
25378    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
25379    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
25380    pub fn gtk_tree_view_set_row_separator_func(
25381        tree_view: *mut GtkTreeView,
25382        func: GtkTreeViewRowSeparatorFunc,
25383        data: gpointer,
25384        destroy: glib::GDestroyNotify,
25385    );
25386    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
25387    pub fn gtk_tree_view_set_rules_hint(tree_view: *mut GtkTreeView, setting: gboolean);
25388    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
25389    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEntry);
25390    pub fn gtk_tree_view_set_search_equal_func(
25391        tree_view: *mut GtkTreeView,
25392        search_equal_func: GtkTreeViewSearchEqualFunc,
25393        search_user_data: gpointer,
25394        search_destroy: glib::GDestroyNotify,
25395    );
25396    pub fn gtk_tree_view_set_search_position_func(
25397        tree_view: *mut GtkTreeView,
25398        func: GtkTreeViewSearchPositionFunc,
25399        data: gpointer,
25400        destroy: glib::GDestroyNotify,
25401    );
25402    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
25403    pub fn gtk_tree_view_set_tooltip_cell(
25404        tree_view: *mut GtkTreeView,
25405        tooltip: *mut GtkTooltip,
25406        path: *mut GtkTreePath,
25407        column: *mut GtkTreeViewColumn,
25408        cell: *mut GtkCellRenderer,
25409    );
25410    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
25411    pub fn gtk_tree_view_set_tooltip_row(
25412        tree_view: *mut GtkTreeView,
25413        tooltip: *mut GtkTooltip,
25414        path: *mut GtkTreePath,
25415    );
25416    pub fn gtk_tree_view_set_vadjustment(
25417        tree_view: *mut GtkTreeView,
25418        adjustment: *mut GtkAdjustment,
25419    );
25420    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
25421    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
25422
25423    //=========================================================================
25424    // GtkTreeViewAccessible
25425    //=========================================================================
25426    pub fn gtk_tree_view_accessible_get_type() -> GType;
25427
25428    //=========================================================================
25429    // GtkTreeViewColumn
25430    //=========================================================================
25431    pub fn gtk_tree_view_column_get_type() -> GType;
25432    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
25433    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
25434    pub fn gtk_tree_view_column_new_with_attributes(
25435        title: *const c_char,
25436        cell: *mut GtkCellRenderer,
25437        ...
25438    ) -> *mut GtkTreeViewColumn;
25439    pub fn gtk_tree_view_column_add_attribute(
25440        tree_column: *mut GtkTreeViewColumn,
25441        cell_renderer: *mut GtkCellRenderer,
25442        attribute: *const c_char,
25443        column: c_int,
25444    );
25445    pub fn gtk_tree_view_column_cell_get_position(
25446        tree_column: *mut GtkTreeViewColumn,
25447        cell_renderer: *mut GtkCellRenderer,
25448        x_offset: *mut c_int,
25449        width: *mut c_int,
25450    ) -> gboolean;
25451    pub fn gtk_tree_view_column_cell_get_size(
25452        tree_column: *mut GtkTreeViewColumn,
25453        cell_area: *const gdk::GdkRectangle,
25454        x_offset: *mut c_int,
25455        y_offset: *mut c_int,
25456        width: *mut c_int,
25457        height: *mut c_int,
25458    );
25459    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25460    pub fn gtk_tree_view_column_cell_set_cell_data(
25461        tree_column: *mut GtkTreeViewColumn,
25462        tree_model: *mut GtkTreeModel,
25463        iter: *mut GtkTreeIter,
25464        is_expander: gboolean,
25465        is_expanded: gboolean,
25466    );
25467    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
25468    pub fn gtk_tree_view_column_clear_attributes(
25469        tree_column: *mut GtkTreeViewColumn,
25470        cell_renderer: *mut GtkCellRenderer,
25471    );
25472    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
25473    pub fn gtk_tree_view_column_focus_cell(
25474        tree_column: *mut GtkTreeViewColumn,
25475        cell: *mut GtkCellRenderer,
25476    );
25477    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
25478    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
25479    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25480    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25481    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
25482    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
25483    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
25484    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25485    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25486    pub fn gtk_tree_view_column_get_sizing(
25487        tree_column: *mut GtkTreeViewColumn,
25488    ) -> GtkTreeViewColumnSizing;
25489    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
25490    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
25491        -> gboolean;
25492    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
25493    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
25494    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
25495    pub fn gtk_tree_view_column_get_tree_view(
25496        tree_column: *mut GtkTreeViewColumn,
25497    ) -> *mut GtkWidget;
25498    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
25499    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
25500    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
25501    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
25502    pub fn gtk_tree_view_column_pack_end(
25503        tree_column: *mut GtkTreeViewColumn,
25504        cell: *mut GtkCellRenderer,
25505        expand: gboolean,
25506    );
25507    pub fn gtk_tree_view_column_pack_start(
25508        tree_column: *mut GtkTreeViewColumn,
25509        cell: *mut GtkCellRenderer,
25510        expand: gboolean,
25511    );
25512    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
25513    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
25514    pub fn gtk_tree_view_column_set_attributes(
25515        tree_column: *mut GtkTreeViewColumn,
25516        cell_renderer: *mut GtkCellRenderer,
25517        ...
25518    );
25519    pub fn gtk_tree_view_column_set_cell_data_func(
25520        tree_column: *mut GtkTreeViewColumn,
25521        cell_renderer: *mut GtkCellRenderer,
25522        func: GtkTreeCellDataFunc,
25523        func_data: gpointer,
25524        destroy: glib::GDestroyNotify,
25525    );
25526    pub fn gtk_tree_view_column_set_clickable(
25527        tree_column: *mut GtkTreeViewColumn,
25528        clickable: gboolean,
25529    );
25530    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
25531    pub fn gtk_tree_view_column_set_fixed_width(
25532        tree_column: *mut GtkTreeViewColumn,
25533        fixed_width: c_int,
25534    );
25535    pub fn gtk_tree_view_column_set_max_width(
25536        tree_column: *mut GtkTreeViewColumn,
25537        max_width: c_int,
25538    );
25539    pub fn gtk_tree_view_column_set_min_width(
25540        tree_column: *mut GtkTreeViewColumn,
25541        min_width: c_int,
25542    );
25543    pub fn gtk_tree_view_column_set_reorderable(
25544        tree_column: *mut GtkTreeViewColumn,
25545        reorderable: gboolean,
25546    );
25547    pub fn gtk_tree_view_column_set_resizable(
25548        tree_column: *mut GtkTreeViewColumn,
25549        resizable: gboolean,
25550    );
25551    pub fn gtk_tree_view_column_set_sizing(
25552        tree_column: *mut GtkTreeViewColumn,
25553        type_: GtkTreeViewColumnSizing,
25554    );
25555    pub fn gtk_tree_view_column_set_sort_column_id(
25556        tree_column: *mut GtkTreeViewColumn,
25557        sort_column_id: c_int,
25558    );
25559    pub fn gtk_tree_view_column_set_sort_indicator(
25560        tree_column: *mut GtkTreeViewColumn,
25561        setting: gboolean,
25562    );
25563    pub fn gtk_tree_view_column_set_sort_order(
25564        tree_column: *mut GtkTreeViewColumn,
25565        order: GtkSortType,
25566    );
25567    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
25568    pub fn gtk_tree_view_column_set_title(
25569        tree_column: *mut GtkTreeViewColumn,
25570        title: *const c_char,
25571    );
25572    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
25573    pub fn gtk_tree_view_column_set_widget(
25574        tree_column: *mut GtkTreeViewColumn,
25575        widget: *mut GtkWidget,
25576    );
25577
25578    //=========================================================================
25579    // GtkUIManager
25580    //=========================================================================
25581    pub fn gtk_ui_manager_get_type() -> GType;
25582    pub fn gtk_ui_manager_new() -> *mut GtkUIManager;
25583    pub fn gtk_ui_manager_add_ui(
25584        manager: *mut GtkUIManager,
25585        merge_id: c_uint,
25586        path: *const c_char,
25587        name: *const c_char,
25588        action: *const c_char,
25589        type_: GtkUIManagerItemType,
25590        top: gboolean,
25591    );
25592    pub fn gtk_ui_manager_add_ui_from_file(
25593        manager: *mut GtkUIManager,
25594        filename: *const c_char,
25595        error: *mut *mut glib::GError,
25596    ) -> c_uint;
25597    pub fn gtk_ui_manager_add_ui_from_resource(
25598        manager: *mut GtkUIManager,
25599        resource_path: *const c_char,
25600        error: *mut *mut glib::GError,
25601    ) -> c_uint;
25602    pub fn gtk_ui_manager_add_ui_from_string(
25603        manager: *mut GtkUIManager,
25604        buffer: *const c_char,
25605        length: ssize_t,
25606        error: *mut *mut glib::GError,
25607    ) -> c_uint;
25608    pub fn gtk_ui_manager_ensure_update(manager: *mut GtkUIManager);
25609    pub fn gtk_ui_manager_get_accel_group(manager: *mut GtkUIManager) -> *mut GtkAccelGroup;
25610    pub fn gtk_ui_manager_get_action(
25611        manager: *mut GtkUIManager,
25612        path: *const c_char,
25613    ) -> *mut GtkAction;
25614    pub fn gtk_ui_manager_get_action_groups(manager: *mut GtkUIManager) -> *mut glib::GList;
25615    pub fn gtk_ui_manager_get_add_tearoffs(manager: *mut GtkUIManager) -> gboolean;
25616    pub fn gtk_ui_manager_get_toplevels(
25617        manager: *mut GtkUIManager,
25618        types: GtkUIManagerItemType,
25619    ) -> *mut glib::GSList;
25620    pub fn gtk_ui_manager_get_ui(manager: *mut GtkUIManager) -> *mut c_char;
25621    pub fn gtk_ui_manager_get_widget(
25622        manager: *mut GtkUIManager,
25623        path: *const c_char,
25624    ) -> *mut GtkWidget;
25625    pub fn gtk_ui_manager_insert_action_group(
25626        manager: *mut GtkUIManager,
25627        action_group: *mut GtkActionGroup,
25628        pos: c_int,
25629    );
25630    pub fn gtk_ui_manager_new_merge_id(manager: *mut GtkUIManager) -> c_uint;
25631    pub fn gtk_ui_manager_remove_action_group(
25632        manager: *mut GtkUIManager,
25633        action_group: *mut GtkActionGroup,
25634    );
25635    pub fn gtk_ui_manager_remove_ui(manager: *mut GtkUIManager, merge_id: c_uint);
25636    pub fn gtk_ui_manager_set_add_tearoffs(manager: *mut GtkUIManager, add_tearoffs: gboolean);
25637
25638    //=========================================================================
25639    // GtkVBox
25640    //=========================================================================
25641    pub fn gtk_vbox_get_type() -> GType;
25642    pub fn gtk_vbox_new(homogeneous: gboolean, spacing: c_int) -> *mut GtkWidget;
25643
25644    //=========================================================================
25645    // GtkVButtonBox
25646    //=========================================================================
25647    pub fn gtk_vbutton_box_get_type() -> GType;
25648    pub fn gtk_vbutton_box_new() -> *mut GtkWidget;
25649
25650    //=========================================================================
25651    // GtkVPaned
25652    //=========================================================================
25653    pub fn gtk_vpaned_get_type() -> GType;
25654    pub fn gtk_vpaned_new() -> *mut GtkWidget;
25655
25656    //=========================================================================
25657    // GtkVScale
25658    //=========================================================================
25659    pub fn gtk_vscale_get_type() -> GType;
25660    pub fn gtk_vscale_new(adjustment: *mut GtkAdjustment) -> *mut GtkWidget;
25661    pub fn gtk_vscale_new_with_range(
25662        min: c_double,
25663        max: c_double,
25664        step: c_double,
25665    ) -> *mut GtkWidget;
25666
25667    //=========================================================================
25668    // GtkVScrollbar
25669    //=========================================================================
25670    pub fn gtk_vscrollbar_get_type() -> GType;
25671    pub fn gtk_vscrollbar_new(adjustment: *mut GtkAdjustment) -> *mut GtkWidget;
25672
25673    //=========================================================================
25674    // GtkVSeparator
25675    //=========================================================================
25676    pub fn gtk_vseparator_get_type() -> GType;
25677    pub fn gtk_vseparator_new() -> *mut GtkWidget;
25678
25679    //=========================================================================
25680    // GtkViewport
25681    //=========================================================================
25682    pub fn gtk_viewport_get_type() -> GType;
25683    pub fn gtk_viewport_new(
25684        hadjustment: *mut GtkAdjustment,
25685        vadjustment: *mut GtkAdjustment,
25686    ) -> *mut GtkWidget;
25687    pub fn gtk_viewport_get_bin_window(viewport: *mut GtkViewport) -> *mut gdk::GdkWindow;
25688    pub fn gtk_viewport_get_hadjustment(viewport: *mut GtkViewport) -> *mut GtkAdjustment;
25689    pub fn gtk_viewport_get_shadow_type(viewport: *mut GtkViewport) -> GtkShadowType;
25690    pub fn gtk_viewport_get_vadjustment(viewport: *mut GtkViewport) -> *mut GtkAdjustment;
25691    pub fn gtk_viewport_get_view_window(viewport: *mut GtkViewport) -> *mut gdk::GdkWindow;
25692    pub fn gtk_viewport_set_hadjustment(viewport: *mut GtkViewport, adjustment: *mut GtkAdjustment);
25693    pub fn gtk_viewport_set_shadow_type(viewport: *mut GtkViewport, type_: GtkShadowType);
25694    pub fn gtk_viewport_set_vadjustment(viewport: *mut GtkViewport, adjustment: *mut GtkAdjustment);
25695
25696    //=========================================================================
25697    // GtkVolumeButton
25698    //=========================================================================
25699    pub fn gtk_volume_button_get_type() -> GType;
25700    pub fn gtk_volume_button_new() -> *mut GtkWidget;
25701
25702    //=========================================================================
25703    // GtkWidget
25704    //=========================================================================
25705    pub fn gtk_widget_get_type() -> GType;
25706    pub fn gtk_widget_new(type_: GType, first_property_name: *const c_char, ...) -> *mut GtkWidget;
25707    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
25708    pub fn gtk_widget_get_default_style() -> *mut GtkStyle;
25709    pub fn gtk_widget_pop_composite_child();
25710    pub fn gtk_widget_push_composite_child();
25711    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
25712    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
25713    pub fn gtk_widget_add_accelerator(
25714        widget: *mut GtkWidget,
25715        accel_signal: *const c_char,
25716        accel_group: *mut GtkAccelGroup,
25717        accel_key: c_uint,
25718        accel_mods: gdk::GdkModifierType,
25719        accel_flags: GtkAccelFlags,
25720    );
25721    pub fn gtk_widget_add_device_events(
25722        widget: *mut GtkWidget,
25723        device: *mut gdk::GdkDevice,
25724        events: gdk::GdkEventMask,
25725    );
25726    pub fn gtk_widget_add_events(widget: *mut GtkWidget, events: c_int);
25727    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
25728    pub fn gtk_widget_add_tick_callback(
25729        widget: *mut GtkWidget,
25730        callback: GtkTickCallback,
25731        user_data: gpointer,
25732        notify: glib::GDestroyNotify,
25733    ) -> c_uint;
25734    pub fn gtk_widget_can_activate_accel(widget: *mut GtkWidget, signal_id: c_uint) -> gboolean;
25735    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
25736    pub fn gtk_widget_child_notify(widget: *mut GtkWidget, child_property: *const c_char);
25737    pub fn gtk_widget_class_path(
25738        widget: *mut GtkWidget,
25739        path_length: *mut c_uint,
25740        path: *mut *mut c_char,
25741        path_reversed: *mut *mut c_char,
25742    );
25743    pub fn gtk_widget_compute_expand(
25744        widget: *mut GtkWidget,
25745        orientation: GtkOrientation,
25746    ) -> gboolean;
25747    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
25748    pub fn gtk_widget_create_pango_layout(
25749        widget: *mut GtkWidget,
25750        text: *const c_char,
25751    ) -> *mut pango::PangoLayout;
25752    pub fn gtk_widget_destroy(widget: *mut GtkWidget);
25753    pub fn gtk_widget_destroyed(widget: *mut GtkWidget, widget_pointer: *mut *mut GtkWidget);
25754    pub fn gtk_widget_device_is_shadowed(
25755        widget: *mut GtkWidget,
25756        device: *mut gdk::GdkDevice,
25757    ) -> gboolean;
25758    pub fn gtk_drag_begin(
25759        widget: *mut GtkWidget,
25760        targets: *mut GtkTargetList,
25761        actions: gdk::GdkDragAction,
25762        button: c_int,
25763        event: *mut gdk::GdkEvent,
25764    ) -> *mut gdk::GdkDragContext;
25765    pub fn gtk_drag_begin_with_coordinates(
25766        widget: *mut GtkWidget,
25767        targets: *mut GtkTargetList,
25768        actions: gdk::GdkDragAction,
25769        button: c_int,
25770        event: *mut gdk::GdkEvent,
25771        x: c_int,
25772        y: c_int,
25773    ) -> *mut gdk::GdkDragContext;
25774    pub fn gtk_drag_check_threshold(
25775        widget: *mut GtkWidget,
25776        start_x: c_int,
25777        start_y: c_int,
25778        current_x: c_int,
25779        current_y: c_int,
25780    ) -> gboolean;
25781    pub fn gtk_drag_dest_add_image_targets(widget: *mut GtkWidget);
25782    pub fn gtk_drag_dest_add_text_targets(widget: *mut GtkWidget);
25783    pub fn gtk_drag_dest_add_uri_targets(widget: *mut GtkWidget);
25784    pub fn gtk_drag_dest_find_target(
25785        widget: *mut GtkWidget,
25786        context: *mut gdk::GdkDragContext,
25787        target_list: *mut GtkTargetList,
25788    ) -> gdk::GdkAtom;
25789    pub fn gtk_drag_dest_get_target_list(widget: *mut GtkWidget) -> *mut GtkTargetList;
25790    pub fn gtk_drag_dest_get_track_motion(widget: *mut GtkWidget) -> gboolean;
25791    pub fn gtk_drag_dest_set(
25792        widget: *mut GtkWidget,
25793        flags: GtkDestDefaults,
25794        targets: *const GtkTargetEntry,
25795        n_targets: c_int,
25796        actions: gdk::GdkDragAction,
25797    );
25798    pub fn gtk_drag_dest_set_proxy(
25799        widget: *mut GtkWidget,
25800        proxy_window: *mut gdk::GdkWindow,
25801        protocol: gdk::GdkDragProtocol,
25802        use_coordinates: gboolean,
25803    );
25804    pub fn gtk_drag_dest_set_target_list(widget: *mut GtkWidget, target_list: *mut GtkTargetList);
25805    pub fn gtk_drag_dest_set_track_motion(widget: *mut GtkWidget, track_motion: gboolean);
25806    pub fn gtk_drag_dest_unset(widget: *mut GtkWidget);
25807    pub fn gtk_drag_get_data(
25808        widget: *mut GtkWidget,
25809        context: *mut gdk::GdkDragContext,
25810        target: gdk::GdkAtom,
25811        time_: u32,
25812    );
25813    pub fn gtk_drag_highlight(widget: *mut GtkWidget);
25814    pub fn gtk_drag_source_add_image_targets(widget: *mut GtkWidget);
25815    pub fn gtk_drag_source_add_text_targets(widget: *mut GtkWidget);
25816    pub fn gtk_drag_source_add_uri_targets(widget: *mut GtkWidget);
25817    pub fn gtk_drag_source_get_target_list(widget: *mut GtkWidget) -> *mut GtkTargetList;
25818    pub fn gtk_drag_source_set(
25819        widget: *mut GtkWidget,
25820        start_button_mask: gdk::GdkModifierType,
25821        targets: *const GtkTargetEntry,
25822        n_targets: c_int,
25823        actions: gdk::GdkDragAction,
25824    );
25825    pub fn gtk_drag_source_set_icon_gicon(widget: *mut GtkWidget, icon: *mut gio::GIcon);
25826    pub fn gtk_drag_source_set_icon_name(widget: *mut GtkWidget, icon_name: *const c_char);
25827    pub fn gtk_drag_source_set_icon_pixbuf(
25828        widget: *mut GtkWidget,
25829        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
25830    );
25831    pub fn gtk_drag_source_set_icon_stock(widget: *mut GtkWidget, stock_id: *const c_char);
25832    pub fn gtk_drag_source_set_target_list(widget: *mut GtkWidget, target_list: *mut GtkTargetList);
25833    pub fn gtk_drag_source_unset(widget: *mut GtkWidget);
25834    pub fn gtk_drag_unhighlight(widget: *mut GtkWidget);
25835    pub fn gtk_widget_draw(widget: *mut GtkWidget, cr: *mut cairo::cairo_t);
25836    pub fn gtk_widget_ensure_style(widget: *mut GtkWidget);
25837    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
25838    pub fn gtk_widget_event(widget: *mut GtkWidget, event: *mut gdk::GdkEvent) -> gboolean;
25839    pub fn gtk_widget_freeze_child_notify(widget: *mut GtkWidget);
25840    pub fn gtk_widget_get_accessible(widget: *mut GtkWidget) -> *mut atk::AtkObject;
25841    pub fn gtk_widget_get_action_group(
25842        widget: *mut GtkWidget,
25843        prefix: *const c_char,
25844    ) -> *mut gio::GActionGroup;
25845    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
25846    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
25847    pub fn gtk_widget_get_allocated_size(
25848        widget: *mut GtkWidget,
25849        allocation: *mut GtkAllocation,
25850        baseline: *mut c_int,
25851    );
25852    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
25853    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
25854    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
25855    pub fn gtk_widget_get_app_paintable(widget: *mut GtkWidget) -> gboolean;
25856    pub fn gtk_widget_get_can_default(widget: *mut GtkWidget) -> gboolean;
25857    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
25858    pub fn gtk_widget_get_child_requisition(
25859        widget: *mut GtkWidget,
25860        requisition: *mut GtkRequisition,
25861    );
25862    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
25863    pub fn gtk_widget_get_clip(widget: *mut GtkWidget, clip: *mut GtkAllocation);
25864    pub fn gtk_widget_get_clipboard(
25865        widget: *mut GtkWidget,
25866        selection: gdk::GdkAtom,
25867    ) -> *mut GtkClipboard;
25868    pub fn gtk_widget_get_composite_name(widget: *mut GtkWidget) -> *mut c_char;
25869    pub fn gtk_widget_get_device_enabled(
25870        widget: *mut GtkWidget,
25871        device: *mut gdk::GdkDevice,
25872    ) -> gboolean;
25873    pub fn gtk_widget_get_device_events(
25874        widget: *mut GtkWidget,
25875        device: *mut gdk::GdkDevice,
25876    ) -> gdk::GdkEventMask;
25877    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
25878    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
25879    pub fn gtk_widget_get_double_buffered(widget: *mut GtkWidget) -> gboolean;
25880    pub fn gtk_widget_get_events(widget: *mut GtkWidget) -> c_int;
25881    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
25882    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
25883    pub fn gtk_widget_get_font_options(
25884        widget: *mut GtkWidget,
25885    ) -> *const cairo::cairo_font_options_t;
25886    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
25887    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
25888    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
25889    pub fn gtk_widget_get_has_window(widget: *mut GtkWidget) -> gboolean;
25890    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
25891    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
25892    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
25893    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
25894    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
25895    pub fn gtk_widget_get_margin_left(widget: *mut GtkWidget) -> c_int;
25896    pub fn gtk_widget_get_margin_right(widget: *mut GtkWidget) -> c_int;
25897    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
25898    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
25899    pub fn gtk_widget_get_modifier_mask(
25900        widget: *mut GtkWidget,
25901        intent: gdk::GdkModifierIntent,
25902    ) -> gdk::GdkModifierType;
25903    pub fn gtk_widget_get_modifier_style(widget: *mut GtkWidget) -> *mut GtkRcStyle;
25904    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
25905    pub fn gtk_widget_get_no_show_all(widget: *mut GtkWidget) -> gboolean;
25906    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
25907    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
25908    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
25909    pub fn gtk_widget_get_parent_window(widget: *mut GtkWidget) -> *mut gdk::GdkWindow;
25910    pub fn gtk_widget_get_path(widget: *mut GtkWidget) -> *mut GtkWidgetPath;
25911    pub fn gtk_widget_get_pointer(widget: *mut GtkWidget, x: *mut c_int, y: *mut c_int);
25912    pub fn gtk_widget_get_preferred_height(
25913        widget: *mut GtkWidget,
25914        minimum_height: *mut c_int,
25915        natural_height: *mut c_int,
25916    );
25917    pub fn gtk_widget_get_preferred_height_and_baseline_for_width(
25918        widget: *mut GtkWidget,
25919        width: c_int,
25920        minimum_height: *mut c_int,
25921        natural_height: *mut c_int,
25922        minimum_baseline: *mut c_int,
25923        natural_baseline: *mut c_int,
25924    );
25925    pub fn gtk_widget_get_preferred_height_for_width(
25926        widget: *mut GtkWidget,
25927        width: c_int,
25928        minimum_height: *mut c_int,
25929        natural_height: *mut c_int,
25930    );
25931    pub fn gtk_widget_get_preferred_size(
25932        widget: *mut GtkWidget,
25933        minimum_size: *mut GtkRequisition,
25934        natural_size: *mut GtkRequisition,
25935    );
25936    pub fn gtk_widget_get_preferred_width(
25937        widget: *mut GtkWidget,
25938        minimum_width: *mut c_int,
25939        natural_width: *mut c_int,
25940    );
25941    pub fn gtk_widget_get_preferred_width_for_height(
25942        widget: *mut GtkWidget,
25943        height: c_int,
25944        minimum_width: *mut c_int,
25945        natural_width: *mut c_int,
25946    );
25947    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
25948    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
25949    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
25950    pub fn gtk_widget_get_requisition(widget: *mut GtkWidget, requisition: *mut GtkRequisition);
25951    pub fn gtk_widget_get_root_window(widget: *mut GtkWidget) -> *mut gdk::GdkWindow;
25952    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
25953    pub fn gtk_widget_get_screen(widget: *mut GtkWidget) -> *mut gdk::GdkScreen;
25954    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
25955    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
25956    pub fn gtk_widget_get_size_request(
25957        widget: *mut GtkWidget,
25958        width: *mut c_int,
25959        height: *mut c_int,
25960    );
25961    pub fn gtk_widget_get_state(widget: *mut GtkWidget) -> GtkStateType;
25962    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
25963    pub fn gtk_widget_get_style(widget: *mut GtkWidget) -> *mut GtkStyle;
25964    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
25965    pub fn gtk_widget_get_support_multidevice(widget: *mut GtkWidget) -> gboolean;
25966    pub fn gtk_widget_get_template_child(
25967        widget: *mut GtkWidget,
25968        widget_type: GType,
25969        name: *const c_char,
25970    ) -> *mut gobject::GObject;
25971    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *mut c_char;
25972    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *mut c_char;
25973    pub fn gtk_widget_get_tooltip_window(widget: *mut GtkWidget) -> *mut GtkWindow;
25974    pub fn gtk_widget_get_toplevel(widget: *mut GtkWidget) -> *mut GtkWidget;
25975    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
25976    pub fn gtk_widget_get_valign_with_baseline(widget: *mut GtkWidget) -> GtkAlign;
25977    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
25978    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
25979    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
25980    pub fn gtk_widget_get_visual(widget: *mut GtkWidget) -> *mut gdk::GdkVisual;
25981    pub fn gtk_widget_get_window(widget: *mut GtkWidget) -> *mut gdk::GdkWindow;
25982    pub fn gtk_grab_add(widget: *mut GtkWidget);
25983    pub fn gtk_widget_grab_default(widget: *mut GtkWidget);
25984    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget);
25985    pub fn gtk_grab_remove(widget: *mut GtkWidget);
25986    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
25987    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
25988    pub fn gtk_widget_has_grab(widget: *mut GtkWidget) -> gboolean;
25989    pub fn gtk_widget_has_rc_style(widget: *mut GtkWidget) -> gboolean;
25990    pub fn gtk_widget_has_screen(widget: *mut GtkWidget) -> gboolean;
25991    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
25992    pub fn gtk_widget_hide(widget: *mut GtkWidget);
25993    pub fn gtk_widget_hide_on_delete(widget: *mut GtkWidget) -> gboolean;
25994    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
25995    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
25996    pub fn gtk_widget_input_shape_combine_region(
25997        widget: *mut GtkWidget,
25998        region: *mut cairo::cairo_region_t,
25999    );
26000    pub fn gtk_widget_insert_action_group(
26001        widget: *mut GtkWidget,
26002        name: *const c_char,
26003        group: *mut gio::GActionGroup,
26004    );
26005    pub fn gtk_widget_intersect(
26006        widget: *mut GtkWidget,
26007        area: *const gdk::GdkRectangle,
26008        intersection: *mut gdk::GdkRectangle,
26009    ) -> gboolean;
26010    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
26011    pub fn gtk_widget_is_composited(widget: *mut GtkWidget) -> gboolean;
26012    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
26013    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
26014    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
26015    pub fn gtk_widget_is_toplevel(widget: *mut GtkWidget) -> gboolean;
26016    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
26017    pub fn gtk_widget_keynav_failed(
26018        widget: *mut GtkWidget,
26019        direction: GtkDirectionType,
26020    ) -> gboolean;
26021    pub fn gtk_widget_list_accel_closures(widget: *mut GtkWidget) -> *mut glib::GList;
26022    pub fn gtk_widget_list_action_prefixes(widget: *mut GtkWidget) -> *mut *const c_char;
26023    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
26024    pub fn gtk_widget_map(widget: *mut GtkWidget);
26025    pub fn gtk_widget_mnemonic_activate(
26026        widget: *mut GtkWidget,
26027        group_cycling: gboolean,
26028    ) -> gboolean;
26029    pub fn gtk_widget_modify_base(
26030        widget: *mut GtkWidget,
26031        state: GtkStateType,
26032        color: *const gdk::GdkColor,
26033    );
26034    pub fn gtk_widget_modify_bg(
26035        widget: *mut GtkWidget,
26036        state: GtkStateType,
26037        color: *const gdk::GdkColor,
26038    );
26039    pub fn gtk_widget_modify_cursor(
26040        widget: *mut GtkWidget,
26041        primary: *const gdk::GdkColor,
26042        secondary: *const gdk::GdkColor,
26043    );
26044    pub fn gtk_widget_modify_fg(
26045        widget: *mut GtkWidget,
26046        state: GtkStateType,
26047        color: *const gdk::GdkColor,
26048    );
26049    pub fn gtk_widget_modify_font(
26050        widget: *mut GtkWidget,
26051        font_desc: *mut pango::PangoFontDescription,
26052    );
26053    pub fn gtk_widget_modify_style(widget: *mut GtkWidget, style: *mut GtkRcStyle);
26054    pub fn gtk_widget_modify_text(
26055        widget: *mut GtkWidget,
26056        state: GtkStateType,
26057        color: *const gdk::GdkColor,
26058    );
26059    pub fn gtk_widget_override_background_color(
26060        widget: *mut GtkWidget,
26061        state: GtkStateFlags,
26062        color: *const gdk::GdkRGBA,
26063    );
26064    pub fn gtk_widget_override_color(
26065        widget: *mut GtkWidget,
26066        state: GtkStateFlags,
26067        color: *const gdk::GdkRGBA,
26068    );
26069    pub fn gtk_widget_override_cursor(
26070        widget: *mut GtkWidget,
26071        cursor: *const gdk::GdkRGBA,
26072        secondary_cursor: *const gdk::GdkRGBA,
26073    );
26074    pub fn gtk_widget_override_font(
26075        widget: *mut GtkWidget,
26076        font_desc: *const pango::PangoFontDescription,
26077    );
26078    pub fn gtk_widget_override_symbolic_color(
26079        widget: *mut GtkWidget,
26080        name: *const c_char,
26081        color: *const gdk::GdkRGBA,
26082    );
26083    pub fn gtk_widget_path(
26084        widget: *mut GtkWidget,
26085        path_length: *mut c_uint,
26086        path: *mut *mut c_char,
26087        path_reversed: *mut *mut c_char,
26088    );
26089    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
26090    pub fn gtk_widget_queue_compute_expand(widget: *mut GtkWidget);
26091    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
26092    pub fn gtk_widget_queue_draw_area(
26093        widget: *mut GtkWidget,
26094        x: c_int,
26095        y: c_int,
26096        width: c_int,
26097        height: c_int,
26098    );
26099    pub fn gtk_widget_queue_draw_region(
26100        widget: *mut GtkWidget,
26101        region: *const cairo::cairo_region_t,
26102    );
26103    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
26104    pub fn gtk_widget_queue_resize_no_redraw(widget: *mut GtkWidget);
26105    pub fn gtk_widget_realize(widget: *mut GtkWidget);
26106    pub fn gtk_widget_region_intersect(
26107        widget: *mut GtkWidget,
26108        region: *const cairo::cairo_region_t,
26109    ) -> *mut cairo::cairo_region_t;
26110    pub fn gtk_widget_register_window(widget: *mut GtkWidget, window: *mut gdk::GdkWindow);
26111    pub fn gtk_widget_remove_accelerator(
26112        widget: *mut GtkWidget,
26113        accel_group: *mut GtkAccelGroup,
26114        accel_key: c_uint,
26115        accel_mods: gdk::GdkModifierType,
26116    ) -> gboolean;
26117    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
26118    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
26119    pub fn gtk_widget_render_icon(
26120        widget: *mut GtkWidget,
26121        stock_id: *const c_char,
26122        size: GtkIconSize,
26123        detail: *const c_char,
26124    ) -> *mut gdk_pixbuf::GdkPixbuf;
26125    pub fn gtk_widget_render_icon_pixbuf(
26126        widget: *mut GtkWidget,
26127        stock_id: *const c_char,
26128        size: GtkIconSize,
26129    ) -> *mut gdk_pixbuf::GdkPixbuf;
26130    pub fn gtk_widget_reparent(widget: *mut GtkWidget, new_parent: *mut GtkWidget);
26131    pub fn gtk_widget_reset_rc_styles(widget: *mut GtkWidget);
26132    pub fn gtk_widget_reset_style(widget: *mut GtkWidget);
26133    pub fn gtk_widget_send_expose(widget: *mut GtkWidget, event: *mut gdk::GdkEvent) -> c_int;
26134    pub fn gtk_widget_send_focus_change(
26135        widget: *mut GtkWidget,
26136        event: *mut gdk::GdkEvent,
26137    ) -> gboolean;
26138    pub fn gtk_widget_set_accel_path(
26139        widget: *mut GtkWidget,
26140        accel_path: *const c_char,
26141        accel_group: *mut GtkAccelGroup,
26142    );
26143    pub fn gtk_widget_set_allocation(widget: *mut GtkWidget, allocation: *const GtkAllocation);
26144    pub fn gtk_widget_set_app_paintable(widget: *mut GtkWidget, app_paintable: gboolean);
26145    pub fn gtk_widget_set_can_default(widget: *mut GtkWidget, can_default: gboolean);
26146    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
26147    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, is_visible: gboolean);
26148    pub fn gtk_widget_set_clip(widget: *mut GtkWidget, clip: *const GtkAllocation);
26149    pub fn gtk_widget_set_composite_name(widget: *mut GtkWidget, name: *const c_char);
26150    pub fn gtk_widget_set_device_enabled(
26151        widget: *mut GtkWidget,
26152        device: *mut gdk::GdkDevice,
26153        enabled: gboolean,
26154    );
26155    pub fn gtk_widget_set_device_events(
26156        widget: *mut GtkWidget,
26157        device: *mut gdk::GdkDevice,
26158        events: gdk::GdkEventMask,
26159    );
26160    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
26161    pub fn gtk_widget_set_double_buffered(widget: *mut GtkWidget, double_buffered: gboolean);
26162    pub fn gtk_widget_set_events(widget: *mut GtkWidget, events: c_int);
26163    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
26164    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
26165    pub fn gtk_widget_set_font_options(
26166        widget: *mut GtkWidget,
26167        options: *const cairo::cairo_font_options_t,
26168    );
26169    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
26170    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
26171    pub fn gtk_widget_set_has_window(widget: *mut GtkWidget, has_window: gboolean);
26172    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
26173    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
26174    pub fn gtk_widget_set_mapped(widget: *mut GtkWidget, mapped: gboolean);
26175    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
26176    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
26177    pub fn gtk_widget_set_margin_left(widget: *mut GtkWidget, margin: c_int);
26178    pub fn gtk_widget_set_margin_right(widget: *mut GtkWidget, margin: c_int);
26179    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
26180    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
26181    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
26182    pub fn gtk_widget_set_no_show_all(widget: *mut GtkWidget, no_show_all: gboolean);
26183    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
26184    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
26185    pub fn gtk_widget_set_parent_window(widget: *mut GtkWidget, parent_window: *mut gdk::GdkWindow);
26186    pub fn gtk_widget_set_realized(widget: *mut GtkWidget, realized: gboolean);
26187    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
26188    pub fn gtk_widget_set_redraw_on_allocate(widget: *mut GtkWidget, redraw_on_allocate: gboolean);
26189    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
26190    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
26191    pub fn gtk_widget_set_state(widget: *mut GtkWidget, state: GtkStateType);
26192    pub fn gtk_widget_set_state_flags(
26193        widget: *mut GtkWidget,
26194        flags: GtkStateFlags,
26195        clear: gboolean,
26196    );
26197    pub fn gtk_widget_set_style(widget: *mut GtkWidget, style: *mut GtkStyle);
26198    pub fn gtk_widget_set_support_multidevice(
26199        widget: *mut GtkWidget,
26200        support_multidevice: gboolean,
26201    );
26202    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
26203    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
26204    pub fn gtk_widget_set_tooltip_window(widget: *mut GtkWidget, custom_window: *mut GtkWindow);
26205    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
26206    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
26207    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
26208    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
26209    pub fn gtk_widget_set_visual(widget: *mut GtkWidget, visual: *mut gdk::GdkVisual);
26210    pub fn gtk_widget_set_window(widget: *mut GtkWidget, window: *mut gdk::GdkWindow);
26211    pub fn gtk_widget_shape_combine_region(
26212        widget: *mut GtkWidget,
26213        region: *mut cairo::cairo_region_t,
26214    );
26215    pub fn gtk_widget_show(widget: *mut GtkWidget);
26216    pub fn gtk_widget_show_all(widget: *mut GtkWidget);
26217    pub fn gtk_widget_show_now(widget: *mut GtkWidget);
26218    pub fn gtk_widget_size_allocate(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
26219    pub fn gtk_widget_size_allocate_with_baseline(
26220        widget: *mut GtkWidget,
26221        allocation: *mut GtkAllocation,
26222        baseline: c_int,
26223    );
26224    pub fn gtk_widget_size_request(widget: *mut GtkWidget, requisition: *mut GtkRequisition);
26225    pub fn gtk_widget_style_attach(widget: *mut GtkWidget);
26226    pub fn gtk_widget_style_get(widget: *mut GtkWidget, first_property_name: *const c_char, ...);
26227    pub fn gtk_widget_style_get_property(
26228        widget: *mut GtkWidget,
26229        property_name: *const c_char,
26230        value: *mut gobject::GValue,
26231    );
26232    //pub fn gtk_widget_style_get_valist(widget: *mut GtkWidget, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
26233    pub fn gtk_widget_thaw_child_notify(widget: *mut GtkWidget);
26234    pub fn gtk_widget_translate_coordinates(
26235        src_widget: *mut GtkWidget,
26236        dest_widget: *mut GtkWidget,
26237        src_x: c_int,
26238        src_y: c_int,
26239        dest_x: *mut c_int,
26240        dest_y: *mut c_int,
26241    ) -> gboolean;
26242    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
26243    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
26244    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
26245    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
26246    pub fn gtk_widget_unregister_window(widget: *mut GtkWidget, window: *mut gdk::GdkWindow);
26247    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
26248
26249    //=========================================================================
26250    // GtkWidgetAccessible
26251    //=========================================================================
26252    pub fn gtk_widget_accessible_get_type() -> GType;
26253
26254    //=========================================================================
26255    // GtkWindow
26256    //=========================================================================
26257    pub fn gtk_window_get_type() -> GType;
26258    pub fn gtk_window_new(type_: GtkWindowType) -> *mut GtkWidget;
26259    pub fn gtk_window_get_default_icon_list() -> *mut glib::GList;
26260    pub fn gtk_window_get_default_icon_name() -> *const c_char;
26261    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
26262    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
26263    pub fn gtk_window_set_default_icon(icon: *mut gdk_pixbuf::GdkPixbuf);
26264    pub fn gtk_window_set_default_icon_from_file(
26265        filename: *const c_char,
26266        error: *mut *mut glib::GError,
26267    ) -> gboolean;
26268    pub fn gtk_window_set_default_icon_list(list: *mut glib::GList);
26269    pub fn gtk_window_set_default_icon_name(name: *const c_char);
26270    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
26271    pub fn gtk_window_activate_default(window: *mut GtkWindow) -> gboolean;
26272    pub fn gtk_window_activate_focus(window: *mut GtkWindow) -> gboolean;
26273    pub fn gtk_window_activate_key(
26274        window: *mut GtkWindow,
26275        event: *mut gdk::GdkEventKey,
26276    ) -> gboolean;
26277    pub fn gtk_window_add_accel_group(window: *mut GtkWindow, accel_group: *mut GtkAccelGroup);
26278    pub fn gtk_window_add_mnemonic(window: *mut GtkWindow, keyval: c_uint, target: *mut GtkWidget);
26279    pub fn gtk_window_begin_move_drag(
26280        window: *mut GtkWindow,
26281        button: c_int,
26282        root_x: c_int,
26283        root_y: c_int,
26284        timestamp: u32,
26285    );
26286    pub fn gtk_window_begin_resize_drag(
26287        window: *mut GtkWindow,
26288        edge: gdk::GdkWindowEdge,
26289        button: c_int,
26290        root_x: c_int,
26291        root_y: c_int,
26292        timestamp: u32,
26293    );
26294    pub fn gtk_window_close(window: *mut GtkWindow);
26295    pub fn gtk_window_deiconify(window: *mut GtkWindow);
26296    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
26297    pub fn gtk_window_fullscreen_on_monitor(
26298        window: *mut GtkWindow,
26299        screen: *mut gdk::GdkScreen,
26300        monitor: c_int,
26301    );
26302    pub fn gtk_window_get_accept_focus(window: *mut GtkWindow) -> gboolean;
26303    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
26304    pub fn gtk_window_get_attached_to(window: *mut GtkWindow) -> *mut GtkWidget;
26305    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
26306    pub fn gtk_window_get_default_size(
26307        window: *mut GtkWindow,
26308        width: *mut c_int,
26309        height: *mut c_int,
26310    );
26311    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
26312    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
26313    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
26314    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
26315    pub fn gtk_window_get_focus_on_map(window: *mut GtkWindow) -> gboolean;
26316    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
26317    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> gdk::GdkGravity;
26318    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
26319    pub fn gtk_window_get_has_resize_grip(window: *mut GtkWindow) -> gboolean;
26320    pub fn gtk_window_get_hide_titlebar_when_maximized(window: *mut GtkWindow) -> gboolean;
26321    pub fn gtk_window_get_icon(window: *mut GtkWindow) -> *mut gdk_pixbuf::GdkPixbuf;
26322    pub fn gtk_window_get_icon_list(window: *mut GtkWindow) -> *mut glib::GList;
26323    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
26324    pub fn gtk_window_get_mnemonic_modifier(window: *mut GtkWindow) -> gdk::GdkModifierType;
26325    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
26326    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
26327    pub fn gtk_window_get_opacity(window: *mut GtkWindow) -> c_double;
26328    pub fn gtk_window_get_position(window: *mut GtkWindow, root_x: *mut c_int, root_y: *mut c_int);
26329    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
26330    pub fn gtk_window_get_resize_grip_area(
26331        window: *mut GtkWindow,
26332        rect: *mut gdk::GdkRectangle,
26333    ) -> gboolean;
26334    pub fn gtk_window_get_role(window: *mut GtkWindow) -> *const c_char;
26335    pub fn gtk_window_get_screen(window: *mut GtkWindow) -> *mut gdk::GdkScreen;
26336    pub fn gtk_window_get_size(window: *mut GtkWindow, width: *mut c_int, height: *mut c_int);
26337    pub fn gtk_window_get_skip_pager_hint(window: *mut GtkWindow) -> gboolean;
26338    pub fn gtk_window_get_skip_taskbar_hint(window: *mut GtkWindow) -> gboolean;
26339    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
26340    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
26341    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
26342    pub fn gtk_window_get_type_hint(window: *mut GtkWindow) -> gdk::GdkWindowTypeHint;
26343    pub fn gtk_window_get_urgency_hint(window: *mut GtkWindow) -> gboolean;
26344    pub fn gtk_window_get_window_type(window: *mut GtkWindow) -> GtkWindowType;
26345    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
26346    pub fn gtk_window_has_toplevel_focus(window: *mut GtkWindow) -> gboolean;
26347    pub fn gtk_window_iconify(window: *mut GtkWindow);
26348    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
26349    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
26350    pub fn gtk_window_maximize(window: *mut GtkWindow);
26351    pub fn gtk_window_mnemonic_activate(
26352        window: *mut GtkWindow,
26353        keyval: c_uint,
26354        modifier: gdk::GdkModifierType,
26355    ) -> gboolean;
26356    pub fn gtk_window_move(window: *mut GtkWindow, x: c_int, y: c_int);
26357    pub fn gtk_window_parse_geometry(window: *mut GtkWindow, geometry: *const c_char) -> gboolean;
26358    pub fn gtk_window_present(window: *mut GtkWindow);
26359    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
26360    pub fn gtk_window_propagate_key_event(
26361        window: *mut GtkWindow,
26362        event: *mut gdk::GdkEventKey,
26363    ) -> gboolean;
26364    pub fn gtk_window_remove_accel_group(window: *mut GtkWindow, accel_group: *mut GtkAccelGroup);
26365    pub fn gtk_window_remove_mnemonic(
26366        window: *mut GtkWindow,
26367        keyval: c_uint,
26368        target: *mut GtkWidget,
26369    );
26370    pub fn gtk_window_reshow_with_initial_size(window: *mut GtkWindow);
26371    pub fn gtk_window_resize(window: *mut GtkWindow, width: c_int, height: c_int);
26372    pub fn gtk_window_resize_grip_is_visible(window: *mut GtkWindow) -> gboolean;
26373    pub fn gtk_window_resize_to_geometry(window: *mut GtkWindow, width: c_int, height: c_int);
26374    pub fn gtk_window_set_accept_focus(window: *mut GtkWindow, setting: gboolean);
26375    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
26376    pub fn gtk_window_set_attached_to(window: *mut GtkWindow, attach_widget: *mut GtkWidget);
26377    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
26378    pub fn gtk_window_set_default(window: *mut GtkWindow, default_widget: *mut GtkWidget);
26379    pub fn gtk_window_set_default_geometry(window: *mut GtkWindow, width: c_int, height: c_int);
26380    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
26381    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
26382    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
26383    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
26384    pub fn gtk_window_set_focus_on_map(window: *mut GtkWindow, setting: gboolean);
26385    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
26386    pub fn gtk_window_set_geometry_hints(
26387        window: *mut GtkWindow,
26388        geometry_widget: *mut GtkWidget,
26389        geometry: *mut gdk::GdkGeometry,
26390        geom_mask: gdk::GdkWindowHints,
26391    );
26392    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: gdk::GdkGravity);
26393    pub fn gtk_window_set_has_resize_grip(window: *mut GtkWindow, value: gboolean);
26394    pub fn gtk_window_set_has_user_ref_count(window: *mut GtkWindow, setting: gboolean);
26395    pub fn gtk_window_set_hide_titlebar_when_maximized(window: *mut GtkWindow, setting: gboolean);
26396    pub fn gtk_window_set_icon(window: *mut GtkWindow, icon: *mut gdk_pixbuf::GdkPixbuf);
26397    pub fn gtk_window_set_icon_from_file(
26398        window: *mut GtkWindow,
26399        filename: *const c_char,
26400        error: *mut *mut glib::GError,
26401    ) -> gboolean;
26402    pub fn gtk_window_set_icon_list(window: *mut GtkWindow, list: *mut glib::GList);
26403    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
26404    pub fn gtk_window_set_keep_above(window: *mut GtkWindow, setting: gboolean);
26405    pub fn gtk_window_set_keep_below(window: *mut GtkWindow, setting: gboolean);
26406    pub fn gtk_window_set_mnemonic_modifier(window: *mut GtkWindow, modifier: gdk::GdkModifierType);
26407    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
26408    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
26409    pub fn gtk_window_set_opacity(window: *mut GtkWindow, opacity: c_double);
26410    pub fn gtk_window_set_position(window: *mut GtkWindow, position: GtkWindowPosition);
26411    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
26412    pub fn gtk_window_set_role(window: *mut GtkWindow, role: *const c_char);
26413    pub fn gtk_window_set_screen(window: *mut GtkWindow, screen: *mut gdk::GdkScreen);
26414    pub fn gtk_window_set_skip_pager_hint(window: *mut GtkWindow, setting: gboolean);
26415    pub fn gtk_window_set_skip_taskbar_hint(window: *mut GtkWindow, setting: gboolean);
26416    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
26417    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
26418    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
26419    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
26420    pub fn gtk_window_set_type_hint(window: *mut GtkWindow, hint: gdk::GdkWindowTypeHint);
26421    pub fn gtk_window_set_urgency_hint(window: *mut GtkWindow, setting: gboolean);
26422    pub fn gtk_window_set_wmclass(
26423        window: *mut GtkWindow,
26424        wmclass_name: *const c_char,
26425        wmclass_class: *const c_char,
26426    );
26427    pub fn gtk_window_stick(window: *mut GtkWindow);
26428    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
26429    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
26430    pub fn gtk_window_unstick(window: *mut GtkWindow);
26431
26432    //=========================================================================
26433    // GtkWindowAccessible
26434    //=========================================================================
26435    pub fn gtk_window_accessible_get_type() -> GType;
26436
26437    //=========================================================================
26438    // GtkWindowGroup
26439    //=========================================================================
26440    pub fn gtk_window_group_get_type() -> GType;
26441    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
26442    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
26443    pub fn gtk_window_group_get_current_device_grab(
26444        window_group: *mut GtkWindowGroup,
26445        device: *mut gdk::GdkDevice,
26446    ) -> *mut GtkWidget;
26447    pub fn gtk_window_group_get_current_grab(window_group: *mut GtkWindowGroup) -> *mut GtkWidget;
26448    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
26449    pub fn gtk_window_group_remove_window(
26450        window_group: *mut GtkWindowGroup,
26451        window: *mut GtkWindow,
26452    );
26453
26454    //=========================================================================
26455    // GtkActionable
26456    //=========================================================================
26457    pub fn gtk_actionable_get_type() -> GType;
26458    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
26459    pub fn gtk_actionable_get_action_target_value(
26460        actionable: *mut GtkActionable,
26461    ) -> *mut glib::GVariant;
26462    pub fn gtk_actionable_set_action_name(
26463        actionable: *mut GtkActionable,
26464        action_name: *const c_char,
26465    );
26466    pub fn gtk_actionable_set_action_target(
26467        actionable: *mut GtkActionable,
26468        format_string: *const c_char,
26469        ...
26470    );
26471    pub fn gtk_actionable_set_action_target_value(
26472        actionable: *mut GtkActionable,
26473        target_value: *mut glib::GVariant,
26474    );
26475    pub fn gtk_actionable_set_detailed_action_name(
26476        actionable: *mut GtkActionable,
26477        detailed_action_name: *const c_char,
26478    );
26479
26480    //=========================================================================
26481    // GtkActivatable
26482    //=========================================================================
26483    pub fn gtk_activatable_get_type() -> GType;
26484    pub fn gtk_activatable_do_set_related_action(
26485        activatable: *mut GtkActivatable,
26486        action: *mut GtkAction,
26487    );
26488    pub fn gtk_activatable_get_related_action(activatable: *mut GtkActivatable) -> *mut GtkAction;
26489    pub fn gtk_activatable_get_use_action_appearance(activatable: *mut GtkActivatable) -> gboolean;
26490    pub fn gtk_activatable_set_related_action(
26491        activatable: *mut GtkActivatable,
26492        action: *mut GtkAction,
26493    );
26494    pub fn gtk_activatable_set_use_action_appearance(
26495        activatable: *mut GtkActivatable,
26496        use_appearance: gboolean,
26497    );
26498    pub fn gtk_activatable_sync_action_properties(
26499        activatable: *mut GtkActivatable,
26500        action: *mut GtkAction,
26501    );
26502
26503    //=========================================================================
26504    // GtkAppChooser
26505    //=========================================================================
26506    pub fn gtk_app_chooser_get_type() -> GType;
26507    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
26508    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
26509    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
26510
26511    //=========================================================================
26512    // GtkBuildable
26513    //=========================================================================
26514    pub fn gtk_buildable_get_type() -> GType;
26515    pub fn gtk_buildable_add_child(
26516        buildable: *mut GtkBuildable,
26517        builder: *mut GtkBuilder,
26518        child: *mut gobject::GObject,
26519        type_: *const c_char,
26520    );
26521    pub fn gtk_buildable_construct_child(
26522        buildable: *mut GtkBuildable,
26523        builder: *mut GtkBuilder,
26524        name: *const c_char,
26525    ) -> *mut gobject::GObject;
26526    pub fn gtk_buildable_custom_finished(
26527        buildable: *mut GtkBuildable,
26528        builder: *mut GtkBuilder,
26529        child: *mut gobject::GObject,
26530        tagname: *const c_char,
26531        data: gpointer,
26532    );
26533    pub fn gtk_buildable_custom_tag_end(
26534        buildable: *mut GtkBuildable,
26535        builder: *mut GtkBuilder,
26536        child: *mut gobject::GObject,
26537        tagname: *const c_char,
26538        data: *mut gpointer,
26539    );
26540    pub fn gtk_buildable_custom_tag_start(
26541        buildable: *mut GtkBuildable,
26542        builder: *mut GtkBuilder,
26543        child: *mut gobject::GObject,
26544        tagname: *const c_char,
26545        parser: *mut glib::GMarkupParser,
26546        data: *mut gpointer,
26547    ) -> gboolean;
26548    pub fn gtk_buildable_get_internal_child(
26549        buildable: *mut GtkBuildable,
26550        builder: *mut GtkBuilder,
26551        childname: *const c_char,
26552    ) -> *mut gobject::GObject;
26553    pub fn gtk_buildable_get_name(buildable: *mut GtkBuildable) -> *const c_char;
26554    pub fn gtk_buildable_parser_finished(buildable: *mut GtkBuildable, builder: *mut GtkBuilder);
26555    pub fn gtk_buildable_set_buildable_property(
26556        buildable: *mut GtkBuildable,
26557        builder: *mut GtkBuilder,
26558        name: *const c_char,
26559        value: *const gobject::GValue,
26560    );
26561    pub fn gtk_buildable_set_name(buildable: *mut GtkBuildable, name: *const c_char);
26562
26563    //=========================================================================
26564    // GtkCellAccessibleParent
26565    //=========================================================================
26566    pub fn gtk_cell_accessible_parent_get_type() -> GType;
26567    pub fn gtk_cell_accessible_parent_activate(
26568        parent: *mut GtkCellAccessibleParent,
26569        cell: *mut GtkCellAccessible,
26570    );
26571    pub fn gtk_cell_accessible_parent_edit(
26572        parent: *mut GtkCellAccessibleParent,
26573        cell: *mut GtkCellAccessible,
26574    );
26575    pub fn gtk_cell_accessible_parent_expand_collapse(
26576        parent: *mut GtkCellAccessibleParent,
26577        cell: *mut GtkCellAccessible,
26578    );
26579    pub fn gtk_cell_accessible_parent_get_cell_area(
26580        parent: *mut GtkCellAccessibleParent,
26581        cell: *mut GtkCellAccessible,
26582        cell_rect: *mut gdk::GdkRectangle,
26583    );
26584    pub fn gtk_cell_accessible_parent_get_cell_extents(
26585        parent: *mut GtkCellAccessibleParent,
26586        cell: *mut GtkCellAccessible,
26587        x: *mut c_int,
26588        y: *mut c_int,
26589        width: *mut c_int,
26590        height: *mut c_int,
26591        coord_type: atk::AtkCoordType,
26592    );
26593    pub fn gtk_cell_accessible_parent_get_cell_position(
26594        parent: *mut GtkCellAccessibleParent,
26595        cell: *mut GtkCellAccessible,
26596        row: *mut c_int,
26597        column: *mut c_int,
26598    );
26599    pub fn gtk_cell_accessible_parent_get_child_index(
26600        parent: *mut GtkCellAccessibleParent,
26601        cell: *mut GtkCellAccessible,
26602    ) -> c_int;
26603    pub fn gtk_cell_accessible_parent_get_column_header_cells(
26604        parent: *mut GtkCellAccessibleParent,
26605        cell: *mut GtkCellAccessible,
26606    ) -> *mut glib::GPtrArray;
26607    pub fn gtk_cell_accessible_parent_get_renderer_state(
26608        parent: *mut GtkCellAccessibleParent,
26609        cell: *mut GtkCellAccessible,
26610    ) -> GtkCellRendererState;
26611    pub fn gtk_cell_accessible_parent_get_row_header_cells(
26612        parent: *mut GtkCellAccessibleParent,
26613        cell: *mut GtkCellAccessible,
26614    ) -> *mut glib::GPtrArray;
26615    pub fn gtk_cell_accessible_parent_grab_focus(
26616        parent: *mut GtkCellAccessibleParent,
26617        cell: *mut GtkCellAccessible,
26618    ) -> gboolean;
26619    pub fn gtk_cell_accessible_parent_update_relationset(
26620        parent: *mut GtkCellAccessibleParent,
26621        cell: *mut GtkCellAccessible,
26622        relationset: *mut atk::AtkRelationSet,
26623    );
26624
26625    //=========================================================================
26626    // GtkCellEditable
26627    //=========================================================================
26628    pub fn gtk_cell_editable_get_type() -> GType;
26629    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
26630    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
26631    pub fn gtk_cell_editable_start_editing(
26632        cell_editable: *mut GtkCellEditable,
26633        event: *mut gdk::GdkEvent,
26634    );
26635
26636    //=========================================================================
26637    // GtkCellLayout
26638    //=========================================================================
26639    pub fn gtk_cell_layout_get_type() -> GType;
26640    pub fn gtk_cell_layout_add_attribute(
26641        cell_layout: *mut GtkCellLayout,
26642        cell: *mut GtkCellRenderer,
26643        attribute: *const c_char,
26644        column: c_int,
26645    );
26646    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
26647    pub fn gtk_cell_layout_clear_attributes(
26648        cell_layout: *mut GtkCellLayout,
26649        cell: *mut GtkCellRenderer,
26650    );
26651    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
26652    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
26653    pub fn gtk_cell_layout_pack_end(
26654        cell_layout: *mut GtkCellLayout,
26655        cell: *mut GtkCellRenderer,
26656        expand: gboolean,
26657    );
26658    pub fn gtk_cell_layout_pack_start(
26659        cell_layout: *mut GtkCellLayout,
26660        cell: *mut GtkCellRenderer,
26661        expand: gboolean,
26662    );
26663    pub fn gtk_cell_layout_reorder(
26664        cell_layout: *mut GtkCellLayout,
26665        cell: *mut GtkCellRenderer,
26666        position: c_int,
26667    );
26668    pub fn gtk_cell_layout_set_attributes(
26669        cell_layout: *mut GtkCellLayout,
26670        cell: *mut GtkCellRenderer,
26671        ...
26672    );
26673    pub fn gtk_cell_layout_set_cell_data_func(
26674        cell_layout: *mut GtkCellLayout,
26675        cell: *mut GtkCellRenderer,
26676        func: GtkCellLayoutDataFunc,
26677        func_data: gpointer,
26678        destroy: glib::GDestroyNotify,
26679    );
26680
26681    //=========================================================================
26682    // GtkColorChooser
26683    //=========================================================================
26684    pub fn gtk_color_chooser_get_type() -> GType;
26685    pub fn gtk_color_chooser_add_palette(
26686        chooser: *mut GtkColorChooser,
26687        orientation: GtkOrientation,
26688        colors_per_line: c_int,
26689        n_colors: c_int,
26690        colors: *mut gdk::GdkRGBA,
26691    );
26692    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
26693    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
26694    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
26695    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
26696
26697    //=========================================================================
26698    // GtkEditable
26699    //=========================================================================
26700    pub fn gtk_editable_get_type() -> GType;
26701    pub fn gtk_editable_copy_clipboard(editable: *mut GtkEditable);
26702    pub fn gtk_editable_cut_clipboard(editable: *mut GtkEditable);
26703    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
26704    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
26705    pub fn gtk_editable_get_chars(
26706        editable: *mut GtkEditable,
26707        start_pos: c_int,
26708        end_pos: c_int,
26709    ) -> *mut c_char;
26710    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
26711    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
26712    pub fn gtk_editable_get_selection_bounds(
26713        editable: *mut GtkEditable,
26714        start_pos: *mut c_int,
26715        end_pos: *mut c_int,
26716    ) -> gboolean;
26717    pub fn gtk_editable_insert_text(
26718        editable: *mut GtkEditable,
26719        new_text: *const c_char,
26720        new_text_length: c_int,
26721        position: *mut c_int,
26722    );
26723    pub fn gtk_editable_paste_clipboard(editable: *mut GtkEditable);
26724    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
26725    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
26726    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
26727
26728    //=========================================================================
26729    // GtkFileChooser
26730    //=========================================================================
26731    pub fn gtk_file_chooser_get_type() -> GType;
26732    pub fn gtk_file_chooser_add_choice(
26733        chooser: *mut GtkFileChooser,
26734        id: *const c_char,
26735        label: *const c_char,
26736        options: *mut *const c_char,
26737        option_labels: *mut *const c_char,
26738    );
26739    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
26740    pub fn gtk_file_chooser_add_shortcut_folder(
26741        chooser: *mut GtkFileChooser,
26742        folder: *const c_char,
26743        error: *mut *mut glib::GError,
26744    ) -> gboolean;
26745    pub fn gtk_file_chooser_add_shortcut_folder_uri(
26746        chooser: *mut GtkFileChooser,
26747        uri: *const c_char,
26748        error: *mut *mut glib::GError,
26749    ) -> gboolean;
26750    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
26751    pub fn gtk_file_chooser_get_choice(
26752        chooser: *mut GtkFileChooser,
26753        id: *const c_char,
26754    ) -> *const c_char;
26755    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
26756    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut c_char;
26757    pub fn gtk_file_chooser_get_current_folder_file(
26758        chooser: *mut GtkFileChooser,
26759    ) -> *mut gio::GFile;
26760    pub fn gtk_file_chooser_get_current_folder_uri(chooser: *mut GtkFileChooser) -> *mut c_char;
26761    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
26762    pub fn gtk_file_chooser_get_do_overwrite_confirmation(chooser: *mut GtkFileChooser)
26763        -> gboolean;
26764    pub fn gtk_file_chooser_get_extra_widget(chooser: *mut GtkFileChooser) -> *mut GtkWidget;
26765    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
26766    pub fn gtk_file_chooser_get_filename(chooser: *mut GtkFileChooser) -> *mut c_char;
26767    pub fn gtk_file_chooser_get_filenames(chooser: *mut GtkFileChooser) -> *mut glib::GSList;
26768    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut glib::GSList;
26769    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
26770    pub fn gtk_file_chooser_get_local_only(chooser: *mut GtkFileChooser) -> gboolean;
26771    pub fn gtk_file_chooser_get_preview_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
26772    pub fn gtk_file_chooser_get_preview_filename(chooser: *mut GtkFileChooser) -> *mut c_char;
26773    pub fn gtk_file_chooser_get_preview_uri(chooser: *mut GtkFileChooser) -> *mut c_char;
26774    pub fn gtk_file_chooser_get_preview_widget(chooser: *mut GtkFileChooser) -> *mut GtkWidget;
26775    pub fn gtk_file_chooser_get_preview_widget_active(chooser: *mut GtkFileChooser) -> gboolean;
26776    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
26777    pub fn gtk_file_chooser_get_show_hidden(chooser: *mut GtkFileChooser) -> gboolean;
26778    pub fn gtk_file_chooser_get_uri(chooser: *mut GtkFileChooser) -> *mut c_char;
26779    pub fn gtk_file_chooser_get_uris(chooser: *mut GtkFileChooser) -> *mut glib::GSList;
26780    pub fn gtk_file_chooser_get_use_preview_label(chooser: *mut GtkFileChooser) -> gboolean;
26781    pub fn gtk_file_chooser_list_filters(chooser: *mut GtkFileChooser) -> *mut glib::GSList;
26782    pub fn gtk_file_chooser_list_shortcut_folder_uris(
26783        chooser: *mut GtkFileChooser,
26784    ) -> *mut glib::GSList;
26785    pub fn gtk_file_chooser_list_shortcut_folders(
26786        chooser: *mut GtkFileChooser,
26787    ) -> *mut glib::GSList;
26788    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
26789    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
26790    pub fn gtk_file_chooser_remove_shortcut_folder(
26791        chooser: *mut GtkFileChooser,
26792        folder: *const c_char,
26793        error: *mut *mut glib::GError,
26794    ) -> gboolean;
26795    pub fn gtk_file_chooser_remove_shortcut_folder_uri(
26796        chooser: *mut GtkFileChooser,
26797        uri: *const c_char,
26798        error: *mut *mut glib::GError,
26799    ) -> gboolean;
26800    pub fn gtk_file_chooser_select_all(chooser: *mut GtkFileChooser);
26801    pub fn gtk_file_chooser_select_file(
26802        chooser: *mut GtkFileChooser,
26803        file: *mut gio::GFile,
26804        error: *mut *mut glib::GError,
26805    ) -> gboolean;
26806    pub fn gtk_file_chooser_select_filename(
26807        chooser: *mut GtkFileChooser,
26808        filename: *const c_char,
26809    ) -> gboolean;
26810    pub fn gtk_file_chooser_select_uri(
26811        chooser: *mut GtkFileChooser,
26812        uri: *const c_char,
26813    ) -> gboolean;
26814    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
26815    pub fn gtk_file_chooser_set_choice(
26816        chooser: *mut GtkFileChooser,
26817        id: *const c_char,
26818        option: *const c_char,
26819    );
26820    pub fn gtk_file_chooser_set_create_folders(
26821        chooser: *mut GtkFileChooser,
26822        create_folders: gboolean,
26823    );
26824    pub fn gtk_file_chooser_set_current_folder(
26825        chooser: *mut GtkFileChooser,
26826        filename: *const c_char,
26827    ) -> gboolean;
26828    pub fn gtk_file_chooser_set_current_folder_file(
26829        chooser: *mut GtkFileChooser,
26830        file: *mut gio::GFile,
26831        error: *mut *mut glib::GError,
26832    ) -> gboolean;
26833    pub fn gtk_file_chooser_set_current_folder_uri(
26834        chooser: *mut GtkFileChooser,
26835        uri: *const c_char,
26836    ) -> gboolean;
26837    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
26838    pub fn gtk_file_chooser_set_do_overwrite_confirmation(
26839        chooser: *mut GtkFileChooser,
26840        do_overwrite_confirmation: gboolean,
26841    );
26842    pub fn gtk_file_chooser_set_extra_widget(
26843        chooser: *mut GtkFileChooser,
26844        extra_widget: *mut GtkWidget,
26845    );
26846    pub fn gtk_file_chooser_set_file(
26847        chooser: *mut GtkFileChooser,
26848        file: *mut gio::GFile,
26849        error: *mut *mut glib::GError,
26850    ) -> gboolean;
26851    pub fn gtk_file_chooser_set_filename(
26852        chooser: *mut GtkFileChooser,
26853        filename: *const c_char,
26854    ) -> gboolean;
26855    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
26856    pub fn gtk_file_chooser_set_local_only(chooser: *mut GtkFileChooser, local_only: gboolean);
26857    pub fn gtk_file_chooser_set_preview_widget(
26858        chooser: *mut GtkFileChooser,
26859        preview_widget: *mut GtkWidget,
26860    );
26861    pub fn gtk_file_chooser_set_preview_widget_active(
26862        chooser: *mut GtkFileChooser,
26863        active: gboolean,
26864    );
26865    pub fn gtk_file_chooser_set_select_multiple(
26866        chooser: *mut GtkFileChooser,
26867        select_multiple: gboolean,
26868    );
26869    pub fn gtk_file_chooser_set_show_hidden(chooser: *mut GtkFileChooser, show_hidden: gboolean);
26870    pub fn gtk_file_chooser_set_uri(chooser: *mut GtkFileChooser, uri: *const c_char) -> gboolean;
26871    pub fn gtk_file_chooser_set_use_preview_label(
26872        chooser: *mut GtkFileChooser,
26873        use_label: gboolean,
26874    );
26875    pub fn gtk_file_chooser_unselect_all(chooser: *mut GtkFileChooser);
26876    pub fn gtk_file_chooser_unselect_file(chooser: *mut GtkFileChooser, file: *mut gio::GFile);
26877    pub fn gtk_file_chooser_unselect_filename(
26878        chooser: *mut GtkFileChooser,
26879        filename: *const c_char,
26880    );
26881    pub fn gtk_file_chooser_unselect_uri(chooser: *mut GtkFileChooser, uri: *const c_char);
26882
26883    //=========================================================================
26884    // GtkFontChooser
26885    //=========================================================================
26886    pub fn gtk_font_chooser_get_type() -> GType;
26887    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
26888    pub fn gtk_font_chooser_get_font_desc(
26889        fontchooser: *mut GtkFontChooser,
26890    ) -> *mut pango::PangoFontDescription;
26891    pub fn gtk_font_chooser_get_font_face(
26892        fontchooser: *mut GtkFontChooser,
26893    ) -> *mut pango::PangoFontFace;
26894    pub fn gtk_font_chooser_get_font_family(
26895        fontchooser: *mut GtkFontChooser,
26896    ) -> *mut pango::PangoFontFamily;
26897    #[cfg(feature = "v3_24")]
26898    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
26899    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
26900    pub fn gtk_font_chooser_get_font_map(
26901        fontchooser: *mut GtkFontChooser,
26902    ) -> *mut pango::PangoFontMap;
26903    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
26904    #[cfg(feature = "v3_24")]
26905    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
26906    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
26907    #[cfg(feature = "v3_24")]
26908    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
26909    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
26910    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
26911    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
26912    pub fn gtk_font_chooser_set_filter_func(
26913        fontchooser: *mut GtkFontChooser,
26914        filter: GtkFontFilterFunc,
26915        user_data: gpointer,
26916        destroy: glib::GDestroyNotify,
26917    );
26918    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
26919    pub fn gtk_font_chooser_set_font_desc(
26920        fontchooser: *mut GtkFontChooser,
26921        font_desc: *const pango::PangoFontDescription,
26922    );
26923    pub fn gtk_font_chooser_set_font_map(
26924        fontchooser: *mut GtkFontChooser,
26925        fontmap: *mut pango::PangoFontMap,
26926    );
26927    #[cfg(feature = "v3_24")]
26928    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
26929    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
26930    #[cfg(feature = "v3_24")]
26931    #[cfg_attr(docsrs, doc(cfg(feature = "v3_24")))]
26932    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
26933    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
26934    pub fn gtk_font_chooser_set_show_preview_entry(
26935        fontchooser: *mut GtkFontChooser,
26936        show_preview_entry: gboolean,
26937    );
26938
26939    //=========================================================================
26940    // GtkOrientable
26941    //=========================================================================
26942    pub fn gtk_orientable_get_type() -> GType;
26943    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
26944    pub fn gtk_orientable_set_orientation(
26945        orientable: *mut GtkOrientable,
26946        orientation: GtkOrientation,
26947    );
26948
26949    //=========================================================================
26950    // GtkPrintOperationPreview
26951    //=========================================================================
26952    pub fn gtk_print_operation_preview_get_type() -> GType;
26953    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
26954    pub fn gtk_print_operation_preview_is_selected(
26955        preview: *mut GtkPrintOperationPreview,
26956        page_nr: c_int,
26957    ) -> gboolean;
26958    pub fn gtk_print_operation_preview_render_page(
26959        preview: *mut GtkPrintOperationPreview,
26960        page_nr: c_int,
26961    );
26962
26963    //=========================================================================
26964    // GtkRecentChooser
26965    //=========================================================================
26966    pub fn gtk_recent_chooser_get_type() -> GType;
26967    pub fn gtk_recent_chooser_add_filter(
26968        chooser: *mut GtkRecentChooser,
26969        filter: *mut GtkRecentFilter,
26970    );
26971    pub fn gtk_recent_chooser_get_current_item(
26972        chooser: *mut GtkRecentChooser,
26973    ) -> *mut GtkRecentInfo;
26974    pub fn gtk_recent_chooser_get_current_uri(chooser: *mut GtkRecentChooser) -> *mut c_char;
26975    pub fn gtk_recent_chooser_get_filter(chooser: *mut GtkRecentChooser) -> *mut GtkRecentFilter;
26976    pub fn gtk_recent_chooser_get_items(chooser: *mut GtkRecentChooser) -> *mut glib::GList;
26977    pub fn gtk_recent_chooser_get_limit(chooser: *mut GtkRecentChooser) -> c_int;
26978    pub fn gtk_recent_chooser_get_local_only(chooser: *mut GtkRecentChooser) -> gboolean;
26979    pub fn gtk_recent_chooser_get_select_multiple(chooser: *mut GtkRecentChooser) -> gboolean;
26980    pub fn gtk_recent_chooser_get_show_icons(chooser: *mut GtkRecentChooser) -> gboolean;
26981    pub fn gtk_recent_chooser_get_show_not_found(chooser: *mut GtkRecentChooser) -> gboolean;
26982    pub fn gtk_recent_chooser_get_show_private(chooser: *mut GtkRecentChooser) -> gboolean;
26983    pub fn gtk_recent_chooser_get_show_tips(chooser: *mut GtkRecentChooser) -> gboolean;
26984    pub fn gtk_recent_chooser_get_sort_type(chooser: *mut GtkRecentChooser) -> GtkRecentSortType;
26985    pub fn gtk_recent_chooser_get_uris(
26986        chooser: *mut GtkRecentChooser,
26987        length: *mut size_t,
26988    ) -> *mut *mut c_char;
26989    pub fn gtk_recent_chooser_list_filters(chooser: *mut GtkRecentChooser) -> *mut glib::GSList;
26990    pub fn gtk_recent_chooser_remove_filter(
26991        chooser: *mut GtkRecentChooser,
26992        filter: *mut GtkRecentFilter,
26993    );
26994    pub fn gtk_recent_chooser_select_all(chooser: *mut GtkRecentChooser);
26995    pub fn gtk_recent_chooser_select_uri(
26996        chooser: *mut GtkRecentChooser,
26997        uri: *const c_char,
26998        error: *mut *mut glib::GError,
26999    ) -> gboolean;
27000    pub fn gtk_recent_chooser_set_current_uri(
27001        chooser: *mut GtkRecentChooser,
27002        uri: *const c_char,
27003        error: *mut *mut glib::GError,
27004    ) -> gboolean;
27005    pub fn gtk_recent_chooser_set_filter(
27006        chooser: *mut GtkRecentChooser,
27007        filter: *mut GtkRecentFilter,
27008    );
27009    pub fn gtk_recent_chooser_set_limit(chooser: *mut GtkRecentChooser, limit: c_int);
27010    pub fn gtk_recent_chooser_set_local_only(chooser: *mut GtkRecentChooser, local_only: gboolean);
27011    pub fn gtk_recent_chooser_set_select_multiple(
27012        chooser: *mut GtkRecentChooser,
27013        select_multiple: gboolean,
27014    );
27015    pub fn gtk_recent_chooser_set_show_icons(chooser: *mut GtkRecentChooser, show_icons: gboolean);
27016    pub fn gtk_recent_chooser_set_show_not_found(
27017        chooser: *mut GtkRecentChooser,
27018        show_not_found: gboolean,
27019    );
27020    pub fn gtk_recent_chooser_set_show_private(
27021        chooser: *mut GtkRecentChooser,
27022        show_private: gboolean,
27023    );
27024    pub fn gtk_recent_chooser_set_show_tips(chooser: *mut GtkRecentChooser, show_tips: gboolean);
27025    pub fn gtk_recent_chooser_set_sort_func(
27026        chooser: *mut GtkRecentChooser,
27027        sort_func: GtkRecentSortFunc,
27028        sort_data: gpointer,
27029        data_destroy: glib::GDestroyNotify,
27030    );
27031    pub fn gtk_recent_chooser_set_sort_type(
27032        chooser: *mut GtkRecentChooser,
27033        sort_type: GtkRecentSortType,
27034    );
27035    pub fn gtk_recent_chooser_unselect_all(chooser: *mut GtkRecentChooser);
27036    pub fn gtk_recent_chooser_unselect_uri(chooser: *mut GtkRecentChooser, uri: *const c_char);
27037
27038    //=========================================================================
27039    // GtkScrollable
27040    //=========================================================================
27041    pub fn gtk_scrollable_get_type() -> GType;
27042    pub fn gtk_scrollable_get_border(
27043        scrollable: *mut GtkScrollable,
27044        border: *mut GtkBorder,
27045    ) -> gboolean;
27046    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
27047    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
27048        -> GtkScrollablePolicy;
27049    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
27050    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
27051        -> GtkScrollablePolicy;
27052    pub fn gtk_scrollable_set_hadjustment(
27053        scrollable: *mut GtkScrollable,
27054        hadjustment: *mut GtkAdjustment,
27055    );
27056    pub fn gtk_scrollable_set_hscroll_policy(
27057        scrollable: *mut GtkScrollable,
27058        policy: GtkScrollablePolicy,
27059    );
27060    pub fn gtk_scrollable_set_vadjustment(
27061        scrollable: *mut GtkScrollable,
27062        vadjustment: *mut GtkAdjustment,
27063    );
27064    pub fn gtk_scrollable_set_vscroll_policy(
27065        scrollable: *mut GtkScrollable,
27066        policy: GtkScrollablePolicy,
27067    );
27068
27069    //=========================================================================
27070    // GtkStyleProvider
27071    //=========================================================================
27072    pub fn gtk_style_provider_get_type() -> GType;
27073    pub fn gtk_style_provider_get_icon_factory(
27074        provider: *mut GtkStyleProvider,
27075        path: *mut GtkWidgetPath,
27076    ) -> *mut GtkIconFactory;
27077    pub fn gtk_style_provider_get_style(
27078        provider: *mut GtkStyleProvider,
27079        path: *mut GtkWidgetPath,
27080    ) -> *mut GtkStyleProperties;
27081    pub fn gtk_style_provider_get_style_property(
27082        provider: *mut GtkStyleProvider,
27083        path: *mut GtkWidgetPath,
27084        state: GtkStateFlags,
27085        pspec: *mut gobject::GParamSpec,
27086        value: *mut gobject::GValue,
27087    ) -> gboolean;
27088
27089    //=========================================================================
27090    // GtkToolShell
27091    //=========================================================================
27092    pub fn gtk_tool_shell_get_type() -> GType;
27093    pub fn gtk_tool_shell_get_ellipsize_mode(shell: *mut GtkToolShell)
27094        -> pango::PangoEllipsizeMode;
27095    pub fn gtk_tool_shell_get_icon_size(shell: *mut GtkToolShell) -> GtkIconSize;
27096    pub fn gtk_tool_shell_get_orientation(shell: *mut GtkToolShell) -> GtkOrientation;
27097    pub fn gtk_tool_shell_get_relief_style(shell: *mut GtkToolShell) -> GtkReliefStyle;
27098    pub fn gtk_tool_shell_get_style(shell: *mut GtkToolShell) -> GtkToolbarStyle;
27099    pub fn gtk_tool_shell_get_text_alignment(shell: *mut GtkToolShell) -> c_float;
27100    pub fn gtk_tool_shell_get_text_orientation(shell: *mut GtkToolShell) -> GtkOrientation;
27101    pub fn gtk_tool_shell_get_text_size_group(shell: *mut GtkToolShell) -> *mut GtkSizeGroup;
27102    pub fn gtk_tool_shell_rebuild_menu(shell: *mut GtkToolShell);
27103
27104    //=========================================================================
27105    // GtkTreeDragDest
27106    //=========================================================================
27107    pub fn gtk_tree_drag_dest_get_type() -> GType;
27108    pub fn gtk_tree_drag_dest_drag_data_received(
27109        drag_dest: *mut GtkTreeDragDest,
27110        dest: *mut GtkTreePath,
27111        selection_data: *mut GtkSelectionData,
27112    ) -> gboolean;
27113    pub fn gtk_tree_drag_dest_row_drop_possible(
27114        drag_dest: *mut GtkTreeDragDest,
27115        dest_path: *mut GtkTreePath,
27116        selection_data: *mut GtkSelectionData,
27117    ) -> gboolean;
27118
27119    //=========================================================================
27120    // GtkTreeDragSource
27121    //=========================================================================
27122    pub fn gtk_tree_drag_source_get_type() -> GType;
27123    pub fn gtk_tree_drag_source_drag_data_delete(
27124        drag_source: *mut GtkTreeDragSource,
27125        path: *mut GtkTreePath,
27126    ) -> gboolean;
27127    pub fn gtk_tree_drag_source_drag_data_get(
27128        drag_source: *mut GtkTreeDragSource,
27129        path: *mut GtkTreePath,
27130        selection_data: *mut GtkSelectionData,
27131    ) -> gboolean;
27132    pub fn gtk_tree_drag_source_row_draggable(
27133        drag_source: *mut GtkTreeDragSource,
27134        path: *mut GtkTreePath,
27135    ) -> gboolean;
27136
27137    //=========================================================================
27138    // GtkTreeModel
27139    //=========================================================================
27140    pub fn gtk_tree_model_get_type() -> GType;
27141    pub fn gtk_tree_model_filter_new(
27142        child_model: *mut GtkTreeModel,
27143        root: *mut GtkTreePath,
27144    ) -> *mut GtkTreeModel;
27145    pub fn gtk_tree_model_foreach(
27146        model: *mut GtkTreeModel,
27147        func: GtkTreeModelForeachFunc,
27148        user_data: gpointer,
27149    );
27150    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
27151    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
27152    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
27153    pub fn gtk_tree_model_get_iter(
27154        tree_model: *mut GtkTreeModel,
27155        iter: *mut GtkTreeIter,
27156        path: *mut GtkTreePath,
27157    ) -> gboolean;
27158    pub fn gtk_tree_model_get_iter_first(
27159        tree_model: *mut GtkTreeModel,
27160        iter: *mut GtkTreeIter,
27161    ) -> gboolean;
27162    pub fn gtk_tree_model_get_iter_from_string(
27163        tree_model: *mut GtkTreeModel,
27164        iter: *mut GtkTreeIter,
27165        path_string: *const c_char,
27166    ) -> gboolean;
27167    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
27168    pub fn gtk_tree_model_get_path(
27169        tree_model: *mut GtkTreeModel,
27170        iter: *mut GtkTreeIter,
27171    ) -> *mut GtkTreePath;
27172    pub fn gtk_tree_model_get_string_from_iter(
27173        tree_model: *mut GtkTreeModel,
27174        iter: *mut GtkTreeIter,
27175    ) -> *mut c_char;
27176    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
27177    pub fn gtk_tree_model_get_value(
27178        tree_model: *mut GtkTreeModel,
27179        iter: *mut GtkTreeIter,
27180        column: c_int,
27181        value: *mut gobject::GValue,
27182    );
27183    pub fn gtk_tree_model_iter_children(
27184        tree_model: *mut GtkTreeModel,
27185        iter: *mut GtkTreeIter,
27186        parent: *mut GtkTreeIter,
27187    ) -> gboolean;
27188    pub fn gtk_tree_model_iter_has_child(
27189        tree_model: *mut GtkTreeModel,
27190        iter: *mut GtkTreeIter,
27191    ) -> gboolean;
27192    pub fn gtk_tree_model_iter_n_children(
27193        tree_model: *mut GtkTreeModel,
27194        iter: *mut GtkTreeIter,
27195    ) -> c_int;
27196    pub fn gtk_tree_model_iter_next(
27197        tree_model: *mut GtkTreeModel,
27198        iter: *mut GtkTreeIter,
27199    ) -> gboolean;
27200    pub fn gtk_tree_model_iter_nth_child(
27201        tree_model: *mut GtkTreeModel,
27202        iter: *mut GtkTreeIter,
27203        parent: *mut GtkTreeIter,
27204        n: c_int,
27205    ) -> gboolean;
27206    pub fn gtk_tree_model_iter_parent(
27207        tree_model: *mut GtkTreeModel,
27208        iter: *mut GtkTreeIter,
27209        child: *mut GtkTreeIter,
27210    ) -> gboolean;
27211    pub fn gtk_tree_model_iter_previous(
27212        tree_model: *mut GtkTreeModel,
27213        iter: *mut GtkTreeIter,
27214    ) -> gboolean;
27215    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
27216    pub fn gtk_tree_model_row_changed(
27217        tree_model: *mut GtkTreeModel,
27218        path: *mut GtkTreePath,
27219        iter: *mut GtkTreeIter,
27220    );
27221    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
27222    pub fn gtk_tree_model_row_has_child_toggled(
27223        tree_model: *mut GtkTreeModel,
27224        path: *mut GtkTreePath,
27225        iter: *mut GtkTreeIter,
27226    );
27227    pub fn gtk_tree_model_row_inserted(
27228        tree_model: *mut GtkTreeModel,
27229        path: *mut GtkTreePath,
27230        iter: *mut GtkTreeIter,
27231    );
27232    pub fn gtk_tree_model_rows_reordered(
27233        tree_model: *mut GtkTreeModel,
27234        path: *mut GtkTreePath,
27235        iter: *mut GtkTreeIter,
27236        new_order: *mut c_int,
27237    );
27238    pub fn gtk_tree_model_rows_reordered_with_length(
27239        tree_model: *mut GtkTreeModel,
27240        path: *mut GtkTreePath,
27241        iter: *mut GtkTreeIter,
27242        new_order: *mut c_int,
27243        length: c_int,
27244    );
27245    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
27246
27247    //=========================================================================
27248    // GtkTreeSortable
27249    //=========================================================================
27250    pub fn gtk_tree_sortable_get_type() -> GType;
27251    pub fn gtk_tree_sortable_get_sort_column_id(
27252        sortable: *mut GtkTreeSortable,
27253        sort_column_id: *mut c_int,
27254        order: *mut GtkSortType,
27255    ) -> gboolean;
27256    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
27257    pub fn gtk_tree_sortable_set_default_sort_func(
27258        sortable: *mut GtkTreeSortable,
27259        sort_func: GtkTreeIterCompareFunc,
27260        user_data: gpointer,
27261        destroy: glib::GDestroyNotify,
27262    );
27263    pub fn gtk_tree_sortable_set_sort_column_id(
27264        sortable: *mut GtkTreeSortable,
27265        sort_column_id: c_int,
27266        order: GtkSortType,
27267    );
27268    pub fn gtk_tree_sortable_set_sort_func(
27269        sortable: *mut GtkTreeSortable,
27270        sort_column_id: c_int,
27271        sort_func: GtkTreeIterCompareFunc,
27272        user_data: gpointer,
27273        destroy: glib::GDestroyNotify,
27274    );
27275    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
27276
27277    //=========================================================================
27278    // Other functions
27279    //=========================================================================
27280    pub fn gtk_accel_groups_activate(
27281        object: *mut gobject::GObject,
27282        accel_key: c_uint,
27283        accel_mods: gdk::GdkModifierType,
27284    ) -> gboolean;
27285    pub fn gtk_accel_groups_from_object(object: *mut gobject::GObject) -> *mut glib::GSList;
27286    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
27287    pub fn gtk_accelerator_get_label(
27288        accelerator_key: c_uint,
27289        accelerator_mods: gdk::GdkModifierType,
27290    ) -> *mut c_char;
27291    pub fn gtk_accelerator_get_label_with_keycode(
27292        display: *mut gdk::GdkDisplay,
27293        accelerator_key: c_uint,
27294        keycode: c_uint,
27295        accelerator_mods: gdk::GdkModifierType,
27296    ) -> *mut c_char;
27297    pub fn gtk_accelerator_name(
27298        accelerator_key: c_uint,
27299        accelerator_mods: gdk::GdkModifierType,
27300    ) -> *mut c_char;
27301    pub fn gtk_accelerator_name_with_keycode(
27302        display: *mut gdk::GdkDisplay,
27303        accelerator_key: c_uint,
27304        keycode: c_uint,
27305        accelerator_mods: gdk::GdkModifierType,
27306    ) -> *mut c_char;
27307    pub fn gtk_accelerator_parse(
27308        accelerator: *const c_char,
27309        accelerator_key: *mut c_uint,
27310        accelerator_mods: *mut gdk::GdkModifierType,
27311    );
27312    pub fn gtk_accelerator_parse_with_keycode(
27313        accelerator: *const c_char,
27314        accelerator_key: *mut c_uint,
27315        accelerator_codes: *mut *mut c_uint,
27316        accelerator_mods: *mut gdk::GdkModifierType,
27317    );
27318    pub fn gtk_accelerator_set_default_mod_mask(default_mod_mask: gdk::GdkModifierType);
27319    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
27320    pub fn gtk_alternative_dialog_button_order(screen: *mut gdk::GdkScreen) -> gboolean;
27321    pub fn gtk_bindings_activate(
27322        object: *mut gobject::GObject,
27323        keyval: c_uint,
27324        modifiers: gdk::GdkModifierType,
27325    ) -> gboolean;
27326    pub fn gtk_bindings_activate_event(
27327        object: *mut gobject::GObject,
27328        event: *mut gdk::GdkEventKey,
27329    ) -> gboolean;
27330    pub fn gtk_cairo_should_draw_window(
27331        cr: *mut cairo::cairo_t,
27332        window: *mut gdk::GdkWindow,
27333    ) -> gboolean;
27334    pub fn gtk_cairo_transform_to_window(
27335        cr: *mut cairo::cairo_t,
27336        widget: *mut GtkWidget,
27337        window: *mut gdk::GdkWindow,
27338    );
27339    pub fn gtk_check_version(
27340        required_major: c_uint,
27341        required_minor: c_uint,
27342        required_micro: c_uint,
27343    ) -> *const c_char;
27344    pub fn gtk_device_grab_add(
27345        widget: *mut GtkWidget,
27346        device: *mut gdk::GdkDevice,
27347        block_others: gboolean,
27348    );
27349    pub fn gtk_device_grab_remove(widget: *mut GtkWidget, device: *mut gdk::GdkDevice);
27350    pub fn gtk_disable_setlocale();
27351    pub fn gtk_distribute_natural_allocation(
27352        extra_space: c_int,
27353        n_requested_sizes: c_uint,
27354        sizes: *mut GtkRequestedSize,
27355    ) -> c_int;
27356    pub fn gtk_drag_cancel(context: *mut gdk::GdkDragContext);
27357    pub fn gtk_drag_finish(
27358        context: *mut gdk::GdkDragContext,
27359        success: gboolean,
27360        del: gboolean,
27361        time_: u32,
27362    );
27363    pub fn gtk_drag_get_source_widget(context: *mut gdk::GdkDragContext) -> *mut GtkWidget;
27364    pub fn gtk_drag_set_icon_default(context: *mut gdk::GdkDragContext);
27365    pub fn gtk_drag_set_icon_gicon(
27366        context: *mut gdk::GdkDragContext,
27367        icon: *mut gio::GIcon,
27368        hot_x: c_int,
27369        hot_y: c_int,
27370    );
27371    pub fn gtk_drag_set_icon_name(
27372        context: *mut gdk::GdkDragContext,
27373        icon_name: *const c_char,
27374        hot_x: c_int,
27375        hot_y: c_int,
27376    );
27377    pub fn gtk_drag_set_icon_pixbuf(
27378        context: *mut gdk::GdkDragContext,
27379        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
27380        hot_x: c_int,
27381        hot_y: c_int,
27382    );
27383    pub fn gtk_drag_set_icon_stock(
27384        context: *mut gdk::GdkDragContext,
27385        stock_id: *const c_char,
27386        hot_x: c_int,
27387        hot_y: c_int,
27388    );
27389    pub fn gtk_drag_set_icon_surface(
27390        context: *mut gdk::GdkDragContext,
27391        surface: *mut cairo::cairo_surface_t,
27392    );
27393    pub fn gtk_drag_set_icon_widget(
27394        context: *mut gdk::GdkDragContext,
27395        widget: *mut GtkWidget,
27396        hot_x: c_int,
27397        hot_y: c_int,
27398    );
27399    pub fn gtk_draw_insertion_cursor(
27400        widget: *mut GtkWidget,
27401        cr: *mut cairo::cairo_t,
27402        location: *const gdk::GdkRectangle,
27403        is_primary: gboolean,
27404        direction: GtkTextDirection,
27405        draw_arrow: gboolean,
27406    );
27407    pub fn gtk_events_pending() -> gboolean;
27408    pub fn gtk_false() -> gboolean;
27409    pub fn gtk_get_binary_age() -> c_uint;
27410    pub fn gtk_get_current_event() -> *mut gdk::GdkEvent;
27411    pub fn gtk_get_current_event_device() -> *mut gdk::GdkDevice;
27412    pub fn gtk_get_current_event_state(state: *mut gdk::GdkModifierType) -> gboolean;
27413    pub fn gtk_get_current_event_time() -> u32;
27414    pub fn gtk_get_debug_flags() -> c_uint;
27415    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
27416    pub fn gtk_get_event_widget(event: *mut gdk::GdkEvent) -> *mut GtkWidget;
27417    pub fn gtk_get_interface_age() -> c_uint;
27418    pub fn gtk_get_locale_direction() -> GtkTextDirection;
27419    pub fn gtk_get_major_version() -> c_uint;
27420    pub fn gtk_get_micro_version() -> c_uint;
27421    pub fn gtk_get_minor_version() -> c_uint;
27422    pub fn gtk_get_option_group(open_default_display: gboolean) -> *mut glib::GOptionGroup;
27423    pub fn gtk_grab_get_current() -> *mut GtkWidget;
27424    pub fn gtk_init(argc: *mut c_int, argv: *mut *mut *mut c_char);
27425    pub fn gtk_init_check(argc: *mut c_int, argv: *mut *mut *mut c_char) -> gboolean;
27426    pub fn gtk_init_with_args(
27427        argc: *mut c_int,
27428        argv: *mut *mut *mut c_char,
27429        parameter_string: *const c_char,
27430        entries: *const glib::GOptionEntry,
27431        translation_domain: *const c_char,
27432        error: *mut *mut glib::GError,
27433    ) -> gboolean;
27434    pub fn gtk_key_snooper_install(snooper: GtkKeySnoopFunc, func_data: gpointer) -> c_uint;
27435    pub fn gtk_key_snooper_remove(snooper_handler_id: c_uint);
27436    pub fn gtk_main();
27437    pub fn gtk_main_do_event(event: *mut gdk::GdkEvent);
27438    pub fn gtk_main_iteration() -> gboolean;
27439    pub fn gtk_main_iteration_do(blocking: gboolean) -> gboolean;
27440    pub fn gtk_main_level() -> c_uint;
27441    pub fn gtk_main_quit();
27442    pub fn gtk_paint_arrow(
27443        style: *mut GtkStyle,
27444        cr: *mut cairo::cairo_t,
27445        state_type: GtkStateType,
27446        shadow_type: GtkShadowType,
27447        widget: *mut GtkWidget,
27448        detail: *const c_char,
27449        arrow_type: GtkArrowType,
27450        fill: gboolean,
27451        x: c_int,
27452        y: c_int,
27453        width: c_int,
27454        height: c_int,
27455    );
27456    pub fn gtk_paint_box(
27457        style: *mut GtkStyle,
27458        cr: *mut cairo::cairo_t,
27459        state_type: GtkStateType,
27460        shadow_type: GtkShadowType,
27461        widget: *mut GtkWidget,
27462        detail: *const c_char,
27463        x: c_int,
27464        y: c_int,
27465        width: c_int,
27466        height: c_int,
27467    );
27468    pub fn gtk_paint_box_gap(
27469        style: *mut GtkStyle,
27470        cr: *mut cairo::cairo_t,
27471        state_type: GtkStateType,
27472        shadow_type: GtkShadowType,
27473        widget: *mut GtkWidget,
27474        detail: *const c_char,
27475        x: c_int,
27476        y: c_int,
27477        width: c_int,
27478        height: c_int,
27479        gap_side: GtkPositionType,
27480        gap_x: c_int,
27481        gap_width: c_int,
27482    );
27483    pub fn gtk_paint_check(
27484        style: *mut GtkStyle,
27485        cr: *mut cairo::cairo_t,
27486        state_type: GtkStateType,
27487        shadow_type: GtkShadowType,
27488        widget: *mut GtkWidget,
27489        detail: *const c_char,
27490        x: c_int,
27491        y: c_int,
27492        width: c_int,
27493        height: c_int,
27494    );
27495    pub fn gtk_paint_diamond(
27496        style: *mut GtkStyle,
27497        cr: *mut cairo::cairo_t,
27498        state_type: GtkStateType,
27499        shadow_type: GtkShadowType,
27500        widget: *mut GtkWidget,
27501        detail: *const c_char,
27502        x: c_int,
27503        y: c_int,
27504        width: c_int,
27505        height: c_int,
27506    );
27507    pub fn gtk_paint_expander(
27508        style: *mut GtkStyle,
27509        cr: *mut cairo::cairo_t,
27510        state_type: GtkStateType,
27511        widget: *mut GtkWidget,
27512        detail: *const c_char,
27513        x: c_int,
27514        y: c_int,
27515        expander_style: GtkExpanderStyle,
27516    );
27517    pub fn gtk_paint_extension(
27518        style: *mut GtkStyle,
27519        cr: *mut cairo::cairo_t,
27520        state_type: GtkStateType,
27521        shadow_type: GtkShadowType,
27522        widget: *mut GtkWidget,
27523        detail: *const c_char,
27524        x: c_int,
27525        y: c_int,
27526        width: c_int,
27527        height: c_int,
27528        gap_side: GtkPositionType,
27529    );
27530    pub fn gtk_paint_flat_box(
27531        style: *mut GtkStyle,
27532        cr: *mut cairo::cairo_t,
27533        state_type: GtkStateType,
27534        shadow_type: GtkShadowType,
27535        widget: *mut GtkWidget,
27536        detail: *const c_char,
27537        x: c_int,
27538        y: c_int,
27539        width: c_int,
27540        height: c_int,
27541    );
27542    pub fn gtk_paint_focus(
27543        style: *mut GtkStyle,
27544        cr: *mut cairo::cairo_t,
27545        state_type: GtkStateType,
27546        widget: *mut GtkWidget,
27547        detail: *const c_char,
27548        x: c_int,
27549        y: c_int,
27550        width: c_int,
27551        height: c_int,
27552    );
27553    pub fn gtk_paint_handle(
27554        style: *mut GtkStyle,
27555        cr: *mut cairo::cairo_t,
27556        state_type: GtkStateType,
27557        shadow_type: GtkShadowType,
27558        widget: *mut GtkWidget,
27559        detail: *const c_char,
27560        x: c_int,
27561        y: c_int,
27562        width: c_int,
27563        height: c_int,
27564        orientation: GtkOrientation,
27565    );
27566    pub fn gtk_paint_hline(
27567        style: *mut GtkStyle,
27568        cr: *mut cairo::cairo_t,
27569        state_type: GtkStateType,
27570        widget: *mut GtkWidget,
27571        detail: *const c_char,
27572        x1: c_int,
27573        x2: c_int,
27574        y: c_int,
27575    );
27576    pub fn gtk_paint_layout(
27577        style: *mut GtkStyle,
27578        cr: *mut cairo::cairo_t,
27579        state_type: GtkStateType,
27580        use_text: gboolean,
27581        widget: *mut GtkWidget,
27582        detail: *const c_char,
27583        x: c_int,
27584        y: c_int,
27585        layout: *mut pango::PangoLayout,
27586    );
27587    pub fn gtk_paint_option(
27588        style: *mut GtkStyle,
27589        cr: *mut cairo::cairo_t,
27590        state_type: GtkStateType,
27591        shadow_type: GtkShadowType,
27592        widget: *mut GtkWidget,
27593        detail: *const c_char,
27594        x: c_int,
27595        y: c_int,
27596        width: c_int,
27597        height: c_int,
27598    );
27599    pub fn gtk_paint_resize_grip(
27600        style: *mut GtkStyle,
27601        cr: *mut cairo::cairo_t,
27602        state_type: GtkStateType,
27603        widget: *mut GtkWidget,
27604        detail: *const c_char,
27605        edge: gdk::GdkWindowEdge,
27606        x: c_int,
27607        y: c_int,
27608        width: c_int,
27609        height: c_int,
27610    );
27611    pub fn gtk_paint_shadow(
27612        style: *mut GtkStyle,
27613        cr: *mut cairo::cairo_t,
27614        state_type: GtkStateType,
27615        shadow_type: GtkShadowType,
27616        widget: *mut GtkWidget,
27617        detail: *const c_char,
27618        x: c_int,
27619        y: c_int,
27620        width: c_int,
27621        height: c_int,
27622    );
27623    pub fn gtk_paint_shadow_gap(
27624        style: *mut GtkStyle,
27625        cr: *mut cairo::cairo_t,
27626        state_type: GtkStateType,
27627        shadow_type: GtkShadowType,
27628        widget: *mut GtkWidget,
27629        detail: *const c_char,
27630        x: c_int,
27631        y: c_int,
27632        width: c_int,
27633        height: c_int,
27634        gap_side: GtkPositionType,
27635        gap_x: c_int,
27636        gap_width: c_int,
27637    );
27638    pub fn gtk_paint_slider(
27639        style: *mut GtkStyle,
27640        cr: *mut cairo::cairo_t,
27641        state_type: GtkStateType,
27642        shadow_type: GtkShadowType,
27643        widget: *mut GtkWidget,
27644        detail: *const c_char,
27645        x: c_int,
27646        y: c_int,
27647        width: c_int,
27648        height: c_int,
27649        orientation: GtkOrientation,
27650    );
27651    pub fn gtk_paint_spinner(
27652        style: *mut GtkStyle,
27653        cr: *mut cairo::cairo_t,
27654        state_type: GtkStateType,
27655        widget: *mut GtkWidget,
27656        detail: *const c_char,
27657        step: c_uint,
27658        x: c_int,
27659        y: c_int,
27660        width: c_int,
27661        height: c_int,
27662    );
27663    pub fn gtk_paint_tab(
27664        style: *mut GtkStyle,
27665        cr: *mut cairo::cairo_t,
27666        state_type: GtkStateType,
27667        shadow_type: GtkShadowType,
27668        widget: *mut GtkWidget,
27669        detail: *const c_char,
27670        x: c_int,
27671        y: c_int,
27672        width: c_int,
27673        height: c_int,
27674    );
27675    pub fn gtk_paint_vline(
27676        style: *mut GtkStyle,
27677        cr: *mut cairo::cairo_t,
27678        state_type: GtkStateType,
27679        widget: *mut GtkWidget,
27680        detail: *const c_char,
27681        y1_: c_int,
27682        y2_: c_int,
27683        x: c_int,
27684    );
27685    pub fn gtk_parse_args(argc: *mut c_int, argv: *mut *mut *mut c_char) -> gboolean;
27686    pub fn gtk_print_run_page_setup_dialog(
27687        parent: *mut GtkWindow,
27688        page_setup: *mut GtkPageSetup,
27689        settings: *mut GtkPrintSettings,
27690    ) -> *mut GtkPageSetup;
27691    pub fn gtk_print_run_page_setup_dialog_async(
27692        parent: *mut GtkWindow,
27693        page_setup: *mut GtkPageSetup,
27694        settings: *mut GtkPrintSettings,
27695        done_cb: GtkPageSetupDoneFunc,
27696        data: gpointer,
27697    );
27698    pub fn gtk_propagate_event(widget: *mut GtkWidget, event: *mut gdk::GdkEvent);
27699    pub fn gtk_rc_add_default_file(filename: *const c_char);
27700    pub fn gtk_rc_find_module_in_path(module_file: *const c_char) -> *mut c_char;
27701    pub fn gtk_rc_find_pixmap_in_path(
27702        settings: *mut GtkSettings,
27703        scanner: *mut glib::GScanner,
27704        pixmap_file: *const c_char,
27705    ) -> *mut c_char;
27706    pub fn gtk_rc_get_default_files() -> *mut *mut c_char;
27707    pub fn gtk_rc_get_im_module_file() -> *mut c_char;
27708    pub fn gtk_rc_get_im_module_path() -> *mut c_char;
27709    pub fn gtk_rc_get_module_dir() -> *mut c_char;
27710    pub fn gtk_rc_get_style(widget: *mut GtkWidget) -> *mut GtkStyle;
27711    pub fn gtk_rc_get_style_by_paths(
27712        settings: *mut GtkSettings,
27713        widget_path: *const c_char,
27714        class_path: *const c_char,
27715        type_: GType,
27716    ) -> *mut GtkStyle;
27717    pub fn gtk_rc_get_theme_dir() -> *mut c_char;
27718    pub fn gtk_rc_parse(filename: *const c_char);
27719    pub fn gtk_rc_parse_color(scanner: *mut glib::GScanner, color: *mut gdk::GdkColor) -> c_uint;
27720    pub fn gtk_rc_parse_color_full(
27721        scanner: *mut glib::GScanner,
27722        style: *mut GtkRcStyle,
27723        color: *mut gdk::GdkColor,
27724    ) -> c_uint;
27725    pub fn gtk_rc_parse_priority(
27726        scanner: *mut glib::GScanner,
27727        priority: *mut GtkPathPriorityType,
27728    ) -> c_uint;
27729    pub fn gtk_rc_parse_state(scanner: *mut glib::GScanner, state: *mut GtkStateType) -> c_uint;
27730    pub fn gtk_rc_parse_string(rc_string: *const c_char);
27731    pub fn gtk_rc_reparse_all() -> gboolean;
27732    pub fn gtk_rc_reparse_all_for_settings(
27733        settings: *mut GtkSettings,
27734        force_load: gboolean,
27735    ) -> gboolean;
27736    pub fn gtk_rc_reset_styles(settings: *mut GtkSettings);
27737    pub fn gtk_rc_scanner_new() -> *mut glib::GScanner;
27738    pub fn gtk_rc_set_default_files(filenames: *mut *mut c_char);
27739    pub fn gtk_render_activity(
27740        context: *mut GtkStyleContext,
27741        cr: *mut cairo::cairo_t,
27742        x: c_double,
27743        y: c_double,
27744        width: c_double,
27745        height: c_double,
27746    );
27747    pub fn gtk_render_arrow(
27748        context: *mut GtkStyleContext,
27749        cr: *mut cairo::cairo_t,
27750        angle: c_double,
27751        x: c_double,
27752        y: c_double,
27753        size: c_double,
27754    );
27755    pub fn gtk_render_background(
27756        context: *mut GtkStyleContext,
27757        cr: *mut cairo::cairo_t,
27758        x: c_double,
27759        y: c_double,
27760        width: c_double,
27761        height: c_double,
27762    );
27763    pub fn gtk_render_background_get_clip(
27764        context: *mut GtkStyleContext,
27765        x: c_double,
27766        y: c_double,
27767        width: c_double,
27768        height: c_double,
27769        out_clip: *mut gdk::GdkRectangle,
27770    );
27771    pub fn gtk_render_check(
27772        context: *mut GtkStyleContext,
27773        cr: *mut cairo::cairo_t,
27774        x: c_double,
27775        y: c_double,
27776        width: c_double,
27777        height: c_double,
27778    );
27779    pub fn gtk_render_expander(
27780        context: *mut GtkStyleContext,
27781        cr: *mut cairo::cairo_t,
27782        x: c_double,
27783        y: c_double,
27784        width: c_double,
27785        height: c_double,
27786    );
27787    pub fn gtk_render_extension(
27788        context: *mut GtkStyleContext,
27789        cr: *mut cairo::cairo_t,
27790        x: c_double,
27791        y: c_double,
27792        width: c_double,
27793        height: c_double,
27794        gap_side: GtkPositionType,
27795    );
27796    pub fn gtk_render_focus(
27797        context: *mut GtkStyleContext,
27798        cr: *mut cairo::cairo_t,
27799        x: c_double,
27800        y: c_double,
27801        width: c_double,
27802        height: c_double,
27803    );
27804    pub fn gtk_render_frame(
27805        context: *mut GtkStyleContext,
27806        cr: *mut cairo::cairo_t,
27807        x: c_double,
27808        y: c_double,
27809        width: c_double,
27810        height: c_double,
27811    );
27812    pub fn gtk_render_frame_gap(
27813        context: *mut GtkStyleContext,
27814        cr: *mut cairo::cairo_t,
27815        x: c_double,
27816        y: c_double,
27817        width: c_double,
27818        height: c_double,
27819        gap_side: GtkPositionType,
27820        xy0_gap: c_double,
27821        xy1_gap: c_double,
27822    );
27823    pub fn gtk_render_handle(
27824        context: *mut GtkStyleContext,
27825        cr: *mut cairo::cairo_t,
27826        x: c_double,
27827        y: c_double,
27828        width: c_double,
27829        height: c_double,
27830    );
27831    pub fn gtk_render_icon(
27832        context: *mut GtkStyleContext,
27833        cr: *mut cairo::cairo_t,
27834        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
27835        x: c_double,
27836        y: c_double,
27837    );
27838    pub fn gtk_render_icon_pixbuf(
27839        context: *mut GtkStyleContext,
27840        source: *const GtkIconSource,
27841        size: GtkIconSize,
27842    ) -> *mut gdk_pixbuf::GdkPixbuf;
27843    pub fn gtk_render_icon_surface(
27844        context: *mut GtkStyleContext,
27845        cr: *mut cairo::cairo_t,
27846        surface: *mut cairo::cairo_surface_t,
27847        x: c_double,
27848        y: c_double,
27849    );
27850    pub fn gtk_render_insertion_cursor(
27851        context: *mut GtkStyleContext,
27852        cr: *mut cairo::cairo_t,
27853        x: c_double,
27854        y: c_double,
27855        layout: *mut pango::PangoLayout,
27856        index: c_int,
27857        direction: pango::PangoDirection,
27858    );
27859    pub fn gtk_render_layout(
27860        context: *mut GtkStyleContext,
27861        cr: *mut cairo::cairo_t,
27862        x: c_double,
27863        y: c_double,
27864        layout: *mut pango::PangoLayout,
27865    );
27866    pub fn gtk_render_line(
27867        context: *mut GtkStyleContext,
27868        cr: *mut cairo::cairo_t,
27869        x0: c_double,
27870        y0: c_double,
27871        x1: c_double,
27872        y1: c_double,
27873    );
27874    pub fn gtk_render_option(
27875        context: *mut GtkStyleContext,
27876        cr: *mut cairo::cairo_t,
27877        x: c_double,
27878        y: c_double,
27879        width: c_double,
27880        height: c_double,
27881    );
27882    pub fn gtk_render_slider(
27883        context: *mut GtkStyleContext,
27884        cr: *mut cairo::cairo_t,
27885        x: c_double,
27886        y: c_double,
27887        width: c_double,
27888        height: c_double,
27889        orientation: GtkOrientation,
27890    );
27891    pub fn gtk_rgb_to_hsv(
27892        r: c_double,
27893        g: c_double,
27894        b: c_double,
27895        h: *mut c_double,
27896        s: *mut c_double,
27897        v: *mut c_double,
27898    );
27899    pub fn gtk_selection_add_target(
27900        widget: *mut GtkWidget,
27901        selection: gdk::GdkAtom,
27902        target: gdk::GdkAtom,
27903        info: c_uint,
27904    );
27905    pub fn gtk_selection_add_targets(
27906        widget: *mut GtkWidget,
27907        selection: gdk::GdkAtom,
27908        targets: *const GtkTargetEntry,
27909        ntargets: c_uint,
27910    );
27911    pub fn gtk_selection_clear_targets(widget: *mut GtkWidget, selection: gdk::GdkAtom);
27912    pub fn gtk_selection_convert(
27913        widget: *mut GtkWidget,
27914        selection: gdk::GdkAtom,
27915        target: gdk::GdkAtom,
27916        time_: u32,
27917    ) -> gboolean;
27918    pub fn gtk_selection_owner_set(
27919        widget: *mut GtkWidget,
27920        selection: gdk::GdkAtom,
27921        time_: u32,
27922    ) -> gboolean;
27923    pub fn gtk_selection_owner_set_for_display(
27924        display: *mut gdk::GdkDisplay,
27925        widget: *mut GtkWidget,
27926        selection: gdk::GdkAtom,
27927        time_: u32,
27928    ) -> gboolean;
27929    pub fn gtk_selection_remove_all(widget: *mut GtkWidget);
27930    pub fn gtk_set_debug_flags(flags: c_uint);
27931    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
27932    pub fn gtk_show_uri(
27933        screen: *mut gdk::GdkScreen,
27934        uri: *const c_char,
27935        timestamp: u32,
27936        error: *mut *mut glib::GError,
27937    ) -> gboolean;
27938    pub fn gtk_show_uri_on_window(
27939        parent: *mut GtkWindow,
27940        uri: *const c_char,
27941        timestamp: u32,
27942        error: *mut *mut glib::GError,
27943    ) -> gboolean;
27944    pub fn gtk_stock_add(items: *const GtkStockItem, n_items: c_uint);
27945    pub fn gtk_stock_add_static(items: *const GtkStockItem, n_items: c_uint);
27946    pub fn gtk_stock_list_ids() -> *mut glib::GSList;
27947    pub fn gtk_stock_lookup(stock_id: *const c_char, item: *mut GtkStockItem) -> gboolean;
27948    pub fn gtk_stock_set_translate_func(
27949        domain: *const c_char,
27950        func: GtkTranslateFunc,
27951        data: gpointer,
27952        notify: glib::GDestroyNotify,
27953    );
27954    pub fn gtk_target_table_free(targets: *mut GtkTargetEntry, n_targets: c_int);
27955    pub fn gtk_target_table_new_from_list(
27956        list: *mut GtkTargetList,
27957        n_targets: *mut c_int,
27958    ) -> *mut GtkTargetEntry;
27959    pub fn gtk_targets_include_image(
27960        targets: *mut gdk::GdkAtom,
27961        n_targets: c_int,
27962        writable: gboolean,
27963    ) -> gboolean;
27964    pub fn gtk_targets_include_rich_text(
27965        targets: *mut gdk::GdkAtom,
27966        n_targets: c_int,
27967        buffer: *mut GtkTextBuffer,
27968    ) -> gboolean;
27969    pub fn gtk_targets_include_text(targets: *mut gdk::GdkAtom, n_targets: c_int) -> gboolean;
27970    pub fn gtk_targets_include_uri(targets: *mut gdk::GdkAtom, n_targets: c_int) -> gboolean;
27971    pub fn gtk_test_create_simple_window(
27972        window_title: *const c_char,
27973        dialog_text: *const c_char,
27974    ) -> *mut GtkWidget;
27975    pub fn gtk_test_create_widget(
27976        widget_type: GType,
27977        first_property_name: *const c_char,
27978        ...
27979    ) -> *mut GtkWidget;
27980    pub fn gtk_test_display_button_window(
27981        window_title: *const c_char,
27982        dialog_text: *const c_char,
27983        ...
27984    ) -> *mut GtkWidget;
27985    pub fn gtk_test_find_label(
27986        widget: *mut GtkWidget,
27987        label_pattern: *const c_char,
27988    ) -> *mut GtkWidget;
27989    pub fn gtk_test_find_sibling(base_widget: *mut GtkWidget, widget_type: GType)
27990        -> *mut GtkWidget;
27991    pub fn gtk_test_find_widget(
27992        widget: *mut GtkWidget,
27993        label_pattern: *const c_char,
27994        widget_type: GType,
27995    ) -> *mut GtkWidget;
27996    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
27997    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
27998    pub fn gtk_test_register_all_types();
27999    pub fn gtk_test_slider_get_value(widget: *mut GtkWidget) -> c_double;
28000    pub fn gtk_test_slider_set_perc(widget: *mut GtkWidget, percentage: c_double);
28001    pub fn gtk_test_spin_button_click(
28002        spinner: *mut GtkSpinButton,
28003        button: c_uint,
28004        upwards: gboolean,
28005    ) -> gboolean;
28006    pub fn gtk_test_text_get(widget: *mut GtkWidget) -> *mut c_char;
28007    pub fn gtk_test_text_set(widget: *mut GtkWidget, string: *const c_char);
28008    pub fn gtk_test_widget_click(
28009        widget: *mut GtkWidget,
28010        button: c_uint,
28011        modifiers: gdk::GdkModifierType,
28012    ) -> gboolean;
28013    pub fn gtk_test_widget_send_key(
28014        widget: *mut GtkWidget,
28015        keyval: c_uint,
28016        modifiers: gdk::GdkModifierType,
28017    ) -> gboolean;
28018    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
28019    pub fn gtk_tree_get_row_drag_data(
28020        selection_data: *mut GtkSelectionData,
28021        tree_model: *mut *mut GtkTreeModel,
28022        path: *mut *mut GtkTreePath,
28023    ) -> gboolean;
28024    pub fn gtk_tree_set_row_drag_data(
28025        selection_data: *mut GtkSelectionData,
28026        tree_model: *mut GtkTreeModel,
28027        path: *mut GtkTreePath,
28028    ) -> gboolean;
28029    pub fn gtk_true() -> gboolean;
28030
28031}